Monolithic applications are not so bad actually
Monolithic applications have a lot of advantages over microservices ones. For example:
- Strong reference check accross the whole system.
- Tooling and compiler support for system wide refactoring
- Easy debugging
- Easy to trace through call chains to understand system behavior
What might be bad
- difficult to enforce architecture discipline(e.g. horizontal partitioning). Withing a monolithic application, horizontal partitioning needs human discipline, it would be a lot easier if reference between partitions are technically not possible.
- difficult to adopt different technology stack
- difficult to adopt different architecture design in different part of system.
- difficult to scale
Written on December 14, 2017