Sign up to be notified of the release of the reInvent 2020 Review, including live Q&A with Yan Cui on Friday 11 December 12:30 PST, and other Homeschool by Senzo courses and promotions.

Thank you!

Thank for you signing up. Check your inbox for updates and access to the platform.

Production Ready Serverless

No classes scheduled

Get ready to go Serverless in Production with this 4 week course delivered by Yan Cui. This course takes you through building a production ready serverless website from testing, deployment, security right through to observability.

The motivation for this course is to give you hands-on experience building something with serverless technologies while giving you a broader view of the challenges you will face as the architecture matures and expands.

We will start at the basics and give you a firm introduction to Lambda and all the relevant concepts and service features, gradually ramping up and cover a wide array of topics such as API security, testing strategies, CI/CD, secret management, and operational best practices for monitoring and troubleshooting.

Upcoming

No classes scheduled

Building Serverless APIs

The course is kicked off covering the basics of building a Serverless application.

This includes an introduction to foundational services like Lambda, Cloud Formation, DynamoDB, API Gateway, Cognito, IAM and the Serverless Framework.

By the end of the week you would have deployed a basic Serverless application!

Woman Sitting
Week 1
AWS Lambda 101
Cloudformation 101
Serverless framework 101
DynamoDB 101
API Gateway 101
Building APIs with API Gateway and Lambda
Securing APIs with AWS IAM
Cognito 101
Securing APIs with Cognito User Pools
API Gateway best practices
API Gateway REST API vs HTTP API vs ALB
Man Walking

Testing and CI/CD

The second week dives into testing, integration and deployment of your Serverless application.

It starts with how and why you should approach testing Serverless applications differently, then dives into writing unit and integration tests for the Serverless application you build the previous week.

Finally at the end of the week the course will teach you how to setup CI/CD to continously test and deploy your Serverless application.

Week 2
Serverless requires a different approach to testing
How to write integration tests
Writing integration tests
How to write acceptance tests
Writing acceptance tests
Best practices for CI/CD security
Setting up CI/CD with CircleCI
SSM parameter store
Using SSM parameter store as input and output for project
Securely handle secrets
Load secrets securely

Data Processing

Week three brings us to asynchronous proccess of event data.

You'll get introduction to EventBridge and learn how to process events asynchronously, and how to test asynchronous event handlers.

You'll learn the differences between the various messaging and queueing mechanisms of AWS, from Kinesis, SNS, SQS, and EventBridge, and when to use them.

The week ends off with an overview of Orchestration vs Choreogrpahy and when to use one or the other.

Woman Standing
Week 3
How to organise your serverless projects
Introduction to EventBridge
Processing events with EventBridge
How to include async event sources in end-to-end tests
How to include SNS as part of the end-to-end tests
How to include EventBridge as part of the end-to-end tests
Dealing with partial failures
Per function IAM roles
SNS vs SQS vs Kinesis vs EventBridge
Choreography vs orchestration
Man Sitting

Operations and Obeservability

In the final week of the course we learn how to operationalise your Serverless application.

It covers observability fundamentals, such as logging, from aggregation, structured logging through to log sampling, and distributed tracing using correlation IDs.

It includes useful real world tips on how to avoid costly mistakes and how to right size your functions.

The week closes out with a wrap up from Yan that covers everything you should have learnt over the duration of the course.

Week 4
Log aggregation
Structured logging
Sampling debug logs in production
Distributed tracing with X-Ray
How to use correlation IDs to help you debug issues
Capture and forward correlation IDs through HTTP
Capture and forward correlation IDs through events
Alerts you should have
How to right-size Lambda function memories
Costly mistakes you should avoid
Distributed tracing with Lumigo
Wrap up
Nader Dabit (@dabit3)
Shawn Wang (@swyx)
Vanessa Ho

Structure

The class takes place over 4 weeks, with an average time commitment of 4 to 5 hours per week. Each week will follow this schedule:

Mondays: Lectures and learning exercise released within the Senzo platform; you'll need to be logged in to access this.

All week: Peer chat and exercise sharing via chat server with your Instructor and class cohort.

Mondays, 11am and 11pm CEST: Live recap and Q&A sessions (~1 hour) with the instructor, recap the week, exercise answers released.

Course materials are permanently available on the Senzo platform after they've been released, and you retain access in perpetuity.

What you'll need...

  • A basic understanding of Amazon Web Services (AWS) and how it works.
  • Your own laptop with a terminal emulator. eg iTerm2, Microsoft Terminal
  • A code editor or IDE. eg VS Code, Sublime, VIM, Emacs, Visual Studio, IntelliJ, etc
  • An active AWS account. All examples will work on the AWS Free Tier if you have a new account

Who it's for...

If you are in any of the following roles, you'll benefit from this class:

Backend Engineers whose main focus is building business logic and managing APIs and data processing pipelines (which can include monitoring and being on-call as well).

DevOps engineers whose main focus is in managing the company’s AWS environment and shared infrastructures such as CI/CD, VPCs, IAM users/roles and sometimes general AWS security.

Security engineers whose main focus is in the overall security of the company’s application, which spans across application security, AWS security, CI/CD pipelines as well as incident management.

Fullstack engineers who have to dabble with both frontend and backend technologies and whom increasingly need to be fluent with AWS and its serverless offerings.

Tech Lead, Architects and Engineering Managers who want to get a deeper understanding of serverless technologies so they can better help their teams make the best architectural decisions and solve architectural challenges they face.