Software has emerged as the critical differentiator in every industry, from financial services to fashion, as “technology first” startups disrupt global markets.
To stay alive, some of the biggest global enterprises we know are making a radical change in how they build and deliver software. The new model is called microservices, an approach where large applications are broken down into small, loosely coupled and composable autonomous pieces.
Microservices have four main benefits:
- Agility. By breaking down functionality to the near atomic level and abstracting it, development teams can focus on only updating the relevant pieces of an application. This removes a painful process of integration experienced with monolithic applications. Development processes that used to take months can now take only weeks.
- Efficiency. A thoughtful approach to microservices can result in far more efficient use of code and underlying infrastructure. Users report significant cost savings—in some cases reducing the amount of infrastructure required to run a given application by 50%.
- Resiliency. The dispersion of functionality across services should result in no single point of failure. The result is systems that perform much better with very limited downtime and can scale seamlessly on demand.
- Revenue. Faster iteration and less downtime add up to more revenue. User retention and user engagement increase as your product continuously improves.
The concept of microservices is not new. Google Inc., Amazon.com Inc. and Facebook Inc. have been running microservices for over a decade. In fact, every time you search for a term on Google, it calls out to roughly 70 microservices before it returns your results.
Enterprises tried to replicate this with an approach called “service-oriented-architecture” that largely failed because the right building blocks for mass adoption were not yet in place. The three main building blocks that were needed are now established, and together,they are making the benefits of microservices available to all:
- Containers. Akin to how containers transformed the shipping industry, software containers have created a standardized frame for all services. This standardization simplifies what was once a painful integration process in a heterogeneous infrastructure world. Docker has spurred a revolution in how developers around the world build and deploy applications with containers.
- APIs. The rapid adoption of APIs has created a standardized format for communications.
- Scalable cloud infrastructure. Cloud infrastructure, whether private or public, delivers the resources needed on demand to scale and operate services effectively.