turnoff.us (credits)
Completely unrealistic. The monolith is not retiring, it’s just getting stuffed into a docker image and saying “Hello, fellow micro services!”, while achieving a fraction of the old uptime because you’re also trying to run Oracle or MSSQL on AWS using EBS as the underlying storage, and none of those components were designed for that use case.
Maybe an unpopular opinion, but I think if you’re not sure if you need microservices, then you don’t need microservices. I’ve had to clean up too many overengineered systems to be convinced otherwise.
I’ve worked on projects where microservices are a godsend. I’ve also worked on a 12-endpoint REST API atop a SQL database and an Elasticsearch instance serving 500 internal users that somebody had engineered into 8 microservices because management thought microservices were the future. Real mixed bag.
That’s fair. I think they’re are definitely systems where micro services are the best choice, but also that they are way over used or implemented too early. Too often it seems service boundaries follow the organization and not the domain model, because they only exist so multiple teams don’t have to talk to each other as often. I guess I’m saying there are more incorrect ways of doing micro services than correct ways.
The worst I’ve seen though have been a single developer over engineering a system because they thought it was cool, but we replaced it with a simple batch script.
It’s going to be a mess regardless. The monolith is just tangled at a different layer. The only way to avoid a tangled mess is to incentivize proper engineering, and everyone is incentivizing time to market and delivery of barely working features, which are the antithesis of proper engineering.
Everywhere I’ve worked that did micro services it was kind of a pain. One of the places I’ve worked had a simple monolith backend and it was great.
My current hell at work summarized in one image



