Advantages and Disadvantages of Monolithic Architecture
Benefits of going for Monolith Architecture
- Simple for development(becoz all are available in single project): At initial time it is very easy.
- Easy for Testing : End to End Testing we can perform.
- Easy for deployment : One war file only we have to deploy to server.
- Easy for Scaling : multiple server we can spin easily(horizontal/vertical scaling) if requests increases then we can make keep multiple servers through which the scaling can be done to provide good responses to the client.
Disadvantages of Monolith Architecture
- Maintenance of the application: If the application is to large and complex, it is difficult to understand. Change Request in the code is very difficult. Some changes in the existing application will have an impact to the other code, Lot of Impact Analysis will occur.
- Adapting to New Technology is required: Change in java version and adapting to the version change also will take time. Application start up will take more time becoz it is a fatty war file.
- Reliability : If one components has a bug, it leads to application bug and entire application will go down.
- If we make some changes to the code, we need to redeploy the entire application to the server which is time consuming.
- Adapting to new version of framework and releasing the quick release is very difficult.
- New Team members can't understand the project easily because of lack of Impact analysis and less exposure to project.
To resolve the above mentioned disadvantages we need to opt for an Architecture called "Microservices".
Comments
Post a Comment