Monolithic Architecture
what is monolithic architecture
Monolithic applications are created as a single massive codebase that contains all components of a project like- frontend, backend, and configuration. As the word "mono" itself says single. monolith applications are faster to create, and deploy in comparison to the application created using a microservices architecture. On the other hand, monoliths may suffer from a lack of scalability and the limitations of maintenance of a gigantic code base as it grows when the application expands in size.
Disadvantages-
Difficult to manage as it grows in size with time.
for a very small change in the application, we have to redeploy the whole code base.
for a member who joins the team, he/she has to understand the whole codebase even if the task is related to the single functionality of the application.
even if a single is facing an issue like load/traffic, then we need to redeploy the instance of entire applications on multiple servers which is very inefficient and takes a lot of resources unnecessarily. since horizontal scaling is not feasible in the monolith.
it is not very reliable, a single bug in any module crash all the other modules of the application because all the modules are interdependent that's why your will crash.
Advantages-
simple to develop.
easier to deploy.
single security management or we can say centralized security management.
the problem of network latency is less in comparison to microservices.
developers need not learn many applications they have to focus on only one.
testing is easier as here we have to test the single code base.