The last two decades have seen evolutions of software architecture—from on-premises to cloud hosted to mass-scaled microservices. While cloud native applications look very different than something we may have built before some of these techniques were well known, at their heart are still long-running, custom-built server applications that orchestrate the flow of requests, data, and logic.
Serverless changes all of this. We no longer build always-on server applications; we rely on events as the agents of flow rather than requests, and the server-side software that we do write may be a small aspect of our system rather than the central hub. Fundamentally, serverless is about choreography of multiple services from multiple teams and vendors—in extreme situations—none of which we have written ourselves.
Mike Roberts (Symphonia) introduces some of the patterns, or “common solutions to recurring problems,” that we are starting to see in the serverless community. Patterns are not necessarily best practices—they are techniques that have worked for many people, but always given certain contextual constraints. Perhaps even more importantly, however, Mike describes how you, your teams, and your organizations can start harvesting your own patterns, while the bigger industry learns more about this exciting new frontier.
This session was recorded at the 2019 O'Reilly Software Architecture Conference in San Jose.