Designing on AWS
Design a production workload on AWS, choosing its compute, data, and integration services for their trade-offs rather than their marketing.
- For
- Developers and architects designing systems on AWS
- Assumes
- You've built and deployed web applications, and know the architecture basics that Developer to Architect covers in its first three stages. No AWS experience needed.
Steps open in a new tab, so this page stays where you left it. Steps you've opened turn grey.
Stage 1 · Foundations
Thinking in cloud trade-offs
The trade-offs every AWS design is judged by, and the networking every AWS service assumes.
-
AWS Well-Architected Framework
The six pillars are the cloud's architecture characteristics. Every service choice later in the path trades among them.
-
Network Fundamentals for Developers
Subnets, routing, and load balancers all assume this. Cloud networking is ordinary networking with an API in front of it.
Stage 2 · Basics
Identity, network, compute, storage
The four things every AWS workload is built on.
-
AWS IAM: Identity and Access Management for Architects
Every request to AWS is an IAM decision, so identity comes before anything you build.
-
AWS VPC: Network Architecture
Where your workloads live and what can reach them. Most later services sit in, or next to, a VPC.
-
AWS Elastic Load Balancing for System Architects
The front door for most workloads, and the first place health checks, scaling, and TLS meet.
-
Choosing AWS Compute: EC2, Lambda, and Containers on ECS, EKS, and Fargate
Chooses between EC2, Lambda, and containers, and between ECS, EKS, and Fargate once containers win.
-
AWS Lambda for System Architects
The compute model that changes design the most: invocation models, retries, and cold starts shape everything around a function.
-
Amazon S3 for System Architects
The storage nearly every AWS system touches, and the cheapest home for data that doesn't need a database.
Go deeper EC2 for System Architects AWS Route 53 for System Architects AWS CloudFront for System Architects AWS Block and File Storage: EBS, EFS, and FSx AWS Diagrams
Stage 3 · Intermediate
Data
Where each workload's data lives, and designing for the store you chose.
-
Choosing an AWS Database
Relational first, and when DynamoDB or a cache earns its place. The next two steps go deep on the likely answers.
-
Amazon RDS and Aurora for System Architects
What AWS manages for a relational database, what you still own, and when Aurora is worth it.
-
Amazon DynamoDB for System Architects
Designing around keys and access patterns instead of queries, which runs against relational habit.
-
Database Selection Matrix
Access patterns mapped to store types, for the workloads that need more than one database. Keep it open for your next data decision.
Go deeper Amazon ElastiCache for System Architects
Stage 4 · Intermediate
Integration
Connecting services without coupling them: APIs, queues, and events.
-
AWS API Gateway for System Architects
The managed front for APIs: authorizers, throttling, and choosing the API type that fits.
-
Amazon SQS and SNS for System Architects
Queues and fan-out, the backbone of decoupled AWS systems, with the delivery and retry semantics you have to design for.
-
Amazon EventBridge for System Architects
Events routed by their content rather than by queue, for when producers shouldn't know their consumers.
-
AWS Step Functions for System Architects
Multi-step workflows with retries and error handling owned by the service, not written into your code.
Go deeper Amazon Kinesis Data Streams and Data Firehose for System Architects