What is Serverless Compute?
Serverless compute refers to the practice of running application code on servers that are provisioned as-needed by a third party cloud provider. In short, developers bring the code to execute and the cloud provider automatically allocates the physical (or virtualized) resources, application environment, and infrastructure needed to run the code.
The idea behind serverless computing is to delegate most or all of the server administration, provisioning, and maintenance to a cloud provider on a 'pay as you go' basis – also known as "Functions-as-a-Service" (FaaS). This allows developers to build, test, and deploy applications quickly without having to worry about the infrastructure backend, and it opens the door to exciting possibilities for modular, event-driven applications that seamlessly integrate traditional server-side functions in real time.
Serverless compute functions are most often kicked into action with an HTTP request based on a client-side event, and the server resources are allocated dynamically – i.e. the compute instance is created on demand and then destroyed (or spun down) once the function has been executed. Often, a gateway API will be placed between the client and the function host to control the interaction and manage the function workflow.
Thanks to serverless computing, there is no need for always-on servers which may at times sit idly by and wastefully consume energy all day long, contributing to its popularity as a modern, energy-efficient architectural style in addition to its other benefits. Read more about the advantages of serverless applications here.