Chapter 6. System Design and Operations
Having introduced a system-level view of the microservice architecture and architectural perspective of the value proposition, as well as design considerations, it’s time to discuss aspects of runtime, operational management of a microservice architecture. The benefits of adopting a microservice architecture don’t necessarily come free—they can shift complexity into operations. Generally speaking, teams adopting a microservice architecture are expected to have a certain level of infrastructure automation and operational maturity to be successful. Let’s see what this means in practical terms.
In this chapter we will review key concepts of microservice operations such as independent deployability, the role of containers in cost-efficient deployments, and specifically, what role Docker can play in microservices, service discovery, security, routing, transformation, and orchestration. Taken together, discussions of these topics, in the context, will give you a solid foundation for understanding, designing, and executing on microservice architecture’s operational needs.
One of the core principles of the microservice architectural style is the principle of independent deployability—i.e., each microservice must be deployable completely independent of any other microservice. Some of the most important benefits of the architectural style rely on faithful adherence to this principle.
Independent deployability allows us to ...