You clever dog. You've rooted it out! It turns out when you build things with serverless technology you're still using servers. Pardon the patronizing tone there, I've seen one-too-many hot takes at this point where someone points this fact out and trots away triumphantly.
And yes, because serverless still involves servers, the term might be a bit disingenuous to some. You could be forgiven for thinking that serverless meant technologies like web workers, which use the client to do things you might have otherwise done on a server and is where the term serverless was headed. Alas, it is not.
What serverless really means:
- Using other people's servers instead of running your own. You're probably already doing that, but serverless takes it to another level where you have no control over the server outside of telling it to run a bit of code.
- You don't need to think about scaling — that's the serverless provider's problem.
- You are only paying per execution of your code and not some fixed cost per time.
- You only worry about your code being misused, but not the security of the server itself.
- We're mostly talking about Cloud Functions above, but I'd argue the serverless movement involves anything that allows you to work from static hosting and leverage services to help you with functionality. For example, even putting a Google Form on a static site is within the serverless spirit.
Serverless is about outsourcing a little bit more of your project to companies that are incentivized to do it well. My hope is that someday we can have a conversation about serverless without having to tread this ground every time and spat about the term. I suspect we will. I think we're almost over the term the cloud as an industry and we'll jump this hurdle too. It's worth it when a single word successfully evokes a whole ecosystem.
Wanna know more about serverless? Here's the tag on CSS-Trick where we've talked about it a bunch.