Hacker News new | ask | show | jobs
by danieloj 527 days ago
I still find the DevEx of serverless terrible compared to the well-established monolith frameworks available to us.

The YAML config, IAM permissions, generating requests and responses, it's all so painful to get anything done.

Admittedly I speak as a software engineer primarily building CRUD apps, where frameworks have had decades of development. I can see use cases for event-driven applications where serverless may make life easier. But for CRUD, currently no chance.

7 comments

Serverless can be useful for very specific tasks, such as processing files you upload, things that should happen in the background, but if you already have a simple monolith web app, I don't see why going serverless just to go serverless will help you.

I do see its usefulness, but its not a one size fits all tool.

> Admittedly I speak as a software engineer primarily building CRUD apps

Ya, this is the majority of us.

Or maybe we just lack frameworks that provide the same developer experience but with transparent serverless deployment?
Here is an open source framework that my company makes that I think meets your requirements:

https://github.com/dbos-inc/dbos-transact-py

You can build your software as a monolith and deploy it with one command to your own cloud or our cloud.

I find serverless to be a breeze, with zero sysadmin costs compared to setting up VPS, EC2, doing your own custom monitoring, etc. Each to their own, however.

And gateway+lambda is a near perfect "dumb crud" app, though it is not without a startup cost.

> with zero sysadmin costs compared to setting up VPS

If you need RDS for example you need the VPS.

It only looks good on the outside.

There is no good reason to build a distributed monolith. You can always think of/design your monolith as a collection of (micro-)services and get the best of both worlds.

I find FaaS best when needing to automate something completely unrelated to what goes in to serving the customer. Stuff like bots to report CWV metrics from DataDog to a Slack channel.

A good reason to build a non-distributed monolith, though.
I think that's true for smaller shops. Larger shops start building their developer experience over everything and you can make it work.

But that means you're not starting with serverless, and it's your pivot from the original monolith.

If you use AWS CDK the DX is amazing.