Production-Ready Serverless: Operational Best Practices

Production-Ready Serverless: Operational Best Practices

English | MP4 | AVC 1280×720 | AAC 44KHz 2ch | 9h 16m | 1.73 GB

Production-Ready Serverless: Operational Best Practices teaches you how to build applications that take advantage of AWS Lambda and other AWS platform features like API Gateway and Kinesis. AWS expert Yan Cui guides you from writing your first AWS Lambda functions through handling the operational challenges Lambda can bring as you integrate serverless development practices into your applications. You’ll build a basic e-commerce site piece by piece, including a Lambda-based web API using the API Gateway service. This hands-on course introduces processing events in real-time using Lambda and Kinesis Streams, implementing security against common OWASP attacks, modern serverless design patterns, and best practices for maximizing performance and minimizing cost!

AWS Lambda is a platform for running cloud-hosted functions—small, single-responsibility services that handle tasks and orchestrate data flow among other AWS services. Lambda functions responds to the events triggered by users and your application. AWS automatically scales Lambda for you based on demand, so you can minimize infrastructure plumbing management and enjoy the reliability, security, and responsiveness you need to create amazing applications!

Inside:

  • Creating and deploying Lambda functions with the Serverless framework
  • Building web APIs with Lambda and API Gateway
  • Implementing authentication and authorization using API Gateway, IAM, and Cognito User Pools
  • Implementing canary deployments using API Gateway and Lambda
  • Processing real-time events with Lambda and Kinesis Streams
  • Collecting and aggregating analytics events in real-time
  • Testing Lambda functions
  • Managing configurations for Lambda functions at scale
  • Securing applications against common OWASP attacks
  • Leading practices for Lambda, API Gateway and Kinesis Serverless design patterns
Table of Contents

01 Introduction to course
02 AWS Lambda 101
03 Serverless Framework 101
04 Managing permissions for the Serverless Framework
05 Creating a landing page
06 Creating the restaurants API
07 Displaying restaurants on the landing page
08 How to secure APIs in API Gateway
09 Securing the get-restaurants endpoint with IAM authorization
10 Cognito 101
11 Securing API endpoints with Cognito user pools
12 Leading practices for API Gateway
13 Summary
14 AWS Lambda requires a different approach to testing
15 Writing integration tests
16 Writing acceptance tests
17 BONUS What can possibly go wrong
18 Running and debugging functions locally with the Serverless Framework
19 Running and debugging functions locally with SAM local
20 Serverless Framework vs. SAM Local
21 What is CI_CD
22 Setting up a CI_CD pipeline for deploying Lambda functions
23 Troubleshooting AWS CodeBuild problems
24 Summary
25 Few monolithic functions vs. many single-purpose functions
26 How should you organize your functions into repos
27 How should you manage shared infrastructures
28 Tips for more effective teamwork
29 Designing the order flow with events
30 Implementing the place-order step
31 Implementing the notify-restaurant step
32 Implementing the accept-order step
33 Implementing the notify-user step
34 Implementing the fulfill-order step
35 Dealing with partial failures
36 Implementing partial failure retries with SNS
37 Implementing per-function IAM roles
38 Leading practices for using Kinesis and Lambda
39 Problems with the event-driven approach
40 Summary
41 Pushing logs from CloudWatch Logs to Elasticsearch
42 Structured logging
43 Sample debug-level logging
44 Serverless monitoring requires a different way of thinking
45 Recording custom metrics synchronously
46 Recording custom metrics asynchronously
47 Recording memory usage and billed duration as metrics
48 Auto-creating alarms for APIs
49 Summary
50 AWS X-Ray 101
51 Using X-Ray to trace Lambda executions
52 Setting up custom X-Ray traces in Lambda functions
53 AWS X-Ray limitations
54 Laying out the plan
55 Auto-capturing incoming correlation IDs via HTTP headers
56 Including all the captured correlation IDs in the logs
57 Forwarding correlation IDs via HTTP headers
58 Forwarding correlation IDs via Kinesis events
59 Auto-capturing incoming correlation IDs via Kinesis events
60 Enabling debug logging on individual user events
61 Auto-capturing incoming correlation IDs via SNS messages
62 Forwarding correlation IDs via SNS messages
63 Summary
64 Lifecycle of a Lambda function
65 Strategies to minimize cold starts
66 Taking advantage of container reuse for optimization
67 Cost considerations
68 Lambda retry behaviors
69 Hard and soft limits for Lambda
70 Other service limits
71 How to request a soft limit raise
72 SSM Parameter Store 101
73 Referencing SSM parameters in serverless.yml
74 Limitations with Lambda environment variables
75 Using Middy middleware to load SSM parameters at runtime
76 Secrets Manager 101
77 Using Middy middleware to load Secrets Manager secrets at runtime
78 Considerations for advanced use cases
79 Configuring Lambda functions’ access to a VPC
80 When to use VPC and why you mostly shouldn’t
81 You don’t need VPCs to secure your functions
82 FunctionShield
83 Encapsulating common middleware with a wrapper
84 Why should we do canary deployments
85 Lambda weighted alias 101
86 sls deploy with weighted alias
87 Enabling auto-rollback during deployment
88 Problems with weighted alias
89 Problems with CodeDeploy
90 Wrap up_Next