Where do some of the problems come from? The monolith.
Web applications have for many years been built as a three tier or three layers architecture system. The frontend (UI), the backend (business logic) and the data layer (data access and storage).
When I talk about this at conferences, I like to reference additional layers: the infrastructure layer, or the supporting foundation to all, and breaking down the databases layer into data storage and data access.
Some of the problems that arise from tightly coupled applications are:
- Slow time to value
- Inability to introduce innovation
- Technical debt and bloat
- Runtime performance degradation
It comes to a point where maintaining and further developing a monolith that serves multiple business units, becomes a slow process, and it becomes increasingly difficult to introduce new features and innovations.