Production Ready Serverless


1 September 2020 Book Now


1 September 2020 Book Now

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.


Week 1

AWS Lambda 101 [Lecture + Demo]
Cloudformation 101 [Lecture]
Serverless framework 101 [Demo]
DynamoDB 101 [Lecture]
API Gateway 101 [Lecture]
Building APIs with API Gateway and Lambda [Exercise]
API Keys vs AWS_IAM vs Cognito vs Authorizer function vs IP allow list/deny listing vs private APIs [Lecture]
Securing APIs with AWS_IAM [Exercise]
Cognito 101 [Lecture]
Securing APIs with Cognito User Pools [Exercise]
API Gateway best practices [Lecture]
API Gateway REST API vs HTTP API vs ALB [Lecture]

Week 2

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

Week 3

How to organise your serverless projects [Lecture]
Introduction to EventBridge [Lecture + Demo]
Processing events with EventBridge [Exercise]
How to include async event sources in end-to-end tests [Lecture]
How to include SNS as part of the end-to-end tests [Exercise]
How to include EventBridge as part of the end-to-end tests [Exercise]
Dealing with partial failures [Lecture]
Per function IAM roles [Exercise]
SNS vs SQS vs Kinesis vs EventBridge [Lecture]
Choreography vs orchestration [Lecture]

Week 4

Log aggregation with [Exercise]
Structured logging [Exercise]
Sampling debug logs in production [Exercise]
Distributed tracing with X-Ray [Exercise]
How to use correlation IDs to help you debug issues [Lecture]
Capture and forward correlation IDs through HTTP [Exercise]
Capture and forward correlation IDs through events [Exercise]
Alerts you should have [Lecture]
How to right-size Lambda function memories [Lecture]
Costly mistakes you should avoid [Lecture]
Distributed tracing with Lumigo [Exercise]
Wrap up [Lecture]


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.