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?<p>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.<p>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.<p>Both approaches come with their trade offs and limitations, especially at different scale and costs.<p>So, which way, western man: is Serverful the Future? Quo vadis, web development?
It'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.<p>As tech progresses, it makes the abstraction levels better for those who need less power.
Has "serverful" ever left the party? When was it less popular? On youtube or twitter? Has serverless spending actually overtaken the world?<p>Nothing has shifted. It might have gained some market share but that's about it.
Serverless enforces good architectural practices and is just fine for <i>at least</i> 80% of systems. By "just fine" I mean it leaves room for growth, puts you on a good architecture, and will have reasonable cost.<p>There are times though when serverless may not be a good idea:<p>- Atypical technology stack. If the stack you need, and actually need, isn't accounted for then you're on your own.<p>- Continuous, 24x7 application load. You'll have to do the cost analysis, but you may find you're better off provisioning a server.<p>- You want to "lift and shift" existing assets into the cloud.<p>Brand-new, greenfield project? Consider serverless first.
When 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.<p>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
I'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.
I don't like serverless development, because I need to rely on logging more and there is deployment overhead.<p>But for personal projects, I like its charge-by-usage model. I want my projects be cashflow positive.