AWS Lambda in Action: Event-driven serverless applications
<p class="MsoNormal" style="mso-margin-top-alt: auto; mso-margin-bottom-alt: auto;"><strong><span style="font-family: "Times New Roman",serif; mso-fareast-font-family: "Times New Roman";">Summary</span></strong><span style="font-family: "Times New Roman",serif; mso-fareast-font-family: "Times New Roman";"></span></p> <p class="MsoNormal" style="mso-margin-top-alt: auto; mso-margin-bottom-alt: auto;"><em><span style="font-family: "Times New Roman",serif; mso-fareast-font-family: "Times New Roman";">AWS Lambda in Action</span></em><span style="font-family: "Times New Roman",serif; mso-fareast-font-family: "Times New Roman";"> is an example-driven tutorial that teaches you how to build applications that use an event-driven approach on the back end. </span></p> <p class="MsoNormal" style="mso-margin-top-alt: auto; mso-margin-bottom-alt: auto;"><span style="font-family: "Times New Roman",serif; mso-fareast-font-family: "Times New Roman";">Purchase of the print book includes a free eBook in PDF, Kindle, and ePub formats from Manning Publications.</span></p> <p class="MsoNormal" style="mso-margin-top-alt: auto; mso-margin-bottom-alt: auto;"><strong><span style="font-family: "Times New Roman",serif; mso-fareast-font-family: "Times New Roman";">About the Technology</span></strong><span style="font-family: "Times New Roman",serif; mso-fareast-font-family: "Times New Roman";"></span></p> <p class="MsoNormal" style="mso-margin-top-alt: auto; mso-margin-bottom-alt: auto;"><span style="font-family: "Times New Roman",serif; mso-fareast-font-family: "Times New Roman";">With AWS Lambda, you write your code and upload it to the AWS cloud. AWS Lambda responds to the events triggered by your application or your users, and automatically manages the underlying computer resources for you. Back-end tasks like analyzing a new document or processing requests from a mobile app are easy to implement. Your application is divided into small functions, leading naturally to a reactive architecture and the adoption of microservices.</span></p> <p class="MsoNormal" style="mso-margin-top-alt: auto; mso-margin-bottom-alt: auto;"><strong><span style="font-family: "Times New Roman",serif; mso-fareast-font-family: "Times New Roman";">About the Book</span></strong><span style="font-family: "Times New Roman",serif; mso-fareast-font-family: "Times New Roman";"></span></p> <p class="MsoNormal" style="mso-margin-top-alt: auto; mso-margin-bottom-alt: auto;"><em><span style="font-family: "Times New Roman",serif; mso-fareast-font-family: "Times New Roman";">AWS Lambda in Action</span></em><span style="font-family: "Times New Roman",serif; mso-fareast-font-family: "Times New Roman";"> is an example-driven tutorial that teaches you how to build applications that use an event-driven approach on the back-end. Starting with an overview of AWS Lambda, the book moves on to show you common examples and patterns that you can use to call Lambda functions from a web page or a mobile app. The second part of the book puts these smaller examples together to build larger applications. By the end, you'll be ready to create applications that take advantage of the high availability, security, performance, and scalability of AWS.</span></p> <p class="MsoNormal" style="mso-margin-top-alt: auto; mso-margin-bottom-alt: auto;"><strong><span style="font-family: "Times New Roman",serif; mso-fareast-font-family: "Times New Roman";">What's Inside</span></strong><span style="font-family: "Times New Roman",serif; mso-fareast-font-family: "Times New Roman";"></span></p> <ul type="disc"> <li class="MsoNormal" style="mso-margin-top-alt: auto; mso-margin-bottom-alt: auto; mso-list: l1 level1 lfo1; tab-stops: list .5in;"><span style="font-family: "Times New Roman",serif; mso-fareast-font-family: "Times New Roman";">Create a simple API</span></li> <li class="MsoNormal" style="mso-margin-top-alt: auto; mso-margin-bottom-alt: auto; mso-list: l1 level1 lfo1; tab-stops: list .5in;"><span style="font-family: "Times New Roman",serif; mso-fareast-font-family: "Times New Roman";">Create an event-driven media-sharing application</span></li> <li class="MsoNormal" style="mso-margin-top-alt: auto; mso-margin-bottom-alt: auto; mso-list: l1 level1 lfo1; tab-stops: list .5in;"><span style="font-family: "Times New Roman",serif; mso-fareast-font-family: "Times New Roman";">Secure access to your application in the cloud</span></li> <li class="MsoNormal" style="mso-margin-top-alt: auto; mso-margin-bottom-alt: auto; mso-list: l1 level1 lfo1; tab-stops: list .5in;"><span style="font-family: "Times New Roman",serif; mso-fareast-font-family: "Times New Roman";">Use functions from different clients like web pages or mobile apps</span></li> <li class="MsoNormal" style="mso-margin-top-alt: auto; mso-margin-bottom-alt: auto; mso-list: l1 level1 lfo1; tab-stops: list .5in;"><span style="font-family: "Times New Roman",serif; mso-fareast-font-family: "Times New Roman";">Connect your application with external services</span></li> </ul> <p class="MsoNormal" style="mso-margin-top-alt: auto; mso-margin-bottom-alt: auto;"><strong><span style="font-family: "Times New Roman",serif; mso-fareast-font-family: "Times New Roman";">About the Reader</span></strong><span style="font-family: "Times New Roman",serif; mso-fareast-font-family: "Times New Roman";"></span></p> <p class="MsoNormal" style="mso-margin-top-alt: auto; mso-margin-bottom-alt: auto;"><span style="font-family: "Times New Roman",serif; mso-fareast-font-family: "Times New Roman";">Requires basic knowledge of JavaScript. Some examples are also provided in Python. No AWS experience is assumed.</span></p> <p class="MsoNormal" style="mso-margin-top-alt: auto; mso-margin-bottom-alt: auto;"><strong><span style="font-family: "Times New Roman",serif; mso-fareast-font-family: "Times New Roman";">About the Author</span></strong><span style="font-family: "Times New Roman",serif; mso-fareast-font-family: "Times New Roman";"></span></p> <p class="MsoNormal" style="mso-margin-top-alt: auto; mso-margin-bottom-alt: auto;"><strong><span style="font-family: "Times New Roman",serif; mso-fareast-font-family: "Times New Roman";">Danilo Poccia</span></strong><span style="font-family: "Times New Roman",serif; mso-fareast-font-family: "Times New Roman";"> is a technical evangelist at Amazon Web Services and a frequent speaker at public events and workshops.</span></p> <p class="MsoNormal" style="mso-margin-top-alt: auto; mso-margin-bottom-alt: auto;"><strong><span style="font-family: "Times New Roman",serif; mso-fareast-font-family: "Times New Roman";">Table of Contents</span></strong><span style="font-family: "Times New Roman",serif; mso-fareast-font-family: "Times New Roman";"></span></p> <p class="MsoNormal" style="mso-margin-top-alt: auto; mso-margin-bottom-alt: auto; margin-left: .5in; mso-outline-level: 4;"><strong><span style="font-family: "Times New Roman",serif; mso-fareast-font-family: "Times New Roman";">PART 1 - FIRST STEPS</span></strong></p> <ol start="1" type="1"> <li class="MsoNormal" style="mso-margin-top-alt: auto; mso-margin-bottom-alt: auto; mso-list: l0 level1 lfo2; tab-stops: list .5in;"><span style="font-family: "Times New Roman",serif; mso-fareast-font-family: "Times New Roman";">Running functions in the cloud</span></li> <li class="MsoNormal" style="mso-margin-top-alt: auto; mso-margin-bottom-alt: auto; mso-list: l0 level1 lfo2; tab-stops: list .5in;"><span style="font-family: "Times New Roman",serif; mso-fareast-font-family: "Times New Roman";">Your first Lambda function</span></li> <li class="MsoNormal" style="mso-margin-top-alt: auto; mso-margin-bottom-alt: auto; mso-list: l0 level1 lfo2; tab-stops: list .5in;"><span style="font-family: "Times New Roman",serif; mso-fareast-font-family: "Times New Roman";">Your function as a web API</span></li> </ol> <p class="MsoNormal" style="mso-margin-top-alt: auto; mso-margin-bottom-alt: auto; margin-left: .5in; mso-outline-level: 4;"><strong><span style="font-family: "Times New Roman",serif; mso-fareast-font-family: "Times New Roman";">PART 2 - BUILDING EVENT-DRIVEN APPLICATIONS</span></strong></p> <ol start="4" type="1"> <li class="MsoNormal" style="mso-margin-top-alt: auto; mso-margin-bottom-alt: auto; mso-list: l0 level1 lfo2; tab-stops: list .5in;"><span style="font-family: "Times New Roman",serif; mso-fareast-font-family: "Times New Roman";">Managing security</span></li> <li class="MsoNormal" style="mso-margin-top-alt: auto; mso-margin-bottom-alt: auto; mso-list: l0 level1 lfo2; tab-stops: list .5in;"><span style="font-family: "Times New Roman",serif; mso-fareast-font-family: "Times New Roman";">Using standalone functions</span></li> <li class="MsoNormal" style="mso-margin-top-alt: auto; mso-margin-bottom-alt: auto; mso-list: l0 level1 lfo2; tab-stops: list .5in;"><span style="font-family: "Times New Roman",serif; mso-fareast-font-family: "Times New Roman";">Managing identities</span></li> <li class="MsoNormal" style="mso-margin-top-alt: auto; mso-margin-bottom-alt: auto; mso-list: l0 level1 lfo2; tab-stops: list .5in;"><span style="font-family: "Times New Roman",serif; mso-fareast-font-family: "Times New Roman";">Calling functions from a client</span></li> <li class="MsoNormal" style="mso-margin-top-alt: auto; mso-margin-bottom-alt: auto; mso-list: l0 level1 lfo2; tab-stops: list .5in;"><span style="font-family: "Times New Roman",serif; mso-fareast-font-family: "Times New Roman";">Designing an authentication service</span></li> <li class="MsoNormal" style="mso-margin-top-alt: auto; mso-margin-bottom-alt: auto; mso-list: l0 level1 lfo2; tab-stops: list .5in;"><span style="font-family: "Times New Roman",serif; mso-fareast-font-family: "Times New Roman";">Implementing an authentication service</span></li> <li class="MsoNormal" style="mso-margin-top-alt: auto; mso-margin-bottom-alt: auto; mso-list: l0 level1 lfo2; tab-stops: list .5in;"><span style="font-family: "Times New Roman",serif; mso-fareast-font-family: "Times New Roman";">Adding more features to the authentication service</span></li> <li class="MsoNormal" style="mso-margin-top-alt: auto; mso-margin-bottom-alt: auto; mso-list: l0 level1 lfo2; tab-stops: list .5in;"><span style="font-family: "Times New Roman",serif; mso-fareast-font-family: "Times New Roman";">Building a media-sharing application</span></li> <li class="MsoNormal" style="mso-margin-top-alt: auto; mso-margin-bottom-alt: auto; mso-list: l0 level1 lfo2; tab-stops: list .5in;"><span style="font-family: "Times New Roman",serif; mso-fareast-font-family: "Times New Roman";">Why event-driven?</span></li> </ol> <p class="MsoNormal" style="mso-margin-top-alt: auto; mso-margin-bottom-alt: auto; margin-left: .5in; mso-outline-level: 4;"><strong><span style="font-family: "Times New Roman",serif; mso-fareast-font-family: "Times New Roman";">PART 3 - FROM DEVELOPMENT TO PRODUCTION</span></strong></p> <ol start="13" type="1"> <li class="MsoNormal" style="mso-margin-top-alt: auto; mso-margin-bottom-alt: auto; mso-list: l0 level1 lfo2; tab-stops: list .5in;"><span style="font-family: "Times New Roman",serif; mso-fareast-font-family: "Times New Roman";">Improving development and testing</span></li> <li class="MsoNormal" style="mso-margin-top-alt: auto; mso-margin-bottom-alt: auto; mso-list: l0 level1 lfo2; tab-stops: list .5in;"><span style="font-family: "Times New Roman",serif; mso-fareast-font-family: "Times New Roman";">Automating deployment</span></li> <li class="MsoNormal" style="mso-margin-top-alt: auto; mso-margin-bottom-alt: auto; mso-list: l0 level1 lfo2; tab-stops: list .5in;"><span style="font-family: "Times New Roman",serif; mso-fareast-font-family: "Times New Roman";">Automating infrastructure management</span></li> </ol> <p class="MsoNormal" style="mso-margin-top-alt: auto; mso-margin-bottom-alt: auto; margin-left: .5in; mso-outline-level: 4;"><strong><span style="font-family: "Times New Roman",serif; mso-fareast-font-family: "Times New Roman";">PART 4 - USING EXTERNAL SERVICES</span></strong></p> <ol start="16" type="1"> <li class="MsoNormal" style="mso-margin-top-alt: auto; mso-margin-bottom-alt: auto; mso-list: l0 level1 lfo2; tab-stops: list .5in;"><span style="font-family: "Times New Roman",serif; mso-fareast-font-family: "Times New Roman";">Calling external services</span></li> <li class="MsoNormal" style="mso-margin-top-alt: auto; mso-margin-bottom-alt: auto; mso-list: l0 level1 lfo2; tab-stops: list .5in;"><span style="font-family: "Times New Roman",serif; mso-fareast-font-family: "Times New Roman";">Receiving events from other services</span></li> </ol> <p class="MsoNormal">Â </p>