The Serverless architecture (serverless computing) is defined by stateless compute containers and modeled for an event-driven solution. Serverless computing allows you to build and run applications and services without having to manage infrastructure.
Serverless mean applications where some amount of server-side logic is still written by the application developer but unlike traditional architectures is run in stateless compute containers that are event-triggered, ephemeral (may only last for one invocation), and fully managed by a 3rd party. One way to think of this is ‘Functions as a service / FaaS’. AWS Lambda is the perfect example of serverless architecture and employs Functions as a service (FaaS) model of cloud computing.
FaaS provides a platform allowing the developers to execute code in response to events without the complexity of building and maintaining the infrastructure. Thus despite the name ‘serverless’, it does require servers to run code. The term serverless signifies, the organization or person doesn’t need to purchase, rent or provision servers or virtual machines to develop the application.
The architecture models evolved over a period from IaaS, PaaS, SaaS to Serverless. The different architecture models are explained in a simple digram below.
Serverless architecture doesn’t strictly specify what our function technically must be. Functions are the unit of scale in serverless architecture that abstract the language runtime. We write our functions, publish them to the cloud, and pay only for time these functions ran. We don’t worry about managing infrastructure like CPU, RAM, server software and etc. We talk just about the time it takes to run the function and that is measurement of our approach.
You can find a detailed article @ Serverless Architectures