Computing execution model where cloud providers allocate machine resources on demand, taking care of the servers.
This model works under 4 tenets:
- Zero administration: users are only responsible on writing the code and cloud providers manage the resources for security, scalability, etc.
- Pay-per-execution: users only pay for the resources they consume.
- Function as unit of deployment: serverless architectures are composed of small, independent bits of code (functions) that are loosely coupled and collaborative, usually used in the microservice architecture.
- Event-driven: events start serverless functions and provide them with the data/context needed.
They have some limitations:
- Stateless: they do not keep hold any information from subsequent runs.
- Time limitations: depending on the cloud providers different maximum execution times are allowed (e.g., AWS Lambda has a 15 min maximum execution time).