Chapter 10. Strangling Monoliths

Microservices have been increasingly adopted by many organizations to better address their software needs. Microservices encapsulate different parts of the application as independently deployable units that contain their own application logic, data, and more. After the term “microservices” appeared, previous systems or architectures developed were labeled as “monoliths.” Unfortunately, the term monolith gained a bad connotation because these systems are often considered to be legacy systems or Big Balls of Mud. Developing a system using the monolith architecture style is not necessarily a bad design decision or an anti-pattern. Sometimes it is the right choice. Building any kind of a Distributed Architecture can be very difficult and has many challenges. A well-designed Modular Monolith is often the best choice for organizations, especially when starting a new project.

Typically, a monolithic application is packaged as a single deployment file that runs on ...

Get Cloud Application Architecture Patterns now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.