Monolithic Architecture
In a monolithic architecture, the entire application is built as a single, tightly integrated unit. All components, modules, and functionalities are part of a single codebase and run within the same process. As an alternative to this architecture design, we can find service-oriented architecture (SOA) such as microservices.
Principles
-
Developers can easily share code between modules and functionalities, but development and maintenance can be difficult as the application grows. Understanding the entire codebase can become increasingly difficult
-
Scaling can be a challenge, as entire application needs to be scaled to support extra load of a single component.
-
Are built using a single technology stack and database. Any changes or updates of technology affects entire application.
-
Deploying changes to a monolithic application often requires updating the entire application, which can lead to longer deployment times and potential disruptions.
-
Low fault tolerance and resilience, a single component it can potentially bring down the entire application.