Comment by hedora
1 day ago
The counterargument to this point is also incredibly weak: It forces you to have clean interfaces to your functions, and to think about where the application state lives, and how it's passed around inside your application.
That's equivalent to paying attention in software engineering 101. If you can't get those things right on one machine, you're going to be in world of hurt dealing with something like lambda.
I'd say the real advantage is that if you need to change it you don't have to deploy your monolith. Of course, the relative benefit of that is situationally dependent, but I was recently burned by a team that built a new replication handler we needed into their monolith, and every time it had a bug, and the monolith only got deployed once a week. I begged them to put it into a lambda but every week was "we'll get it right next week", for months. So it does happen.
That’s orthogonal to microservices. They could deploy the monolith multiple times a day.
Of course, that’d require CI, which clearly wasn’t working well in your example.
Correct. It's orthogonal in an ideal world, but in a real world where there's tech debt and competing priorities, it can very much come into play.