Serverless
Code that runs only when called; you never see or manage the server.
Serverless is a way of running code in the cloud where you upload a function and the provider runs it only when something triggers it: an HTTP request, a new file landing in Amazon S3, a timer. There are still servers, of course, but you never see them, size them or patch them. AWS Lambda is the best-known example, and the word also describes services like Amazon DynamoDB that scale by themselves with no machines to manage.
Billing is per execution. If your function runs 10 times a day for 200 milliseconds each, you pay for 2 seconds of computing. If a viral post sends a million requests, the provider starts thousands of copies in parallel and bills for those. Zero traffic costs zero, or close to it.
It suits spiky or small workloads: generating thumbnails, receiving webhooks, nightly reports, glue between services. It fits worse for long jobs, since a function usually has a time limit (15 minutes on Lambda), and the first call after a quiet period can be slow while the provider spins it up (a "cold start").
Keep in mind
- You pay per invocation and per millisecond, not per hour of a running machine.
- It scales from zero to thousands of copies with no configuration.
- Functions are short-lived and stateless: save anything that matters in a database or in storage.
- Cold starts and vendor lock-in are the usual complaints.