Interest in microservice architecture is exploding because of the increased agility demonstrated by several leading companies that use it.
“When you look at companies like Amazon, Netflix and Hootsuite, you have to ask how these people stay ahead of the curve when others are struggling to meet the demands of new deadlines,” said Jim Love, CIO of ITWC and host of the recent webinar, How Microservice Architectures Deliver the Agility that Corporations Need.
What these companies have in common, said Love, is they’ve embraced microservices. “It’s the zen of design these days to really incorporate user experience in what we do.”
What is microservice architecture?
“Microservice architecture is agile software architecture,” said Matt McLarty, vice president, API academy with CA Technologies.
Rather than the monolithic applications that put all of the functionality into a single process, microservices break things apart into separate services that work together. The problem with the monolithic approach, said McLarty, is that it becomes so large and complex, even the developers can’t understand their own system.
Microservice architecture represents a progression from the agile and DevOps movement which seeks to streamline internal company processes to provide a better customer experience. Agile and DevOps concepts promote faster software development and smaller teams. However, companies also need to build systems to support the speed and quality of this approach, said McLarty. Breaking the functionality down into discrete components is “a big driver that enables continuous delivery,” he added.
An architecture comprised of smaller services produces big results. McLarty quoted Werner Vogels, Amazon’s chief technology officer who described the benefits for his company. “We can scale our operation independently, maintain unparalleled system availability and introduce new services quickly without the need for massive reconfiguration.”
It’s “speed and safety at scale,” said McLarty. “This, to us, is the mantra of microservices.”
Where to start
McLarty suggests that companies take a design-based approach to microservices.
The first step is to determine your goals and how progress will be measured. Companies should consider their biggest pain points and their most important business areas,” said McLarty. By doing so, they can select a domain and focus on breaking it into its service elements.
The technology foundation has to employ cloud. “It’s the only way to be nimble enough to deploy components and to scale, as needed,” explained McLarty. APIs will also be necessary to understand the overall system “without having to get into the guts of each component.”
Finally, said McLarty, companies must review whether their organization and culture will support the new process. “You need to do more than change your architecture. You need to change your team.”
Companies will get greater benefit with an iterative culture. “We’re not looking for those big bang releases, but smaller more iterative ones,” McLarty said. He also noted that although there is a big emphasis on small, autonomous teams, every successful company has cross-functional teams to connect the dots. As an example, he said that Hootsuite reduced its development teams to five to seven people, but it also had a cross-functional guild and a central platform team to provide support.
This shift to a microservice architecture and culture will make you more agile, said McLarty, but “you can’t overlook the inspirational value. People feel liberated by this. It’s okay to use this new movement to inspire organizations to do new things.”