It's time to rename serverless
Tags: serverless, cloud, devops
Published: 2023-03-22 08:32:06

This is a short post.

The theory of Wardley mapping talks about how things get a new meaning as they evolve.

- DevOps does not mean the same in 2023 as in 2013
- Cloud does not mean the same in 2023 as in 2010
- Platform does not mean the same in 2023 as in 2000
- Serverless does not mean the same in 2023 as in 2016

So let me go back to some basics.

## What is the cloud?
The concept of the cloud started as industrialized, interoperable, and commoditized infrastructure services built on standards and distributed over the wire to users. Today, the concept of cloud expanded this definition to include the idea of a system made of services, features, and principles that work in harmony to allow users to _build the thing right_. With this definition, the value proposition of cloud platforms is about meeting business leading goals such as speed of development, reliability, security, agility, and efficiency. 

In 2023, we have three different levels of services offered by cloud platforms:

- **Infrastructure services**: this collection of services and features are basically VMs offered as a service. Example: Amazon EC2

- **Runtime services**: this collection of services and features are runtimes offered as a service. Example: AWS Lambda.

- **Application services**: this collection of services and features are applications offered as a service. Example: Salesforce CRM.

The thing is that, in 2023, you don't need to own a data center and distribute infrastructure as pay-per-use services to be a cloud provider:

- Fly.io is a cloud provider of infrastructure services
- Vercel and Supabase are cloud providers for runtime services
- Atlassian is a cloud provider of application services

## What is content?
Content is the collection of things that platform users own and put in the platform to _build the right thing_. Content's value proposition is about meetings meeting business lagging goals such as growth, revenue, and customer satisfaction. In other words, content is defined by what the user owns on the platform.

We have different types of content depending on the services:

- **For infrastructure services**: the user owns the runtimes, code, and data.

- **For runtime services**: the user owns the code and data. 

- **For application services**: the user only owns the data.

## What is serverless, then?
The concept of serverless started as _on-demand functions_ thanks to services to Google AppEngine and AWS Lambda. Today, we can find complex definitions that include a combination of _Functions as a Service_ and _Backend as a Service_, especially since the introduction of serverless containers. To me, the concept of serverless in 2023 evolved to **runtimes as a service** that scale to zero where users own the code and the data. It is that simple.

So, the moment I see a new service out there, I ask myself two questions:
- What do I own?
- How does it scale?

Depending on the answer to these two questions, I mentally categorize the type of platform I am working with. The moment I own code and data and the service scales to zero, I know I am using Runtime as a Service, and I am conscious of my duties, including what I am responsible for upgrading and maintaining! Some people call this serverless 🫠