Production-Ready Serverless
Operational Best Practices
Yan Cui
  • Course duration: 9h 16m
    45 exercises

The level of detail and pace are perfect for someone looking to tackle a complicated subject and being directly hands on like this is great. Best resource for real-world Serverless usage I have seen so far.

Survey Responder

See it. Do it. Learn it! Production-Ready Serverless: Operational Best Practices introduces you to leading patterns and practices for creating operationally sound serverless applications using AWS Lambda, API Gateway, and Kinesis. You'll enjoy the professionally-produced video instruction from AWS expert Yan Cui, along with live exercises, text-based navigation, and the other innovative features built into Manning's liveVideo platform.

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!

Table of Contents detailed table of contents

Introduction

Introduction to course

Resources, exercises, and activities

AWS Lambda 101

Serverless Framework 101

Managing permissions for the Serverless Framework

Building API with API Gateway and Lambda

Creating a landing page

Creating the restaurants API

Displaying restaurants on the landing page

How to secure APIs in API Gateway

Securing the get-restaurants endpoint with IAM authorization

Cognito 101

Securing API endpoints with Cognito user pools

Leading practices for API Gateway

Summary

Testing

AWS Lambda requires a different approach to testing

Writing integration tests

Writing acceptance tests

BONUS What can possibly go wrong?

Debugging

Running and debugging functions locally with the Serverless Framework

Running and debugging functions locally with SAM local

Serverless Framework vs. SAM Local

CI/CD

What is CI/CD?

Setting up a CI/CD pipeline for deploying Lambda functions

Troubleshooting AWS CodeBuild problems

Summary

Project Organization Tips

Few monolithic functions vs. many single-purpose functions

How should you organize your functions into repos?

How should you manage shared infrastructures?

Tips for more effective teamwork

Process real-time events with Kinesis & Lambda

Designing the order flow with events

Implementing the place-order step

Implementing the notify-restaurant step

Implementing the accept-order step

Implementing the notify-user step

Implementing the fulfill-order step

Dealing with partial failures

Implementing partial failure retries with SNS

Implementing per-function IAM roles

Leading practices for using Kinesis and Lambda

Problems with the event-driven approach

Summary

Logging

Pushing logs from CloudWatch Logs to Elasticsearch

Structured logging

Sample debug-level logging

Monitoring

Serverless monitoring requires a different way of thinking

Recording custom metrics synchronously

Recording custom metrics asynchronously

Recording memory usage and billed duration as metrics

Auto-creating alarms for APIs

Summary

X-Ray

AWS X-Ray 101

Using X-Ray to trace Lambda executions

Setting up custom X-Ray traces in Lambda functions

AWS X-Ray limitations

Correlation IDs

Laying out the plan

Auto-capturing incoming correlation IDs via HTTP headers

Including all the captured correlation IDs in the logs

Forwarding correlation IDs via HTTP headers

Forwarding correlation IDs via Kinesis events

Auto-capturing incoming correlation IDs via Kinesis events

Enabling debug logging on individual user events

Auto-capturing incoming correlation IDs via SNS messages

Forwarding correlation IDs via SNS messages

Summary

Performance

Lifecycle of a Lambda function

Strategies to minimize cold starts

Taking advantage of container reuse for optimization

Cost considerations

Error Handling

Lambda retry behaviors

Lambda Limits

Hard and soft limits for Lambda

Other service limits

How to request a soft limit raise

Managing Configurations

SSM Parameter Store 101

Referencing SSM parameters in serverless.yml

Limitations with Lambda environment variables

Using Middy middleware to load SSM parameters at runtime

Secrets Manager 101

Using Middy middleware to load Secrets Manager secrets at runtime

Considerations for advanced use cases

VPC

Configuring Lambda functions' access to a VPC

When to use VPC and why you mostly shouldn’t

You don’t need VPCs to secure your functions

FunctionShield

Encapsulating common middleware with a wrapper

Canary deployments

Why should we do canary deployments?

Lambda weighted alias 101

sls deploy with weighted alias

Enabling auto-rollback during deployment

Problems with weighted alias

Problems with CodeDeploy

Wrap up/Next

Credits

About the subject

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!

Prerequisites

For developers with some experience building cloud-based applications on AWS.

What you will learn

  • 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

About the instructor

Yan Cui has worked with AWS since 2010 and has architected and implemented many scalable backend systems running on AWS, including a successful mobile game with 1,000,000 daily active users. He has worked with AWS Lambda in production extensively in the last 18 months, including migrating a social network from a monolithic backend architecture running on EC2 to an event-driven, service-oriented architecture centered around AWS Lambda. Yan is also an AWS hero!


liveVideo $79.99
Prices displayed in rupees will be charged in USD when you check out.

placing your order...

Don't refresh or navigate away from the page.

An essential guide to getting started with Serverless with AWS Lambda.

Michael Bright

The jump start you need to serverless AWS Development.

Paulo Cesar Dias Lima

Excellent introduction to securing and deploying your first serverless lambda on AWS.

Anonymous Reviewer