Serverless Computing Architecture

October 2021


Before I begin on the Serverless, let’s try to understand the evolution of infrastructure provisioning that has undergone several iterations and improvements to overcome the challenges and pain points. It is very essential to understand the fundamentals of application infrastructure provisioning before knowing the nuances of Serverless Computing architecture.

Evolution of Infrastructure Provisioning

As you can see, with increased abstraction there is a reduced complexity. However, every addition of abstraction layer brings in its own complexity in terms of understanding the underlying technology or framework accessibility to underlying resources. Similarly, Serverless Computing is just another abstraction layer over an existing provisioning model that has its own limitation but added benefits too. Hence there is a need for careful exercise in choosing the right provisioning model depending on your application and business needs.

With that context, let’s understand the characteristics of Serverless Architecture and its essentials.

What is Serverless?

A smallest unit of Computing Power is called as Serverless Computing. A computing power is precise amount of resources provided by the underlying infrastructure to execute smallest unit of code written by an Application Developer in order to accomplish execution of the given task, and then disappears right after the usage.

Serverless Computing is a computing execution model in which allocation of underlying resources is dynamically managed. It abstracts away the infrastructural complexity from the developers, thereby accelerating the development and time-to-market. It applies microservices architecture style through simple programming model called FaaS (Function as a Service) which are invoked by an event source (as triggers).

"Serverless computing is the next revolutionary thing in Software Architecture and Cloud-based Infrastructure world"

"Serverless is PaaS for event-driven architecture"

So, what is FaaS?

Fundamentally, FaaS is a platform provided by the cloud service providers to develop, run and manage business functionalities without managing servers and other infrastructural needs that provides computing power to your code. It is a simple programming model wherein application specific individual functionalities can be developed as a unit called function, which can independently developed, tested, deployed and managed on the cloud computing platforms.

As per the wiki, it was conceptualized by hook.io, popularized by AWS Lambda, and then saw an entry by other major cloud service providers such as Google Cloud Functions, IBM OpenWhisk and Microsoft Azure Functions. Their entry has only helped the FaaS model to gain good traction in the adaption, maturity, capability, and in other enterprise capabilities.

Click here to read my blog on the benefits of Serverless architecture

Click here to read my blog on the drawbacks of Serverless architecture

Click here to read my blog on the use cases of Serverless architecture