Richard Li / March 16, 2017
Organizations are adopting microservices to improve agility and development velocity. How does microservices improve agility and velocity?
Each microservice is built and maintained by small, independent teams. Each team makes its own decisions on release, architecture, implementation, testing, and more. This decouples the service from organizational-level decisions, improving velocity. For example, a microservice team decides when to release an update to the service -- independent of the rest of the organization.
Teams make very frequent, incremental changes to microservices, taking advantage of cloud delivery. This reduces the time spent on abstract design and discussion, and increases the time spent on real-world implementation and feedback.
These are the two fundamental factors in how microservices improve agility and velocity ... and these factors are workflow changes, and not architectural changes.
Microservices is about workflow
Successful adoption of microservices requires organizations to invest in a powerful workflow that enables:
- self-service teams. If a team needs help from other teams to deliver a microservice, the team is no longer independent.
- very frequent, incremental changes. If making a change to a microservice is an expensive operation, the ability to focus on real-world experimentation is compromised.
Building a microservices workflow
There are two aspects to building a microservices workflow for your organization.
The operational infrastructure. Typically, an operations or platform engineering team builds and maintains this infrastructure. In this guide, we walk through the components of an operational infrastructure for microservices built around Kubernetes for your core infrastructure, Docker for deployment, and Envoy for managing your traffic.
Your development workflow. Each developer or development team develops their own workflow on top of the operational platform. In the development section of the guide, we walk through patterns for a development workflow built on top of this infrastructure.