Serverless Design Patterns is the definitive practitioner's guide to the new world of serverless architecture. As companies and their developers migrate to the cloud at a blistering pace, it will help them understand the patterns and principles needed to create the next wave of "cloud native" applications, and make the most of what serverless platforms have to offer. Three of the field's leading experts introduce the serverless approach to writing cloud native applications, and then offer indispensable serverless patterns and design principles for all serverless platforms, as well as anti-patterns to avoid. They describe how and when a serverless approach to software development makes sense, and propose simple and elegant solutions to specific common problems in serverless application design, and present multiple code examples focused on AWS Lambda and Microsoft Azure Functions, and conceptually relevant regardless of platform.