GraphQL everywhere is another one (like JWTs, it has its uses but people went way overboard) and Tailwind is the next one.
GraphQL everywhere is another one (like JWTs, it has its uses but people went way overboard) and Tailwind is the next one.
IMO the only hyped up piece of tech that was actually good in the last decade is containers (but not the orchestration, just containers).
AWS S3 was probably the first "serverless" technology to really take off. You don't have to worry about how many hosts you need to adequately handle sharing a file with millions of people. You don't need to start up multiple hosts in order to get backups in multiple data centers and then handle synchronization. Nope, just put a file there, and everything else is handled.
AWS Lambda and other FaaS providers made it so you don't have to configure scaling hosts to handle sudden large loads. It's also great for things that only need a couple minutes of CPU time per month, like say, periodically processing some data in batches. You don't have to deal with standing up a host that runs a cron job and then paying for CPU time you're not using.
Serverless databases mean you don't have to worry about patching the underlying operating system.
Of course, serverless has its limitations. FaaS is not suitable for long-running tasks, for example. It also tends to result in vendor lock-in.
EDIT: If you're going to fire back with "AlL tHoSe ThInGs ArE sTiLl RuNnInG oN sErVeRs", don't waste your time. It's a tired argument that misses the point. Yes, they run on servers, but you don't have to care about the underlying servers.
Infinitely scaling database means inevitable tradeoffs. Serverless doesn't take those tradeoffs away.
It doesn't do anything to justify the hype.
You get complexity, worse DX, vendor lock-in and often higher price for the sake of not having to do security updates. This is the worst deal in the history of deals, maybe ever.
About cost, even though that isn't "completely utterly false" it is misleading. If you are a startup and want to move as fast as possible without incurring tons of tech debt, and don't yet have millions of daily users, you should use serverless functions because the total cost will be relatively small (relative to the insanely high cost of good devs that is -- always optimize for DX and velocity until you actually have scale). If you ever get to the point where serverless is costing you real $$, then refactor then - you've incurred almost no tech debt by waiting and being very very fast prior to that may just be the reason you got to that scale at all.
Go ahead and build a serverless app utilizing a framework that is well aligned with that approach (may I recommend Remix?) and I bet you'll change your tune. My gut tells me you have no firsthand experience because your points are absolutely off base.
What is the big problem that serverless solves?
What does it promise and what does it actually deliver?
Infinite scalability? It only solves the easiest part of it.
Cost reduction? As you seem to admit, generally this is only true at small scale.
Security updates? Fair enough, but this has never been the real problem. If you're at a point where security updates are that important you will unlikely leave them in the hands of a third party.
My bet is that what you're attributing to the benefits of serverless are not inherent to the serverless itself and are just benefits of infrastructure built around it.
I wouldn't be surprised if large portion of serverless market is javascript. And rust driven wasm. So monoculture right now.
There's multiple safe and easy ways to do authentication/authorization without providing a signed green card to the client which you don't have the ability to cancel at any time. As long as you keep control in a database.
GraphQL is side-effect of spoiled-by-VCs frontend ecosystem. Frontend folks love it doesn't mean it's good for end-to-end system.
JWT, I don't have enough experience on it, so I've never been sold.