Readit News logoReadit News
huksley · 4 months ago
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.

acdha · 4 months ago
> 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.

hdjjhhvvhga · 4 months ago
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.
sebazzz · 4 months ago
Why is it a maintenance hell? You mention your app runs unchanged for six years now.
vlvdus · 4 months ago
> If your workload is truly intermittent and stateless, and you want zero operational effort, serverless can work.

And it works pretty well. A lot of internal and external JSON APIs are a good fit.

I've found the article ok, but it would have been a much nicer read without all the emotional stuff and just kept - serverless is pushed as panacea but actually isn't a good fit because...

yesnomaybe · 4 months ago
I run a few serverless stacks on AWS Lambda, have been for years and slept well all the time. Serverless is forgiving. Things heal and don't stay dead like it can happen with anything that carries state like a container.

That said, I do prefer the development model of containers. Run them anywhere. That said, has it's own limitations. For example, he claims to be able to run state within container. Doesn't make sense if you want to scale out. Persistence is a problem. You can't run DBs on ECS Fargate for example.

And the worst aspect of running containers is: in bigger orgs the standard will probably be K8s. And that has nothing to do any more with the simplicity of containers as mentioned in the article.

cassianoleal · 4 months ago
> anything that carries state like a container

Containers don't carry state. They can be made to do so if you wish but there's nothing inherent to them that does it.

> in bigger orgs the standard will probably be K8s. And that has nothing to do any more with the simplicity of containers as mentioned in the article.

K8s can be very simple if there's a platform team ensuring great developer experience. I appreciate that this is likely rarer than you or I would like though.

anilgulecha · 4 months ago
Under-rated, but probably the best serverless offering: Cloud run on GCP. Pay like for a VM, but only for the time you're getting/serving requests.

(IMO, if it can get a fly.io like command line experience, it will thrive more.)

CafeRacer · 4 months ago
The thing i hated the most about aws lambda is connecting to postgres or using bcrypt... it's possible, but it felt like defeating Malenia.
LecroJS · 4 months ago
What did you dislike about connecting to Postgres from AWS lambda?
CafeRacer · 4 months ago
You have to build the driver. And sometimes libc version on lambda runtime is slightly different from libc that is linked to the driver.

Overall there was a lot of trial and error and no clear way to test everything locally in the container.

Deleted Comment

zuck_vs_musk · 4 months ago
Seems like a pitch for sliplane to me.
0manrho · 4 months ago
Agreed, this is a thinly-veiled ad for sliplane, even if I generally agree with the sentiment regarding serverless (though wouldn't go as far as calling it a scam, it has it's usecases, just not for me)
pan69 · 4 months ago
The way I view serverless such as AWS Lambda, and services like SQS and SNS, in that you're supposed to use it to program the cloud environment, not to stick your business apps in it.