Splitting up the monolith
The final aspect of refactoring that we will discuss is moving from a monolith to a microservice architecture. While there are examples of large companies that successfully operate using a monolithic architecture, the consensus in the technical community is that a microservice architecture is easier to scale and maintain, particularly when working across multiple teams. It is therefore important to discuss some of the basics of how and when to split up a service during refactoring.
What is a monolithic application?
A monolithic application is a single application that is built and released in one unit. The term is typically used to refer to a large application, with many different responsibilities that serve many different user journeys.
Figure 7.5 depicts some of the advantages and disadvantages of monolithic applications:
Figure 7.5 – Pros and cons of monolithic applications
The list of pros and cons of monolithic...