AWS in Production
About This Book
Dedication
About the Author
Acknowledgements
Introduction
Why I Wrote This Book
Who This Book Is For
What This Book Covers
The Project Thread
Tools You Will Need
A Note on Cost
On Code Examples
One Thing Before You Start
Part 1: Core Serverless
Route 53 — DNS & Routing Basics
What You’ll Learn
Prerequisites
Why Start Here
How DNS Works
Concepts
Hosted Zones
Record Types
Routing Policies
Hands-On: Point a Custom Domain at an S3 Static Website
Step 1: Create an S3 bucket for static hosting
Step 2: Create a hosted zone
Step 3: Create an ALIAS record
Step 4: Verify
Production Patterns
Key Takeaways
What’s Next
Chapter 1 Quiz
3 attempts allowed
Lambda — Functions & Execution Model
What You’ll Learn
Prerequisites
Why Lambda Changes the Architecture
Concepts
The Execution Model
Function Configuration
IAM Execution Role
Function URLs – HTTPS Without API Gateway
Response Streaming
Hands-On: Deploy Your First Function
Step 1: Write the function
Step 2: Build and package
Step 3: Create the execution role
Step 4: Create the function
Step 5: Invoke and inspect
Production Patterns
Key Takeaways
What’s Next
Chapter 2 Quiz
3 attempts allowed
API Gateway — Building HTTP APIs
What You’ll Learn
Prerequisites
Why API Gateway
Lambda Function URLs vs API Gateway
Concepts
API Types
Integration Types
Stages and Deployments
Custom Domains
Hands-On: HTTP API with Lambda, Custom Domain, and CORS
Step 1: Create the HTTP API
Step 2: Create a Lambda integration
Step 3: Create routes
Step 4: Allow API Gateway to invoke Lambda
Step 5: Deploy to the default stage
Step 6: Test
Production Patterns
Key Takeaways
What’s Next
Chapter 3 Quiz
3 attempts allowed
CloudWatch Intro — Logs & Metrics
What You’ll Learn
Prerequisites
Why Observability Comes Before More Features
Concepts
Logs
Metrics
Alarms
Hands-On: Error Rate Alarm with Email Notification
Step 1: Create an SNS topic for alerts
Step 2: Create the alarm
Step 3: Trigger an error to verify
Structured Logging Pattern
Key Takeaways
What’s Next
Chapter 4 Quiz
3 attempts allowed
Step Functions — Orchestrating Workflows
What You’ll Learn
Prerequisites
The Problem Step Functions Solves
Concepts
State Types
Standard vs Express
Input/Output Processing
Error Handling
Hands-On: Order Processing Pipeline
The state machine definition
Deploy and test
Key Takeaways
What’s Next
Chapter 5 Quiz
3 attempts allowed
Infrastructure as Code — Serverless Framework, CDK, SST & Terraform
What You’ll Learn
Prerequisites
Why Infrastructure as Code
Choosing Your Tool
AWS CDK
Equivalent setup: Lambda + HTTP API + DynamoDB
Deploy
Infrastructure testing
SST (Serverless Stack)
Installing Serverless Framework
Concepts
serverless.yml Structure
Packaging Go Functions
Plugins
Multi-Stage Config
Hands-On: Deploy the Part 1 Project with Serverless Framework
Project structure
Full serverless.yml
Deploy
Inspect what was created
Tear down
Terraform
Prerequisites
Remote State
Variables
Lambda + API Gateway + DynamoDB
Build, Deploy, and Tear Down
Multi-Stage with Workspaces
The Split Deployment Pattern
Key Takeaways
Chapter 6 Quiz
3 attempts allowed
Part 2: AWS Services
IAM — Identity & Access Management
What You’ll Learn
Prerequisites
Why IAM Is the Most Important Service You’ll Ever Misconfigure
Concepts
The Identity Landscape in 2026
Policy Anatomy
Policy Evaluation Order
Inline vs Managed Policies
Roles Over Users for Services
ABAC – Attribute-Based Access Control
Permission Boundaries
Hands-On: Audit and Fix the Part 1 Roles
Step 1: List what your function is actually doing
Step 2: Write a scoped policy for each function
Step 3: Verify with IAM Policy Simulator
Step 4: Check for unused permissions
Cross-Account Access
Common IAM Anti-Patterns
Key Takeaways
What’s Next
Chapter 7 Quiz
3 attempts allowed
ELB — Elastic Load Balancing
What You’ll Learn
Prerequisites
Why a Load Balancer
Concepts
The Three Load Balancer Types
Target Groups
Health Checks
HTTPS Termination
Routing Rules
VPC Quick Start
Hands-On: ALB in Front of a Lambda Function
Step 1: Create a VPC (if you don’t have one)
Step 2: Create a security group for the ALB
Step 3: Create the ALB
Step 4: Create a Lambda target group
Step 5: Add an HTTPS listener with routing
Step 6: Point Route 53 at the ALB
Production Patterns
Key Takeaways
What’s Next
Chapter 8 Quiz
3 attempts allowed
S3 — Object Storage
What You’ll Learn
Prerequisites
S3 Is Not a File System
Concepts
The Data Model
Storage Classes
Lifecycle Policies
Security Model
Versioning
Event Notifications
Hands-On: Upload Pipeline with Lambda Processing
Step 1: Create two buckets
Step 2: Lambda function to generate thumbnails
Step 3: Grant Lambda access to both buckets
Step 4: Wire the notification
Step 5: Test
Key Takeaways
S3 Mountpoint for Lambda
S3 Object Lambda
What’s Next
Chapter 9 Quiz
3 attempts allowed
SNS — Simple Notification Service
What You’ll Learn
Prerequisites
The Pub/Sub Mental Model
Concepts
Topics and Subscriptions
Message Structure
Message Filtering
FIFO Topics
Fan-Out Pattern
Hands-On: Add Fan-Out to the Order Pipeline
Step 1: Create the SNS topic
Step 2: Create three SQS queues
Step 3: Subscribe queues to the topic with filters
Step 4: Allow SNS to write to SQS queues
Step 5: Publish a test event
Production Patterns
Key Takeaways
What’s Next
Chapter 10 Quiz
3 attempts allowed
SQS — Simple Queue Service
What You’ll Learn
Prerequisites
Why a Queue
Concepts
Standard vs FIFO
Message Lifecycle
Dead-Letter Queues
Lambda + SQS Integration
Long Polling vs Short Polling
Hands-On: Async Job Queue for Image Processing
Architecture
Step 1: Create queue with DLQ
Step 2: Upload API Lambda (enqueue)
Step 3: Wire Lambda consumer with ReportBatchItemFailures
Step 4: DLQ alarm
Key Takeaways
What’s Next
Chapter 11 Quiz
3 attempts allowed
DynamoDB — NoSQL at Scale
What You’ll Learn
Prerequisites
DynamoDB Is Not a Relational Database
Concepts
The Data Model
Key Design
On-Demand vs Provisioned Capacity
Read Consistency
Global Secondary Indexes (GSI)
Local Secondary Indexes (LSI)
DynamoDB Streams
Single-Table Design
PartiQL — SQL Queries on DynamoDB
S3 Import/Export
Import from S3
Export to S3
DynamoDB Infrequent Access (IA) Table Class
Hands-On: Order Store with Single-Table Design
Step 1: Create the table
Step 2: Write an order
Step 3: Fetch all orders for a user
Key Takeaways
What’s Next
Chapter 12 Quiz
3 attempts allowed
Part 3: Security & Auth
JWT — Token-Based Authentication
What You’ll Learn
Prerequisites
The Authentication Problem
Concepts
JWT Structure
RS256 vs HS256
Amazon Cognito
Lambda Authorizer
Hands-On: Protect the Order API with Cognito
Step 1: Create a test user
Step 2: Sign in and get tokens
Step 3: Call the protected endpoint
Step 4: Read the userId in the order Lambda
Amazon Cognito as a Managed JWT Issuer
Setting Up a User Pool
Using Cognito’s Built-In JWT Authorizer on HTTP API
When to Write a Lambda Authorizer Instead
Common Mistakes
Key Takeaways
What’s Next
Chapter 13 Quiz
3 attempts allowed
Secret Management — SSM Parameter Store & Secrets Manager
What You’ll Learn
Prerequisites
The Credential Anti-Pattern
Concepts
SSM Parameter Store
AWS Secrets Manager
When to Use Which
Reading Secrets in Lambda
Hands-On: Migrate Hardcoded Config to SSM
Step 1: Store the parameters
Step 2: Grant Lambda access by path
Step 3: Load all params at cold start with GetParametersByPath
Step 4: Set up automatic rotation for the payment API key
Step 5: Reference SSM in serverless.yml
Production Patterns
Key Takeaways
What’s Next
Chapter 14 Quiz
3 attempts allowed
API Keys Transport — KMS & Secure Key Distribution
What You’ll Learn
Prerequisites
Two Different Problems
Concepts
KMS Key Types
Key Policies
Envelope Encryption
Creating a CMK
Secure API Key Vending
Key Format
Implementation
Wire as a Lambda Authorizer
Audit Trail
Key Takeaways
Chapter 15 Quiz
3 attempts allowed
Part 4: Containers
ECR — Elastic Container Registry
What You’ll Learn
Prerequisites
Why a Private Registry
Concepts
Repository Structure
Tag Immutability
Authentication
Lifecycle Policies
Vulnerability Scanning
Cross-Account Access
Replication
Hands-On: Push Your First Application Image to ECR
Step 1: Create the repository
Step 2: Build the image
Step 3: Authenticate and push
Step 4: Verify the push and scan results
Step 5: Set the lifecycle policy
Production Patterns
Key Takeaways
What’s Next
Chapter 16 Quiz
3 attempts allowed
Docker on AWS
What You’ll Learn
Prerequisites
The Cost of a Naive Dockerfile
Concepts
Multi-Stage Builds
Base Image Choices
Building for the Right Platform
Layer Ordering for Build Cache
Runtime Configuration
Health Checks
Hands-On: Production Dockerfile for the API Service
Key Takeaways
What’s Next
Chapter 17 Quiz
3 attempts allowed
ECS — Container Orchestration
What You’ll Learn
Prerequisites
From Lambda to Containers
Concepts
The ECS Primitives
Fargate vs EC2
Task Definitions
Networking: awsvpc Mode
ECS Service Connect
Service Creation
Auto Scaling
Deployments
Hands-On: Deploy the API Service to ECS Fargate
Step 1: Create the cluster
Step 2: Create the CloudWatch log group
Step 3: Register the task definition
Step 4: Create the service
Step 5: Watch the deployment
Step 6: Deploy a new version
Step 7: Debug a running task
Production Patterns
Key Takeaways
Chapter 18 Quiz
3 attempts allowed
Part 5: Advanced
Advanced CloudWatch — Dashboards, Alarms & Insights
What You’ll Learn
Prerequisites
The Difference Between Monitoring and Observability
Concepts
Logs Insights: Production Query Patterns
Composite Alarms
Container Insights
Contributor Insights
Embedded Metric Format (EMF)
Hands-On: Production Operations Dashboard
Step 1: Create the dashboard
dashboard.json structure
Step 2: Alarm on SQS DLQ depth
Step 3: Logs Insights saved query for post-incident analysis
Production Patterns
Cross-Account Observability
CloudWatch Internet Monitor
Routing Alerts to On-Call
The On-Call SNS Topic
PagerDuty
OpsGenie
AWS Chatbot (Slack)
Auto-Resolve Incidents with OK Actions
Escalation Policy
Test Before the First Real Incident
Key Takeaways
What’s Next
Chapter 19 Quiz
3 attempts allowed
Step Functions Advanced — Complex State Machines
What You’ll Learn
Prerequisites
Where Step Functions Earns Its Place
Concepts
Parallel State
Map State
Distributed Map
SDK Integrations — No Lambda Required
HTTPS Endpoints — State Machines as APIs
The Saga Pattern
WaitForTaskToken
Hands-On: High-Value Order Approval Workflow
Production Patterns
Key Takeaways
Chapter 20 Quiz
3 attempts allowed
CI/CD — Deploying to AWS from GitHub Actions
What You’ll Learn
Prerequisites
Why Automate Deployments
Concepts
The Pipeline Structure
GitHub Actions Fundamentals
IAM Role for GitHub Actions
Security in CI/CD
Hands-On: Complete CI/CD Pipeline
Step 1: Store AWS account ID as a GitHub secret
Step 2: Create the workflow file
Step 3: Test the pipeline
Production Patterns
Key Takeaways
What’s Next
Chapter 21 Quiz
3 attempts allowed
Final Exam
Final Exam
2 attempts allowed
Appendix A — Complete System Architecture
The Order Processing Platform
Architecture Diagram
Service-to-Chapter Map
Request Flow: POST /orders (happy path)
Request Flow: POST /orders with amount > €500 (approval path)
Data Model: DynamoDB Single-Table (AppData)
IAM Role Map
Appendix B — Code Reference
Project Structure
Lambda Bootstrap Pattern
Config Loading from SSM (Chapter 14)
DynamoDB Single-Table Helpers (Chapter 12)
SQS Consumer with ReportBatchItemFailures (Chapter 11)
API Key Validation (Chapter 15)
Embedded Metric Format (Chapter 19)
Health Check Handler (Chapter 17)
Dockerfile (Chapter 17)
Makefile
serverless.yml (Chapter 6)
CloudWatch Logs Insights — Saved Queries
AWS CLI Quick Reference
Appendix C — Cost & Limits Reference
Free Tier Summary (per month, perpetual unless noted)
Cost Estimates for This Book’s Architecture
Lambda-Heavy (Parts 1–3)
With ECS Fargate (Part 4)
Cost Control Levers
Service Limits (Soft = Adjustable, Hard = Fixed)
Lambda
API Gateway
DynamoDB
SQS
SNS
Step Functions
ECS Fargate
ECR
CloudWatch
When to Request a Limit Increase
Cost Anomaly Detection
Appendix D — VPC in 10 Minutes
The Default VPC
The Three Building Blocks
Subnets
Route Tables
Internet and NAT Gateways
Security Groups vs Network ACLs
Creating Security Groups
Security Groups in Terraform
Lambda in a VPC
Common Security Group Mistakes
VPC Endpoints
Key Takeaways
Appendix E: Understanding Your AWS Bill
The Billing Basics
Per-Service Cost Drivers
Lambda
API Gateway
CloudWatch Logs
DynamoDB
S3
Step Functions
ECR
ECS Fargate
Guardrails Before You Need Them
AWS Budgets
Cost Explorer
Trusted Advisor
The Most Common Billing Surprises
Appendix F: EventBridge — Event Routing at Scale
EventBridge vs SNS
Core Concepts
Event Buses
Rules and Targets
Sending Events
Routing to a Lambda Target
Archive and Replay
Pricing
When to Use Both SNS and EventBridge
Glossary
AWS in Production: The Course
Build and operate real serverless and container systems on AWS, from DNS to CI/CD.
Learn the AWS services that production systems actually depend on, from Lambda to ECS. Every chapter ends with a quiz, and a final exam earns a certificate.
Minimum price
$149
$149
You pay
Author earns
About
About the Course
AWS in Production
Build and operate real serverless and container systems on AWS, from DNS to CI/CD.
What You'll Learn
✔ Route traffic with Route 53 and build APIs with Lambda and API Gateway
✔ Orchestrate workflows with Step Functions
✔ Manage infrastructure as code (Serverless Framework, CDK, SST, Terraform)
✔ Secure access with IAM, JWT, Secrets Manager and KMS
✔ Use S3, SNS, SQS and DynamoDB
✔ Run containers with ECR, Docker and ECS
✔ Monitor with CloudWatch dashboards, alarms and Insights
✔ Deploy from GitHub Actions
Who Is This Course For?
Backend and DevOps engineers who need to run real workloads on AWS.
Prerequisites
Programming experience and basic command-line skills. An AWS account helps for following along.
Why This Course?
Services are taught as parts of one production system, with security, observability and deployment built in rather than bolted on.
How It Works
- 21 chapters, each ending with a 5-question multiple-choice quiz (3 attempts, best score counts)
- A 20-question final exam covering the whole course
- 125 quiz questions in total
- Score 70% to pass; 85% or more earns honors
- Pass to receive a certificate of completion
Written by Joel Bryan Juliano.
This course is included in this track...
Instructor
About the Instructor
Hi, I'm Joel.
I am Dutch-Filipino Software Engineer with 20+ years of experience.
And with over 20 years in the game, I’ve seen it all and loved every minute of it.
My journey has taken me through a variety of industries, from sports streaming to cybersecurity, both in the private sector and for the Dutch government, and everything in between.
Along the way, I’ve picked up a diverse set of skills and experiences, in which I document into books.
Material
Course Material
The Leanpub 60 Day 100% Happiness Guarantee
Within 60 days of purchase you can get a 100% refund on any Leanpub purchase, in two clicks.
See full terms...
Earn $8 on a $10 Purchase, and $16 on a $20 Purchase
We pay 80% royalties on purchases of $7.99 or more, and 80% royalties minus a 50 cent flat fee on purchases between $0.99 and $7.98. You earn $8 on a $10 sale, and $16 on a $20 sale. So, if we sell 5000 non-refunded copies of your book for $20, you'll earn $80,000.
(Yes, some authors have already earned much more than that on Leanpub.)
Learn more about writing on Leanpub
Free Updates. DRM Free.
If you buy a Leanpub book, you get free updates for as long as the author updates the book! Many authors use Leanpub to publish their books in-progress, while they are writing them. All readers get free updates, regardless of when they bought the book or how much they paid (including free).
Most Leanpub books are available in PDF (for computers) and EPUB (for phones, tablets and Kindle). The formats that a book includes are shown at the top right corner of this page.
Finally, Leanpub books don't have any DRM copy-protection nonsense, so you can easily read them on any supported device.
Learn more about Leanpub's ebook formats and where to read them
Write and Publish on Leanpub
You can use Leanpub to easily write, publish and sell in-progress and completed ebooks and online courses!
Leanpub is a powerful platform for serious authors, combining a simple, elegant writing and publishing workflow with a store focused on selling in-progress ebooks.
Leanpub is a magical typewriter for authors: just write in plain text, and to publish your ebook, just click a button. (Or, if you are producing your ebook your own way, you can even upload your own PDF and/or EPUB files and then publish with one click!) It really is that easy.
