I really loved serverless for while, particularly in the early days, when building small projects. But AWS Lambdas, for example, is constant maintenance hell for larger applications, including building and dependency issues, debugging and slow deployment.

One feat is still amazes me - my AWS Lambda React webapp example (Todo with server rendering) which were deployed in 2019, still works as today, and I have not changed, or redeployed it since.

> AWS Lambdas, for example, is constant maintenance hell for larger applications, including building and dependency issues, debugging and slow deployment.

Maintenance hell is a symptom of the frameworks in use, not Lambda. If you’re using stable tools, you can go years before doing a 5 minute runtime update and then go years.

Debugging and deployment speed are a stronger argument - the best balance I’ve found is to mandate modular design and local development so developers can work locally except when they are troubleshooting environmental interactions. Framework complexity also matters here - if you’re deploying a heavyweight app using AWS SAM your deployments will be at least 1-2 orders of magnitude slower than a simple Lambda.

Why is it a maintenance hell? You mention your app runs unchanged for six years now.

Lambdas do require runtime updates. This means nothing happens for a relatively long time and then suddenly the lambda stops working. If you don't have many dependencies, upgrading the runtime is easy. But if one of dependencies requires an older runtime, it's better not to wait until the last moment.