Serverless computing or serverless architecture refers to a cloud-based model that enables users to create and run applications or processes without direct contact with the underlying server. These cloud environments do have servers – though the provider takes sole responsibility for the provision, scaling, and management. Accordingly, the serverless approach goes one step further than the [platform-as-a-service model (PaaS) in which developers and customers have to communicate with the server(s) via an API and add or enable resources themselves.
As these administrative tasks are not needed in projects with serverless computing infrastructures, developers can focus entirely on developing and implementing the respective software. However, to make this possible, stateless functions containing instructions for the program’s response to specific events in addition to the actual program code must be created. The respective program code – including the required functions (stateless so fully independent of infrastructure) – can then be uploaded to the cloud environment at any time. Due to the key role the functions play there, some providers call their serverless services “function-as-a-service (FaaS)”.