Serverless is a cloud model where the provider runs the machines. You write functions. They scale them. You pay for execution, not for a box sitting idle. AWS Lambda, Google Cloud Functions, Azure Functions, Vercel Functions, and Cloudflare Workers all work this way.
You upload code. The platform runs it when an event arrives. If you see 1 request per second most of the day and 1,000 in a spike, it scales. You do not pay for the quiet hours the way you do with a rented server.
It fits event-driven work: a file upload, a notification, an API with bursty traffic. You are not babysitting idle VMs.
The limits are real. Functions are stateless. AWS Lambda can time out at 15 minutes. You cannot keep data in memory between calls. You cannot run a forever background job. For those, use a server or a container.
For a lot of apps, serverless is simpler and cheaper than owning the fleet. You still have to understand cold starts, timeouts, and where state lives. You do not have to run load balancers yourself. You deploy code and pay for the milliseconds it runs.
Cold starts add latency on the first call after idle. Design for that, or keep a warm path. AWS Lambda (2014) popularized pay-per-invocation functions. You upload code. AWS starts it on a request and bills for run time.
Serverless vs Traditional Architecture
Compare auto-scaling serverless functions with always-on traditional servers