Least privilege done properly
Every function gets exactly the permissions it needs. I rewrote our team's SAM templates using the policy template examples.
Browse
Build and deploy a real HTTP API with AWS SAM and Python, model data in DynamoDB, and handle permissions, errors, observability and cost
Created by Mateo Silva
Serverless lets you run code without managing servers, scale to zero when idle and pay per request. It also brings its own problems: permissions spread across many functions, data modelling that does not look like SQL, cold starts and debugging across services. This course builds one real application and tackles each of those honestly.
A bookings API for a small workshop business: customers list available sessions, make bookings and receive a confirmation; staff see bookings per day. You build it with:
We spend real time on the parts tutorials skip: least privilege IAM for every function, idempotent handlers, retries and dead letter queues, structured logging and tracing with Powertools for AWS Lambda, and a cost model you can explain to a manager. You will also learn when serverless is the wrong choice.
All resources fit comfortably in a small monthly budget, and the final lesson removes everything with one command.
Builds serverless and Kubernetes platforms on AWS. Teaches Lambda, CDK and Helm with real projects
I am a platform engineer who moves between two worlds: serverless applications on AWS Lambda and container platforms on Kubernetes. Teams usually need both, and I teach the trade offs honestly.
Each of my courses is built around one project that grows from a single file to something you could hand to a team: an HTTP API, a CDK app with tests, a Helm chart with sane defaults. I care about the parts tutorials skip, such as permissions, configuration per environment, rollbacks and cost.
I write infrastructure in TypeScript and YAML most days and I will show you the mistakes I made so you can skip them.
Every function gets exactly the permissions it needs. I rewrote our team's SAM templates using the policy template examples.
Structured logs, metrics and tracing with almost no extra code. Following one request across services was very satisfying.
Starting from access patterns before designing the table was the missing step for me. The bookings example is realistic.
Watching parallel requests try to grab the last seat, then fixing it with a conditional write, made the concept stick.
The single table design lesson needed a second watch, but it is the best explanation I have seen.
I liked the comparison with containers at different traffic levels. Not every course admits when serverless is the wrong choice.
Content is strong. Our team uses TypeScript, so I had to translate the examples myself.