What are microservices?
Microservice architectures allow each module that makes up a solution to be scaled independently from the others to achieve the maximum throughput with minimal cost. In fact, scaling whole systems instead of their current bottlenecks inevitably results in a remarkable waste of resources, so fine-grained control of subsystem scaling has a considerable impact on the system's overall cost.
However, microservices are more than scalable components – they are software building blocks that can be developed, maintained, and deployed independently of each other. Splitting development and maintenance among modules that can be independently developed, maintained, and deployed improves the overall system's CI/CD cycle (the CI/CD concept was explained in more detail in the Organizing your work using Azure DevOps section in Chapter 3, Documenting Requirements with Azure DevOps).
The CI/CD improvement is due to microservice independence because it...