Discover / Serverless computing / Reading path

Best Books on Serverless Computing, in Order

@codesherpaIntermediate → Expert
6
Books
62
Hours
3
Stages
Not yet rated

This curriculum builds a rigorous, end-to-end mastery of serverless computing across four progressive stages. Starting from the architectural principles and event-driven patterns, it moves through operational realities like cold starts and cost, then into serverless data strategies, and finally to advanced trade-offs and production-grade design — giving the intermediate learner both the mental models and the hard-won practical wisdom needed to build and operate serverless systems confidently.

1

Serverless Foundations & Event-Driven Thinking

Intermediate

Understand what serverless truly means architecturally, how functions-as-a-service work, and how event-driven design replaces traditional request/response thinking.

Study plan for this stage

Pace: 6–8 weeks, ~40–50 pages/day (mix of dense architectural chapters and practical examples). Allocate 3–4 weeks to Sbarski, then 2–3 weeks to Urquhart, with 1 week for integration and review.

Key concepts
  • Serverless as an architectural paradigm: functions as the unit of deployment, not servers or containers; pay-per-execution and automatic scaling
  • AWS Lambda fundamentals: invocation models (synchronous, asynchronous, polling), execution context, cold starts, and memory/timeout tradeoffs
  • Event-driven architecture: decoupling producers from consumers via events; replacing request/response chains with event streams and message brokers
  • Function composition and orchestration: how to chain Lambda functions together using AWS Step Functions, SNS, SQS, and API Gateway
  • Statelessness and idempotency: designing functions to be stateless, handling retries safely, and managing side effects in distributed systems
  • Flow-based thinking: viewing applications as flows of data and events rather than monolithic request handlers; designing for asynchronous, non-blocking patterns
  • Serverless trade-offs: cold starts, vendor lock-in, observability challenges, and when serverless is (and isn't) the right choice
  • Real-world patterns: API backends, data processing pipelines, IoT event ingestion, and scheduled tasks using serverless
You should be able to answer
  • What is serverless computing, and how does it differ from traditional server-based and container-based architectures in terms of operational responsibility and billing?
  • Explain the difference between synchronous and asynchronous Lambda invocation models, and give an example of when you'd use each.
  • How does event-driven architecture decouple application components, and what role do services like SNS, SQS, and EventBridge play in this decoupling?
  • What is a cold start, why does it occur, and what strategies can you use to mitigate its impact on latency-sensitive workloads?
  • Describe how you would design a multi-step workflow (e.g., image processing, order fulfillment) using Lambda and Step Functions, and explain why this is preferable to a monolithic function.
  • What does it mean for a Lambda function to be idempotent, and why is this critical when designing for retries and asynchronous processing?
Practice
  • Deploy a simple HTTP API using Lambda and API Gateway; test both synchronous invocation and response times under load to observe cold starts.
  • Build a multi-function workflow: create three Lambda functions (e.g., validate input → process data → send notification) and orchestrate them using AWS Step Functions; test error handling and retries.
  • Design and implement an event-driven data pipeline: set up an S3 bucket to trigger a Lambda function on object upload, which processes the file and publishes results to SNS for downstream consumers.
  • Create an idempotent function that writes to a database; test it with duplicate events to verify it handles retries correctly without creating duplicate records.
  • Implement a scheduled task using CloudWatch Events (EventBridge) to trigger a Lambda function; monitor execution and logs to understand asynchronous invocation patterns.
  • Refactor a traditional request/response application (e.g., a REST API handler) into an event-driven architecture using SQS and Lambda workers; document the decoupling benefits and trade-offs.

Next up: This stage establishes the mental model and practical foundations of serverless and event-driven systems, preparing you to explore advanced patterns (resilience, security, cost optimization, and production observability) and to design complex, scalable systems that leverage serverless as a core architectural principle.

Serverless Architectures on AWS
Peter Sbarski · 2017 · 500 pp

A concrete, platform-grounded introduction to serverless concepts — functions, triggers, and event flows — that gives intermediate readers a working vocabulary without assuming prior cloud-native experience.

Flow Architectures
James Urquhart · 2021

Broadens the mental model from 'functions' to 'event streams and flows,' establishing the event-driven design thinking that underpins every serious serverless system.

2

Functions, Patterns & Real-World Design

Intermediate

Learn canonical serverless patterns — fan-out, saga, choreography vs. orchestration — and understand how to compose functions into reliable, maintainable systems.

Study plan for this stage

Pace: 6–8 weeks, ~40–50 pages/day (mix of dense pattern chapters and practical examples)

Key concepts
  • Serverless design patterns: fan-out/fan-in, saga, choreography vs. orchestration, and circuit breaker for resilience
  • Event-driven architecture and asynchronous communication as the foundation for composing serverless functions
  • Saga pattern for distributed transactions across multiple functions without a central coordinator
  • Choreography (event-driven) vs. orchestration (centralized control) trade-offs in serverless workflows
  • Enterprise integration patterns: message routing, transformation, and correlation in function-to-function communication
  • Idempotency, retry strategies, and dead-letter queues for building reliable serverless systems
  • State management and long-running processes in serverless architectures
  • Composing functions into maintainable, testable, loosely-coupled systems
You should be able to answer
  • What is the fan-out/fan-in pattern, and when should you use it instead of sequential function invocation?
  • Explain the saga pattern: how does it enable distributed transactions without a two-phase commit, and what are the compensating transaction implications?
  • Compare choreography and orchestration: what are the trade-offs in terms of coupling, observability, and complexity in a serverless context?
  • How do enterprise integration patterns (message routing, transformation, correlation) apply to serverless function composition?
  • What strategies ensure idempotency and reliable retry behavior when functions invoke other functions asynchronously?
  • Design a multi-step serverless workflow (e.g., order processing) using either choreography or orchestration; justify your choice.
Practice
  • Implement a fan-out/fan-in pattern: trigger multiple parallel Lambda functions from a single event, aggregate results, and handle partial failures.
  • Build a saga pattern example (e.g., booking system): define compensating transactions and implement rollback logic when a step fails.
  • Refactor a sequential workflow into a choreography-based system using event streams; document the event contracts between functions.
  • Implement an orchestration-based workflow using AWS Step Functions or equivalent; compare complexity and observability against the choreography version.
  • Apply enterprise integration patterns: design a message transformation pipeline where functions normalize data formats and route messages based on content.
  • Create an idempotent function that handles duplicate invocations gracefully; test with intentional retries and verify no side effects occur.

Next up: This stage equips you with the architectural patterns and integration principles needed to design complex, production-grade serverless systems; the next stage will deepen your ability to deploy, monitor, and optimize these patterns at scale.

Serverless Design Patterns and Best Practices
Brian Zambrano · 2018 · 260 pp

Catalogs the core patterns (async processing, fan-out, event sourcing with functions) with worked examples, building directly on the vocabulary established in Stage 1.

Enterprise integration patterns
Gregor Hohpe · 2003 · 683 pp

The canonical reference for messaging and event-driven integration patterns; serverless choreography and orchestration patterns are direct descendants of these ideas, and reading this here gives them a rigorous foundation.

3

Serverless Data & Advanced Architecture

Expert

Master serverless data patterns — event sourcing, CQRS, stateful workflows, and database choices — and synthesize everything into principled architectural trade-off decisions for complex systems.

Study plan for this stage

Pace: 8–10 weeks, ~40–50 pages/day (mix of dense technical content and architectural synthesis). Allocate ~5–6 weeks to Kleppmann (Parts II–III focus), then ~3–4 weeks to Richards with concurrent review and integration.

Key concepts
  • Data replication, partitioning, and consistency models (eventual, strong, causal) as foundations for serverless event-driven systems
  • Event sourcing and CQRS patterns: how to model state changes as immutable events and separate read/write concerns in distributed systems
  • Stateful workflow orchestration: managing long-running processes, saga patterns, and compensation logic in serverless architectures
  • Database selection trade-offs: relational vs. NoSQL, ACID vs. BASE, and fitting data stores to serverless constraints (latency, cost, scalability)
  • Distributed systems fundamentals: consensus, failure modes, and recovery strategies essential for reliable serverless data pipelines
  • Architectural decision-making: evaluating complexity, operational burden, and business requirements when choosing between monolithic, microservices, and event-driven topologies
  • Serverless-specific data patterns: stream processing, event aggregation, and handling out-of-order/duplicate events in cloud-native systems
  • Observability and resilience in data-intensive serverless systems: monitoring, tracing, and designing for partial failures
You should be able to answer
  • What are the key differences between strong consistency, eventual consistency, and causal consistency, and when would you choose each in a serverless event-driven system?
  • How do event sourcing and CQRS complement each other, and what are the trade-offs (complexity, latency, operational cost) of implementing them in serverless architectures?
  • Describe a stateful workflow scenario (e.g., order processing) and explain how you would implement it using sagas, compensating transactions, and serverless functions.
  • Given a choice between a relational database, DynamoDB, and an event store for a serverless application, what factors would drive your decision and what are the implications for consistency, scalability, and cost?
  • How do distributed consensus algorithms (Raft, Paxos) relate to achieving reliability in serverless data systems, and what practical trade-offs exist?
  • What are the architectural trade-offs between a monolithic, microservices, and event-driven topology for a data-intensive serverless system, and how do you evaluate them?
Practice
  • Implement a simple event store (in-memory or file-based) that captures immutable events for a domain (e.g., bank account, shopping cart); then build a read model that projects events into a queryable state.
  • Design and code a CQRS example: separate write operations (commands that produce events) from read operations (queries against projections); test eventual consistency lag.
  • Build a stateful workflow using AWS Step Functions or a serverless orchestration tool: model an order-to-fulfillment process with compensation logic for cancellations and failures.
  • Compare data store performance and cost: load test a relational database, DynamoDB, and a document store with a realistic serverless workload; document latency, throughput, and monthly cost.
  • Implement a distributed saga pattern: create two serverless functions that coordinate a multi-step transaction (e.g., payment + inventory reservation) with rollback on failure.
  • Architect a streaming data pipeline: ingest events from a source (e.g., Kinesis, Kafka), apply transformations, handle out-of-order and duplicate events, and write to multiple read models.

Next up: This stage equips you with principled patterns and trade-off frameworks for data and architecture in serverless systems; the next stage will apply these patterns to specific cloud platforms, operational concerns (cost optimization, security, compliance), and real-world case studies to solidify production-ready decision-making.

Designing Data-Intensive Applications
Martin Kleppmann · 2017 · 618 pp

The definitive guide to data systems at scale; reading it here lets you apply its lessons on event logs, stream processing, and consistency directly to serverless data architecture choices.

Fundamentals of Software Architecture
Mark Richards · 2020 · 432 pp

Equips the reader with a structured trade-off analysis framework — fitness functions, architecture styles, coupling — so serverless can be evaluated honestly against microservices, monoliths, and event-driven alternatives.

Discussion

Keep reading

Paths that share books, cover the same subject, or open a related topic.

Shares 2 books

Learn Apache Kafka: the best books in order

Beginner6books60 hrs5 stages
More on Web accessibility

Best Books on Web Accessibility, in Reading Order

Beginner6books33 hrs4 stages
More on Web performance optimization

Best Books on Web Performance, in Reading Order

Beginner8books39 hrs4 stages

More on serverless computing