Chapter 24. How Serverless Simplifies the Developer Experience

Wietse Venema

If you use serverless  components to build your application, your application is serverless—but what does serverless mean?1 It’s an abstract and overloaded term that means different things to different people.

When trying to understand serverless, you shouldn’t focus too much on the “no servers” part—it’s more than that. In general, this is what I think people mean when they call something serverless, and why they are excited about it:

  • It simplifies the developer experience by eliminating the need to manage infrastructure.

  • It’s scalable out of the box.

  • Its cost model can result in significant savings, because you pay exactly for what you use, not for capacity you reserve up front. If you use nothing, you pay nothing.

Here, I’ll focus on the first characteristic. What does that simple developer experience mean?

Eliminating infrastructure management means you can focus on writing your code and have someone else worry about deploying, running, and scaling your application. The platform will take care of all the important and seemingly simple details that are surprisingly hard to get right. Examples include autoscaling, fault tolerance, logging, monitoring, upgrades, deployment, and failover.

One thing you specifically don’t have to do in the serverless context ...

Get 97 Things Every Cloud Engineer Should Know now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.