Microservices are a bad pattern. Function as a service is better, because that architecture tends to assume vertical integration within the function and you can leverage a shared business logic library across an organization. Having service-to-service communication is the thing that makes microservices suck, if you can give people autonomy while having a shared systems language and keeping computation on one system it works ok.
Nah, I’ll agree with parent: they’re objectively bad. They turn what could be IPC into network calls, and because everything uses frameworks and ORMs, it’s all slow as hell.
“We can move faster” (but at the cost of our product being slower).
I keep seeing this implication that microservices somehow allow teams to move faster, but every company I've seen them at has moved at a snails pace mostly because of the clusterfuck of microservices. What would've been a trivial change in a monolith became a cross-team nightmare.
Because, as I said in a previous post, they are adopted as a technical rather than organizational solution. Which means that either these organizations adopted the wrong technological solution for their problem without really understanding it, or that they should've tackled their organizational issues instead which could've been unrelated from microservices being the actual solution.
Gonna give you an example.
Dazn, the european sports streaming service unicorn, adopted both microservices and microfrontends as an organizational solution: they had multiple teams across different offices in the world, and this posed a lot of organizational strains.
There's a series of talks (he mostly focuses on micro frontends, but the concepts are the same) on Youtube from Luca Mezzalira (principal serverless engineer at AWS, previous chief architect of Dazn) on the topic, and he does *not* shy away from the idea of micro services and micro frontends being a subpar technical solution more often than not.
But sure, if you adapt micro services because you don't know what you're doing and you're not understanding the engineering difficulties, then you're shooting yourself in the foot and I've seen the very same phenomenon you describe: short-term velocity gains with long term penalties.