Serverless
Definition
Serverless computing is a cloud computing execution model in which the cloud provider runs the server, and dynamically manages the allocation of machine resources. Pricing is based on the actual amount of resources consumed by an application, rather than on pre-purchased units of capacity. It is a form of utility computing.
Why It Matters
Serverless allows developers to build and run applications without thinking about servers. It eliminates the need for infrastructure management, and you only pay for the compute time you actually use, which can be extremely cost-effective.
Contextual Example
AWS Lambda is a popular serverless platform. A developer can write a function (e.g., to process an image upload) and deploy it to Lambda. The function will only run when an image is uploaded, and the developer is only billed for the milliseconds it takes to execute.
Common Misunderstandings
- "Serverless" is a misnomer; there are still servers, but they are completely managed by the cloud provider.
- It is best suited for event-driven, short-running, stateless tasks. It is not ideal for long-running, stateful applications.