Distributed Systems - Serverless

Updated: 2019-01-27

What is Serverless

Serverless or Function as a Service (FaaS) describes the idea that the deployment unit is a single function. A function takes input and returns output.

Serverless Manifesto


  • Function are the unit of deployment and scaling.
  • No machines, VMs, or containers visible in the programming model.
  • Permanent storage lives elsewhere.
  • Scales per request; Users cannot over- or under-provision capacity.
  • Never pay for idle (no cold servers/containers or their costs).
  • Implicitly fault-tolerant because functions can run anywhere.
  • BYOC - Bring Your Own Code.
  • Metrics and logging are a universal right.


  • AWS Lambda
  • Google Cloud Functions
  • Webtask
  • Firebase


Lambda Architecture and Kappa Architecture

  • Lambda Architecture: run a streaming system alongside a batch system, both performing essentially the same calculation. The streaming system gives you low-latency, inaccurate results (either because of the use of an approximation algorithm, or because the streaming system itself does not provide correctness), and some time later a batch system rolls along and provides you with correct output.
  • Kappa Architecture: run a single pipeline using a well-designed system that’s appropriately built for the job at hand.

Read More