Programming AWS Lambda: Build and Deploy Serverless Applications with Java
- Length: 278 pages
- Edition: 1
- Language: English
- Publisher: O'Reilly Media
- Publication Date: 2020-04-07
- ISBN-10: 149204105X
- ISBN-13: 9781492041054
- Sales Rank: #2432749 (See Top 100 Books)
Serverless revolutionizes the way organizations build and deploy software. With this hands-on guide, Java engineers will learn how to use their experience in the new world of serverless computing. You’ll discover how this cloud computing execution model can drastically decrease the complexity in developing and operating applications while reducing costs and time to market.
Engineering leaders John Chapin and Mike Roberts guide you through the process of developing these applications using AWS Lambda, Amazon’s event-driven, serverless computing platform. You’ll learn how to prepare the development environment, program Lambda functions, and deploy and operate your serverless software. The chapters include exercises to help you through each aspect of the process.
- Get an introduction to serverless, functions as a service, and AWS Lambda
- Learn how to deploy working Lambda functions to the cloud
- Program Lambda functions and learn how the Lambda platform integrates with other AWS services
- Build and package Java-based Lambda code and dependencies
- Create serverless applications by building a serverless API and data pipeline
- Test your serverless applications using automated techniques
- Apply advanced techniques to build production-ready applications
- Understand both the gotchas and new opportunities of serverless architecture
Foreword Preface About This Book Why We Wrote This Book Who This Book Is For Why You Need This Book Using the End-of-Chapter Exercises Conventions Used in This Book Using Code Examples O’Reilly Online Learning How to Contact Us Acknowledgments 1. Introduction to Serverless, Amazon Web Services, and AWS Lambda A Quick History Lesson The Cloud Grows Enter Serverless Backend as a Service Functions as a Service Differentiating Serverless What Is AWS? Types of Service Capacity Who Uses AWS? How Do You Use AWS? What Is AWS Lambda? Functions as a Service FaaS as Implemented by Lambda Why Lambda? What Does a Lambda Application Look Like? AWS Lambda in the Java World Summary Exercises 2. Getting Started with AWS Lambda Quick Guide to the AWS Console Regions Identity and Access Management Lambda Hello World (as Quickly as Possible) Setting Up Your Development Environment AWS Command Line Interface Java Setup AWS SAM CLI Installation Lambda Hello World (the Proper Way) Creating Your First Java Lambda Project Building Hello World Creating the Lambda Function Summary Exercises 3. Programming AWS Lambda Functions Core Concepts: Runtime Model, Invocation The Lambda Execution Environment Invocation Types Introduction to Logging Input, Output Lambda Function Method Signatures Configuring the Handler Function in the SAM Template Basic Types Lists and Maps POJOs and Ecosystem Types Streams Context Timeout Memory and CPU Environment Variables Summary Exercises 4. Operating AWS Lambda Functions Build and Package Uberjars Assembling a ZIP File Reproducible Builds Deploy Infrastructure as Code CloudFormation and the Serverless Application Model Security The Principle of Least Privilege Identity and Access Management Summary Exercises 5. Building Serverless Applications Lambda Event Sources Writing Code to Work with Input and Output for Event Sources Configuring a Lambda Event Source Understanding Different Event Source Semantics Example: Building a Serverless API Behavior Architecture Lambda Code Build and Package Using the AWS SDK BOM Infrastructure Deployment Example: Building a Serverless Data Pipeline Behavior Architecture Lambda Code Build and Package Using Multiple Modules and Isolated Artifacts Infrastructure Deployment Summary Exercises 6. Testing The Test Pyramid Unit Tests Functional Tests End-to-End Tests Refactoring for Testing Revisiting BulkEventsLambda Refactoring BulkEventsLambda Add Constructors Isolate Side Effects Split Methods Testing BulkEventsLambda Unit Testing Functional Testing End-to-End Testing Local Cloud Testing Cloud Test Environments Summary Exercise 7. Logging, Metrics, and Tracing Logging CloudWatch Logs LambdaLogger Java Logging Frameworks Structured Logging Structured Logging in Java CloudWatch Logs Insights Metrics CloudWatch Metrics Lambda Platform Metrics Business Metrics Alarms Distributed Tracing Finding Errors Summary Exercises 8. Advanced AWS Lambda Error Handling Classes of Error The Various Behaviors of Lambda Error Processing Deep Dive into Asynchronous Event Source Errors Handling Kinesis and DynamoDB Stream Errors Tracing Errors with X-Ray Error Handling Strategies Scaling Observing Lambda Scaling Scaling Limits and Throttling Thread Safety Vertical Scaling Versions and Aliases, Traffic Shifting Lambda Versions Lambda Aliases Traffic Shifting When (Not) to Use Versions and Aliases Cold Starts What Is a Cold Start? When Does a Cold Start Occur? Identifying Cold Starts Impact of Cold Starts Mitigating Cold Starts Provisioned Concurrency Cold Start Summary State Persistent Application State Caching Lambda and Java Application Frameworks Virtual Private Clouds Architectural Concerns of Using Lambda with a VPCs Configuring Lambda to Use a VPC Alternatives Layers and Runtimes What Are Layers? When to Use, and Not Use, Layers Custom Runtimes Summary Exercises 9. Advanced Serverless Architecture Serverless Architecture “Gotchas” At-Least-Once Delivery Impacts of Lambda Scaling on Downstream Systems The “Fine Print” of Lambda Event Sources New Patterns of Architecture Enabled by Serverless Thinking Published Components with the Serverless Application Repository Globally Distributed Applications Summary Exercises 10. Conclusion Index
Donate to keep this site alive
How to download source code?
1. Go to: https://www.oreilly.com/
2. Search the book title: Programming AWS Lambda: Build and Deploy Serverless Applications with Java
, sometime you may not get the results, please search the main title
3. Click the book title in the search results
3. Publisher resources
section, click Download Example Code
.
1. Disable the AdBlock plugin. Otherwise, you may not get any links.
2. Solve the CAPTCHA.
3. Click download link.
4. Lead to download server to download.