Learn you some Lambda best practice for great good!
You will learn AWS Lambda best practices around performance, cost, security and much more. By the end of this course, you should be able to make informed decisions on which AWS service to use with Lambda and how to build highly scalable, resilient and cost efficient serverless applications.
Are you worried about getting a big AWS bill? We have an extensive section on cost optimization techniques. You should get a firm grasp on how to keep your AWS cost in check, even if you're new to AWS and serverless.
Cold Starts
You have been using Lambda for a while, but are you still not sure how cold starts REALLY work? In the performance section, you will learn techniques that actually work, and when to use Provisioned Concurrency.
Relevant in 2020
Serverless is evolving rapidly, best practices and patterns are still emerging. You will learn about the latest features, tools and techniques and how to get the most out of your serverless application!
Curriculum
1
Instruction
Welcome
About your instructor
About this course
Before you start...
2
Performance
Tuning function memory
What's in a cold start?
What affects the initialization time?
Measuring cold start performance
Make cold starts faster [node.js]
Introduction to Provisioned Concurrency
When to use Provisioned Concurrency
Enable HTTP keep-alive
Process data in parallel [node.js]
3
Scalability
Fan-out
Controlling concurrency
API Gateway service proxies
Load testing
Provisioned concurrency
Handling RDS connections
4
Security
Principle of least privilege
Secret management part 1
Secret management part 2
API Gateway
Server-side encryption
5
Resilience
Multi-region, active-active
Handling partial failures
Standardise error handling through middlewares/wrappers
When to use Lambda destinations?
6
Observability
Alerts you can't do without
Logging
Distributed tracing
Distributed tracing with X-Ray
Distributed tracing with Lumigo
Distributed tracing with Epsagon
Distributed tracing with Thundra
Distributed tracing summary
Correlation IDs
Lambda powertools [node.js]
7
Cost
Tuning function memory
Cost monitoring tools
Watch out for costs for peripheral services
Keeping CloudWatch Logs cost in check
SNS vs SQS vs EventBridge vs Kinesis
API Gateway service proxies
API Gateway REST API vs HTTP API vs ALB
Use batching to reduce cost
Lambda Provisioned Concurrency
8
Next Steps...
Congratulation! And what next...
More resources for you
Before you go...
Meet Yan Cui, your instructor
AWS Serverless Hero
Hi, my name is Yan Cui. I'm an AWS Serverless Hero and the instructor of this course. I'm also the author of Production-Ready Serverless by Manning and a regular speaker at user groups and conferences internally.
I am an experienced engineer and have run production workload on AWS for 10 years. I have been an architect and principal engineer with a variety of industries ranging from banking, e-commerce, sports streaming to mobile gaming. I have worked extensively with AWS Lambda in production and have been helping clients around the world adopt AWS and serverless as an independent consultant.
FAQ
I'm already using Lambda in production, what will I learn from this course?
I work with a lot of clients who are already running Lambda in production, but they still make poor decisions in their serverless architecture. The thing is, the Lambda platform is evolving rapidly and many are following out-dated advice that doesn’t take into account new service features and tools that are now available to them.
With this course, you will learn timely advice based on the latest developments in the platform and the wider ecosystem.
I don't have a lot of time to learn, is this course for me?
This course is designed with busy developers like you in mind. It's structured as a collection of bite-sized lessons so that you can easily drop in and out, and extract the most learning with the minimum time commitment.
How does this related to Production-Ready Serverless?
It touches on overlapping areas such as observability, but covers newer features, tools and techniques (such as Provisioned Concurrency) that weren't available when I made Production-Ready Serverless. It also covers additional areas such as cost optimization and multi-region resilience which were outside the scope of Production-Ready Serverless.
At the same time, there are plenty of topics that are covered in Production-Ready Serverless that I will not cover in this course, such as project organization, testing, etc. Whereas Production-Ready Serverless gives you a hands-on project to follow along and build something from scratch, this course gives you many small, independent lessons (a mix of theory and demos).