AWS architecture library
Curated AWS architecture patterns
Explore source-backed AWS architecture patterns for serverless APIs, static websites, containers, event-driven processing, three-tier applications, malware scanning, media processing, queue-backed workers, and event fan-out.
- Build a secure serverless API on AWS — Authenticate users with Amazon Cognito, validate requests at Amazon API Gateway, run business logic in AWS Lambda, and store application data in Amazon DynamoDB.
- Deliver a secure static website with AWS — Use Route 53 for DNS, CloudFront for edge delivery, AWS WAF and ACM at the distribution, and a private Amazon S3 origin.
- Run a containerized web application on Amazon ECS and Fargate — Store immutable images in Amazon ECR, deploy tasks with Amazon ECS on AWS Fargate, route HTTP traffic through an Application Load Balancer, and observe the service in CloudWatch.
- Design event-driven processing with EventBridge, SNS, SQS, Lambda, and Step Functions — Route events with EventBridge or fan them out with SNS, buffer work in SQS, process messages with Lambda, and orchestrate multi-step work in Step Functions when needed.
- Build a resilient three-tier application on AWS — Route requests through an Application Load Balancer to an EC2 or ECS application tier, keep Amazon RDS private, and govern supported recovery points with AWS Backup.
- Scan uploaded objects for malware and quarantine them on AWS — Land untrusted uploads in a private Amazon S3 bucket, scan them with GuardDuty Malware Protection for S3, route scan results through EventBridge and SQS, and promote only clean objects to a bucket consumers can read.
- Process images and media after an Amazon S3 upload — Take a presigned Amazon S3 upload through EventBridge and SQS to Lambda, Fargate, or AWS Batch workers, write derived assets to a separate bucket, and serve them through CloudFront.
- Run queue-backed asynchronous workers on AWS — Buffer background work in Amazon SQS, process it with Lambda or ECS workers under a concurrency ceiling, keep state in DynamoDB, and use dead-letter queues, redrive, and CloudWatch alarms to keep the system honest.
- Fan out AWS events to isolated consumers — Publish one event to EventBridge or SNS, give every consumer its own SQS queue, retry policy, and dead-letter queue, and let each consumer scale, fail, and deploy without touching the others.