A serverless application is more than a collection of functions. Its behavior depends on service boundaries, data ownership, event delivery, and recovery when something fails. John Gilbert's Software Architecture Patterns for Serverless Systems examines how those decisions form a system that can change without requiring every part to change together.
From Functions to Architecture
The book covers autonomous services, event-first design, asynchronous communication, and bulkheads for containing failures. CQRS, Event Sourcing, microservices, micro frontends, security, testing, observability, multi-region systems, and gradual migration with the Strangler Fig pattern extend that discussion.
Its strength is connecting patterns to their consequences. A queue affects delivery; separate data ownership affects consistency; independent deployment affects coordination between teams. Managed infrastructure leaves these design responsibilities with the application.
Reading Context
This is a useful next step for engineers who understand serverless functions and need to design a complete application. The patterns deserve selective use: a small service may need neither Event Sourcing nor multiple regions. Each choice should address a specific requirement.
Get the Book
- Amazon (Buy): Software Architecture Patterns for Serverless Systems
