• Designed, developed, and deployed as a single unit.
• Overwhelmingly complex for most of the real-world business use cases, which leads to nightmares in
maintaining, upgrading, and adding new features.
• It’s hard to practice Agile development and delivery methodologies. Since the application has to be built as a
single unit, most of the business capabilities that it offers cannot have their own lifecycles.
• You must redeploy the entire application in order to update any part of it.
• As the monolithic app grows, it may take longer and longer to start up, which adds to the overall cost.
• It has to be scaled as a single application and is difficult to scale with conflicting resource requirements.
• One unstable service can bring the whole application down.
• It’s very difficult to adopt new technologies and frameworks, as all the functionalities have to build on
homogeneous technologies/frameworks.
https://www.sciencedirect.com/topics/agricultural-and-biological-sciences/monolith