Microservices – Challenges of Monolithic Architecture

Deployment

You are required to redeploy the entire application on each modification.
Continuous deployment is difficult.

Complexity

This simple approach has a limitation in size and complexity.
Application is too large and complex to fully understand and made changes fast and correctly.
Impact of a change is usually not very well understood which leads to do extensive manual testing.

Performance

The size of the application can slow down the application start-up time.

Scaling

Monolithic applications can also be difficult to scale when different modules have conflicting resource requirements.

Reliability

Another problem with monolithic applications is reliability. Bug in any module (e.g. memory leak) can potentially bring down the entire process. Moreover, since all instances of the application are identical, that bug will impact the availability of the entire application.

Adopting New Technologies

Monolithic applications face lot many problems towards adopting new technologies. Since changes in frameworks or languages will affect an entire application it is extremely expensive in both time and cost.

Author: Mahesh

Technical Lead with 10 plus years of experience in developing web applications using Java/J2EE and web technologies. Strong in design and integration problem solving skills. Ability to learn, unlearn and relearn with strong written and verbal communications.