When you’re working on a monolithic system and automate tests for it — which you’re supposed to — the time it takes to run the whole suite grows proportionally with the size of the system. In a significantly large system, the whole run might take many hours or a few days to complete.
From time to time, I meet people that claim they do microservices. Since I’m interested to hear more real world experiences, I dig deeper by asking technical questions. And pretty often I learn that even though they have multiple microservices, they all use the same database.
In a monolithic system, it’s too easy to integrate with code from another part of the system. It simplifies initial development but leads to a big ball of mud that’s very hard to maintain.
When you have a monolithic system of any significant size, it’s likely different parts of it require different types of resources to function optimally. Some parts are CPU intensive, while other parts are RAM intensive. It’s possible that there’s at least one part that would greatly benefit from using GPUs for some intensive computational processing.
There are valid reasons most developers don’t like working with old or outdated technology.