published Jul 1, 2019, ISBN 978-0-9930881-5-5
This book will help you get started with AWS Lambda and the Serverless Application Model (SAM). Lambda is Amazon’s engine for running event-driven functions, and SAM is an open-source toolkit that greatly simplifies configuring and deploying Lambda services. Together, they make it easy to create auto-scaling APIs and cloud services designed for serverless deployments.
Running Serverless is a technical tutorial. It will be useful for two groups of developers and architects: people who have no previous experience working with serverless applications and are interested in learning about emerging cloud architectural patterns and those who already work with Lambda using other deployment frameworks and want to learn about AWS SAM, the Serverless Application Model.
The contents of this book are based on my experiences with MindMup, a collaborative mind-mapping system that was one of the early adopters of AWS Lambda. MindMup moved to a serverless model from an application hosting service throughout 2016, in order to benefit from on-demand scaling. We reduced operational costs by about two-thirds while significantly increasing application capacity, speeding up development and reducing time to market for new features. The lessons from our migration ended up in one of the first scientific papers on the topic, and I was invited to present our experiences at conferences all over the world.
This book is structured as a walk-through for building a practical application. We start from a simple static API and gradually grow it into an online image-resizing service, ready for millions of users, with all the supporting operational and infrastructural capabilities. The application closely resembles real-world systems that many of you will develop in your jobs. This will give you a good structure for your own work, and you will be able to almost copy parts to get a head start. As you discover how to create and deploy different parts of the application, you will also learn about key aspects of Lambda and related services, important tips, techniques and tools for running serverless.
Get practical knowledge and speed up your software delivery by participating in hands-on, interactive workshops: