What is "serverless" ?
Serverless is a cloud-computing model in which the customer can create and run their applications without having to worry about the server part.
Contrary to what its name may suggest, application code continues to run on servers, but its management is now the responsibility of the cloud solution provider.
The Serverless model versus standard cloud computing models such as IaaS (Infrastructure as a Service)?
With an IaaS model, the customer buys or leases servers from a cloud provider. He will therefore pay to permanently run components of an active server. In this case, it is up to the customer to manage the scaling of the infrastructure in the event of a load increase. “With an IaaS offer, the cloud infrastructure remains active even when no solicitation is in progress.” Conversely with a Serverless model, when an event triggers the execution of an application code, the cloud provider provides the resources necessary for the corresponding workload. This does two things, the cloud infrastructure starts up only when needed and the customer only pays for this consumption period. “With Serverless you only pay for the resources used and your solution only runs when needed. An economical and ecological solution.”
The advantages of the Serverless model
Traditionally, technical teams develop and deploy web applications on servers for which they are responsible, which requires regular maintenance:
Keeping servers available (Even when not in use)
Server maintenance and management of their resources
Application of security patches Adjustment of the load according to the evolution
In short, it is complex and time-consuming work for the teams, which comes on top of the initial mission: to build and maintain applications.
With Serverless, it's over! The cloud service provider is responsible for cloud infrastructure and application scaling. So developers can focus on their main mission and they just have to compile their code in containers to deploy the applications.
As mentioned earlier, it is the triggering of your application code that triggers the cloud provider to allocate the resources necessary to run your workload. This allows almost infinite and instantaneous scaling.
To put it simply, if you receive 20,000 requests at the same time (Following a TV show for example) then the cloud provider provides your application with the necessary resources to cope with this load in order to be able to absorb it during the time necessary for the treatment of the latter.
Unlike traditional hosting services or standard cloud computing, with Serverless, you no longer have to run servers all the time (even when no resources are needed) and pay for this service. With a Serverless Architecture, the necessary resources are allocated and scaled automatically, by the cloud service provider, according to the corresponding workload. You are thus billed per millisecond and billing stops as soon as the workload is completed.
If with Serverless you only pay for what you consume, it is simply because your applications are only launched when needed.
Concretely, when an event triggers the execution of a task, then the necessary resources are put in place to execute this workload. Once the code is executed, you no longer need resources and therefore do not run any machine.
"Without workload your infrastructure has a carbon footprint of 0".