Innovate or Die: The Rise of Microservices
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.
IT infrastructure divides like a cell every time a new standard of abstraction is universally adopted. Each successful iteration has brought with it a new era of computing where time to value decreased, cost of development decreased and a new set of large market cap companies were born.
The LAN enabled the division to client/server; the Internet brought Web services and SaaS; virtualization extended the power within our own data centers; and mobile made services accessible from virtually anywhere.
At each stage, a full landscape of tools and platforms rises. For microservices, we see it happening with companies like Docker, Mesosphere, Nginx and Confluent leading the charge. They have emerged as the leaders by creating the products and services that help enterprises adopt this model.
Every transformation comes with challenges. Embracing microservices requires significant planning and coordination by your development team. Rigor must be in place to make sure there is not a sprawl of duplicative services being created by developers on the fly. Quality is important as a developer must expect similar levels of performance across services. Connective tissue that manages the access and flow of information across services becomes paramount. In this model, the relationships across services are often as important as the services themselves.
The adopters we speak to today, like GE, Hewlett Packard Co., Equinix Inc., PayPal Holdings Inc., Capital One Financial Corp., Goldman Sachs Group Inc., Airbnb Inc., Medallia, Square Inc. and Xoom Corp. say it is well worth the tradeoff. The benefits far outweigh the costs. As more companies move to this model, better tools will emerge to help manage the growing complexity.
Most tellingly, we see developers voting with their feet. Developers use whatever best helps them get their job done. In today’s innovation environment, that means tools and platforms for microservices. As said by a VP of Engineering at one of our larger portfolio companies, “Microservices makes us so much faster. If we don’t innovate as quickly as our competitors, we will die.”
Sequoia hosted a Microservices Summit in January, 2016. Here are the best practices from the event.