Serverless Definition or Meaning

In my consulting job while creating the target state architecture, where I was involved directly or indirectly, have embraced Serverless architecture patterns and made it (Serverless) a ubiquitous architectural component in most of such modern application architectures. While many serverless technology categories and true business use cases exist, sometimes I feel like catechizing creators (architects) of those architectures “What is Serverless Definition or Serverless Meaning”? 

(catechizing to instruct systematically, especially by questions, answers, explanations, corrections)

This post is created after doing some research on this topic – “Serverless Definition / Meaning”.

Just like the word “Architecture”, I learned in my research that even “serverless” has multiple definitions or meanings. I consider this post as an opportunity to mention and describe core elements that make up a “Serverless Definition or Meaning”. 

3 Elements of a Serverless Definition or Meaning

At high level, “Serverless” can be defined from a 3 points/elements perspective, as shown in the below image.

Serverless Definition 3 Elements Perspective

Element 1: Event Availability – its existence

In a particular business application context or environment, an Event (application or business) occurs and is made available.

The event represents a state that can be sharable across the enterprise or business (of course Governance applies).

Availability of this Event (or observable state) can be perceived as “Serverless” because this state is “available” somewhere in the cloud and ready for consumption without any server calling “something (function)” with this observable state.

Element 2: Functional Programming – f(x) – function(s) as event consumer(s)

A function f(x) interested in this observable state or Event consumes the event (push or pull mechanisms) and processes it. 

The scope of this function is to execute “focused” computations on its input “state” ie. observable state. “Focused” here means minimalistic computation or purpose build computation. Alternative to this “focused” could be a typical “end-to-end workflow kind of execution”.

Element 3: Function(s) Operating Model – deployment, high-availability, scalability, the resilience of functions

Now the function f(x) can be deployed either on a single machine with low computing and memory capacity or variations of such capacities. That is the “Operating Model” element in “Serverless Definition”.

Here it is “Serverless” because of hiding all the operational capacities of the function f(x) deployment (how many machines), high availability, scalability, and other operational characteristics.

Element 4: Business Model – In Economic Context – Effective Cost only for Event Processing

As the main purpose of this post is i.e. Serverless Definition, in this perspective, a business model can be described as how an organization creates, delivers, and captures value, in an economic context.

Businesses are charged only for the Event processing time by the function f(x) and not based on the underlying infrastructure of function f(x) deployment.

So the effective cost to the business. i.e. economic value to execute the function f(x) with the observable state (Event) as input is based on the total function execution time and not its infrastructure cost.

Now, Serverless Definition or Meaning

By paraphrasing all the above, my definition or meaning of Serverless is –

Serverless is hiding the cumulative effort of a business observable state availability, execution of such available state by a purpose built function(s) through their efficient operational characteristics, and charging effectively for such executions by the serverless technology provider.

I hope the above steps oriented and their paraphrase enabled you to learn “Serverless Definition or Meaning”.