https://renegadeotter.com/2023/09/10/death-by-a-thousand-microservices.html
While #microservices have their place in this world - I personally feel they are one technology which have been greatly mis-understood. Microservices has always been a people problem - having hundreds of engineers working on a single codebase slows down the pace of development. However most folks now days opt for microservices just to have the the keyword on their CVs.
My favourite part of this blog post is how the strong funding culture has lead to this obsession with complexity:
"What do you do when you are flush with venture capital? You don’t go for revenue, surely! On more than one occasion I received an email from management, asking everyone to be in the office, tidy up their desks and look busy, as a clouder of Patagonia vests was about to be paraded through the office. Investors needed to see explosive growth, but not in profitability, no. They just needed to see how quickly the company could hire ultra-expensive software engineers to do … something.
And now that you have these developers, what do you do with them? Well, they could build a simpler system that is easier to grow and maintain, or they could conjure up a monstrous constellation of “microservices” that no one really understands. Microservices - the new way of writing scalable software! Are we just going to pretend that the concept of “distributed systems” never existed?"
At the end of the day - there is no alternative to simplicity. Another section shared by the author:
"I love referring to this summary of 5 years of startup audits, as it is packed with common-sense conclusions:
… the startups we audited that are now doing the best usually had an almost brazenly ‘Keep It Simple’ approach to engineering. Cleverness for cleverness sake was abhorred. On the flip side, the companies where we were like ”woah, these folks are smart as hell” for the most part kind of faded.
Generally, the major foot-gun that got a lot of places in trouble was the premature move to microservices, architectures that relied on distributed computing, and messaging-heavy designs.
Literally - “complexity kills”.