1. Glossary
  2. Serverless
Glossary

Serverless

Serverless is a cloud computing model in which the provider runs and scales the servers for you: you deploy code or use managed services, pay only for what you use, and capacity scales automatically, including down to zero.

There are still servers, but they are not your problem. You don't provision machines, patch operating systems or plan capacity. You deploy a function or use a managed service, and the provider runs it when it is needed. Billing follows use, so an idle service costs little or nothing.

Two kinds of serverless

  • Functions as a service (FaaS). You upload a function and choose what triggers it: an HTTP request, a file upload, a queue message or a schedule. Examples are AWS Lambda, Azure Functions and Google Cloud Run functions.
  • Serverless managed services. Databases, queues, storage and APIs that scale without servers to manage, such as Amazon DynamoDB, Amazon S3, Amazon SQS and Firebase.

Serverless applications are usually event-driven: one function writes to a queue, which triggers another function, which writes to a database.

Benefits

  • No servers to provision, patch or scale
  • Pay per request and per unit of compute time, not for idle capacity
  • Automatic scaling from zero to large bursts of traffic
  • Faster delivery for small, event-driven pieces of work

Trade-offs

  • Cold starts. A function that hasn't run recently needs time to start a new environment, which adds latency to the first request.
  • Limits. Functions have maximum run times (15 minutes on AWS Lambda), memory caps and concurrency quotas.
  • Lock-in. Triggers, permissions and managed services are specific to each provider.
  • Harder debugging. A single request may pass through several functions and queues, and there is no server to log into.
  • Cost at steady high load can exceed running your own containers or instances.

What to monitor

  • Invocations, errors and duration per function
  • Cold starts and their effect on latency
  • Throttles and concurrent executions against your limits
  • Timeouts, which may show up only as a duration equal to the limit
  • Queue age and depth between functions
  • Traces across functions, queues and the services they call
  • Cost per function

More on this: serverless monitoring metrics and serverless monitoring tools.

Serverless monitoring with Atatus

Atatus serverless monitoring supports AWS Lambda (Node.js and Python) and Azure Functions, tracks invocations, duration, errors and cold starts, and follows distributed traces across functions, including SQS and SNS hops. A Lambda extension can also ship function logs. See also AWS monitoring.

← All glossary terms

Get started

See the root cause first.

Start free and send your first trace with OpenTelemetry or the Atatus agents. APM, logs, RUM, infrastructure and SIEM, all on one timeline.

  • SaaS
  • On-premises
  • Hybrid
  • BYOC
  • No per-user pricing