7 ms·
Ask HN: Is Serverless Overkill?
I just can't help observe that my developer friends increasingly build on the "low-end", serverful platforms instead of serverless. Many call serverless overkill for the (commercial) apps they want to build. Will this be an ongoing trend?
In recent years, many new serverless service providers have been released for everything (Neon – Postgres, Cloudflare D1 – SQLite-like DB, GCP Functions, Vercel edge functions, etc.). However, people have been complaining about their complexity and overkill in the beginning.
More recently, I've witnessed friends prefer serverful providers for their apps because they offer more control, and are cheaper and simpler to get started with (their words). Serverful platforms like Render, Railway, or Fly.io have also become a bit more popular.
Both approaches come with their trade offs and limitations, especially at different scale and costs.
So, which way, western man: is Serverful the Future? Quo vadis, web development?
- deleted 2y ago[deleted]
- re-thc 2y agoHas "serverful" ever left the party? When was it less popular? On youtube or twitter? Has serverless spending actually overtaken the world? Nothing has shifted. It might have gained some market share but that's about it.
- JojoFatsani 2y agoServerles was briefly “the future” 2016-2020ish but id say most of its enthusiasm has gone towards Kubernetes, at least in the ponds I swim in
- PaulHoule 2y agoI've built some very small and simple systems in AWS Lambda such as email newsletter scripts. With a system like that I can get close to 100% reliability, never worry about the server crashing or overloading. My RSS reader answers webhooks with Lambda -- some of these systems have been cruising for years without maintenance.
- mlhpdx 2y agoDitto. I have some not-small systems based on s3, lambda, SNS and SQS that have been running for years without issue - just quietly, and inexpensively doing their jobs. New stuff I’m building is putting StepFunctions in rather than Lambda if at all possible, and DDB alongside S3 for indexing. I expect these to be nearly maintenance free (no runtime updates, no package updates, TTLs to expire data).
- taylodl 2y agoServerless enforces good architectural practices and is just fine for at least 80% of systems. By "just fine" I mean it leaves room for growth, puts you on a good architecture, and will have reasonable cost. There are times though when serverless may not be a good idea: - Atypical technology stack. If the stack you need, and actually need, isn't accounted for then you're on your own. - Continuous, 24x7 application load. You'll have to do the cost analysis, but you may find you're better off provisioning a server. - You want to "lift and shift" existing assets into the cloud. Brand-new, greenfield project? Consider serverless first.
- racional 2y agoCan you expand more on what these practices are, in your view?
- re-thc 2y ago> Serverless enforces good architectural practices I'd argue it's the opposite. Since everything gets "thrown away" per request you neglect on caching, memory leaks, subtle bugs etc. You also need to make trade offs like focusing on cold start as opposed to peak performance etc.
- taylodl 2y agoSince everything gets "thrown away" as you say (though it's not per request), you actually have to focus more on caching in order to maintain any kind of session state (if required by your application). Memory leaks are an interesting matter because, you're right: you really don't care. All the pieces parts comprising your system are continually restarting without impacting the overall resiliency of the system. In fact, quite the opposite is happening - the system is more resilient due to all the mini restarts. You will have to learn techniques for handling cold starts, there's a few different ways to go about it and which one is appropriate, including not worrying about it at all, is dependent on your application and the cold load ramp-up experienced.
- re-thc 2y ago
- delanyoyoko 2y agoIn my opinion this depends on your goals, motivations and probably your level of exposure. Serverless or serverful any will get the job done.
- downrightmike 2y agoWe need serverless 2.0 to make it a decent system.
- re-thc 2y agoYes, in 2.0 we got rid of the "less" and made it server.
- verdverm 2y agoWhen using serverless, you are paying more for the devops and other simplifications. Eventually the costs can outway the benefits, have seen this many times. Serverless has its place, but it is not going to usurp cloud computing norms. I'd also say things like Neon "serverless postgres" is not really serverless. It is using serverless as the de jour marketing term for managed postgres SaaS. I can get the same thing from GCP (Cloud SQL) for much less
- nikita 2y ago(Neon CEO) What makes it not serverless in your opinion? This is our architecuture: https://neon.tech/docs/introduction/architecture-overview https://neon.tech/docs/introduction/architecture-overview and no, you can not get the same from CloudSQL.
- verdverm 2y agoIYKYK > ... and no... not a great way to elicit feedback
- billconan 2y agoI don't like serverless development, because I need to rely on logging more and there is deployment overhead. But for personal projects, I like its charge-by-usage model. I want my projects be cashflow positive.
- muzani 2y agoIt's actually the reverse, to my understanding. Serverless is great for low utilization projects. Then cloud servers like EC2. Then those old school hosts with cPanel. Then running everything from your own physical servers, setting up your own backup diesel generators, putting a server in Antarctica, etc, etc. As tech progresses, it makes the abstraction levels better for those who need less power.