Serverless
A cloud model where the provider runs your code on demand without you managing servers.
What is serverless?
Serverless (often FaaS β Functions as a Service) means you upload functions or containers, and the cloud provider scales, patches, and bills based on invocations and duration rather than reserved VMs.
Characteristics
- No server management β no SSH into boxes
- Event-driven β HTTP requests, queue messages, cron schedules, file uploads
- Scale to zero β pay nothing when idle (aside from storage)
- Short-lived β functions have timeout limits (seconds to minutes)
Examples
AWS Lambda, Google Cloud Functions, Azure Functions, Cloudflare Workers, Vercel Functions.
Cold starts
When a function hasnβt run recently, the platform may need to cold start β provision runtime, load code. Latency-sensitive apps mitigate with provisioned concurrency or always-warm tiers.
Serverless vs containers vs VMs
| Model | Control | Ops burden | Best for |
|---|---|---|---|
| VM | Full | Highest | Legacy, stateful systems |
| Container | High | Medium | Microservices, long-running |
| Serverless | Low | Lowest | Spiky, small units of work |
Limitations
Execution time caps, stateless design expectations, vendor-specific integrations, and debugging distributed traces across many tiny functions.
Cost reality
Brilliant at low or spiky volume, brutal at sustained high volume: per-invocation pricing crosses over container pricing at roughly sustained double-digit requests/second β do the math before growth forces a migration under load. Watch the sidecar costs too: API Gateway fees, per-invocation logging, and NAT charges often exceed the function compute itself.
What people get wrong
- Long chains of functions calling functions. Each hop pays latency and cold-start risk; step-function orchestration or a plain service is often simpler.
- Opening database connections per invocation. Traditional connection pools break under function fan-out; use provider data-API proxies or connection poolers.
- Ignoring the event model lock-in. Containers move between clouds easily; code written against a providerβs triggers and services is the stickiest lock-in in compute.
See the full decision framework in Serverless vs Containers.
Historical figures and technical concepts for informational purposes only. Not technical, professional, legal, or financial advice. Sources: Official Documentation.