Summary
In this chapter, we described both the monolithic and microservices architectures. We started by presenting the monolithic architecture and how it tends to be a "default architecture," generated organically as an application is designed. Monoliths are created as unitary blocks that contain all the code within a single block.
In comparison, the microservices architecture divides the functionality of the whole application into smaller parts so that they can be worked in parallel. For this strategy to work, it needs to define clear boundaries and document how to interconnect the different services. Compared with the monolithic architecture, microservices aim to generate more structured code and control big code bases by dividing them into smaller, more manageable systems.
We discussed what the best architecture is and how to choose whether to design a system as a monolith or as microservices. Each approach has its pros and cons, but in general, systems start...