What serverless delivers

  • No server management — no patching, no capacity planning for idle workloads.
  • Auto-scaling to zero — you pay nothing when no requests are in flight.
  • Event-driven triggers — S3 upload, SQS message, API Gateway request, schedule.

Cold starts

The first invocation after idle requires initialising the runtime container. Cold start latency: ~100ms for Python/Node, ~500ms–1s for JVM languages. Mitigations: provisioned concurrency (keep containers warm), lighter runtimes, smaller deployment packages.

Good serverless use cases

  • Event processing (file upload → transform → store).
  • Scheduled jobs (nightly reports, cleanup tasks).
  • Webhooks — sporadic, bursty traffic.
  • API backends with uneven traffic (high during business hours, zero overnight).

When serverless struggles

  • Long-running jobs (Lambda has 15-minute max).
  • Persistent connections (WebSockets require special handling).
  • High-throughput steady load — containers are cheaper when you need constant concurrency.