Production-Ready Serverless
Operational Best Practices
Yan Cui
  • Course duration: 8h 16m
    Estimated full duration: 10h
    43 exercises
  • MEAP began December 2017
  • Publication in July 2018 (estimated)

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

AWS Lambda 101

Serverless framework 101

Managing permissions for the Serverless framework

Building API with API Gateway and Lambda

Creating landing page

Creating the restaurants API

Displaying restaurants in the landing page

How to secure APIs in API Gateway

Securing 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?

Setup a CI/CD pipeline for deploying Lambda functions

Troubleshoot AWS CodeBuild problems

Summary

Project Organization Tips

Few monolithic functions vs many single-purposed functions

How should you organize your functions into repos?

How should you managed 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

Implement the notify restaurant step

Implement the accept order step

Implement the notify user step

Implement the fulfill order step

Dealing with partial failures

Implement partial failure retries with SNS

Implement per-function IAM roles

Leading practices for using Kinesis and Lambda

Problems with the event-driven approach

Summary

Logging

Push Logs from CloudWatch Logs to Elasticsearch

Structured Logging

Sample debug level logging

Monitoring

Serverless monitoring requires a different way of thinking

Record custom metrics synchronously

Record custom metrics asynchronously

Record memory usage and billed duration as metrics

Auto-create alarms for APIs

Summary

X-Ray

AWS X-Ray 101

Use X-Ray to trace Lambda executions

Set up custom X-Ray traces in Lambda functions

AWS X-Ray Limitations

Correlation IDs

Laying out the Plan

Auto-capture incoming correlation IDs via HTTP headers

Include all the captured correlation IDs in the logs

Forward correlation IDs via HTTP headers

Forward correlation IDs via Kinesis events

Auto-capture incoming correlation IDs via Kinesis events

Enable debug logging on individual user events

Auto-capture incoming correlation IDs via SNS messages

Forward correlation IDs via SNS messages

Summary

Performance

Life cycle of a Lambda function

Strategies to minimize cold starts

Take advantage of container reuse for optimization

Cost considerations

Error Handling

Lambda retry behaviours

Lambda Limits

Hard and soft limits for Lambda

Other service limits

How to request a soft limit raise

Managing Configurations

SSM Parameter Store 101

Reference SSM parameters in serverless.yml

Limitations with Lambda environment variables

Use Middy middleware to load SSM parameters at runtime

Secrets Manager 101

Use Middy middleware to load Secrets Manager secrets at runtime

Considerations for advanced use cases

VPC

Configure Lambda functions access to VPC

When to use VPC and why you mostly shouldn’t

Canary deployments

Why should we do canary deployments?

How can we implement canary deployments?

What are weighted alias?

Introducing API Gateway canary releases

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!


Manning Early Access Program (MEAP) Watch raw videos as they are added, and get the entire course, complete with transcript and exercises, when it is finished.
Buy
MEAP liveVideo $79.99