Scaling microservices
In general, scaling is the ability of a system to process more workload while maintaining performance. For microservices, this means that when the number of users expands, scaling ensures the microservices still perform as expected.
Technically, scaling means (dynamically) adding the capacity of resources like available memory, processors, and network bandwidth for microservices. Therefore, scaling is primarily the domain of the system administrator. However, developers should have conceptual knowledge of scaling methods and know about scaling solutions to work with system administrators and ensure the smooth running of microservices.
Systems administrators can either scale horizontally or vertically. In this subsection, we’ll explore these methods and look at solutions to scale containerized microservices. We’ll start with horizontal and vertical scaling. Next, we’ll look at Docker Swarm and Kubernetes as scaling solutions.