Main Page
What are AWS Cloud Design Patterns?
The AWS Cloud Design Patterns (CDP) are a collection of solutions and design ideas for using AWS cloud technology to solve common systems design problems. To create the CDPs, we reviewed many designs created by various cloud architects, categorized them by the type of problem they addressed, and then created generic design patterns based on those specific solutions. Some of these problems could also be addressed using traditional data-center technology, but we have included cloud solutions for these problems because of the lower cost and greater flexibility of a cloud-based solution.
This beta Cloud Design Pattern web site is the culmination of work by many different architects including Ninja of Three who shared their expertise and experience in building cloud solutions.
Description of AWS Cloud Design Patterns
AWS Cloud Design Patterns will be described along the following items.Pattern Name/Summary | Pattern name, summary and brief description |
---|---|
Solving Issues | Description of typical issues that led to pattern creation, and what issues/challenges can be solved through its implementation |
Explanation of pattern / Resolution in the cloud | Description of the terms or how to solve the problems in the cloud; why any pattern, or a description of the configuration has become a pattern of what |
Implementation | Description about how to implement the pattern using AWS |
Structure | Visualization of the pattern’s structure |
Benefits | Description of the benefits from the pattern’s application |
Notes | Description of tradeoffs, advantages, disadvantages and points to note when applying this pattern |
Other | Comparison with other patterns, use cases and additional information |
List of AWS Cloud Design Patterns
Basic Patterns
- Snapshot Pattern (Data Backups)
- Stamp Pattern (Server Replication)
- Scale Up Pattern (Dynamic Server Spec Up/Down)
- Scale Out Pattern (Dynamically Increasing the Number of Servers)
- On-demand Disk Pattern (Dynamically Increasing/Decreasing Disk Capacity)
Patterns for High Availability
- Multi-Server Pattern (Server Redundancy)
- Multi-Datacenter Pattern (Redundancy on the Data Center Level)
- Floating IP Pattern (Floating IP Address)
- Deep Health Check Pattern (System Health Check)
Patterns for Processing Dynamic Content
- Clone Server Pattern (Cloning a Server)
- NFS Sharing Pattern (Using Shared Content)
- NFS Replica Pattern (Replicating Shared Content)
- State Sharing Pattern (Sharing State Information)
- URL Rewriting Pattern (Saving Static Content)
- Rewrite Proxy Pattern (Proxy Setup for URL Overwriting)
- Cache Proxy Pattern (Cache Provisioning)
- Scheduled Scale Out Pattern ( Increasing or Decreasing the Number of Servers Following a Schedule)
Patterns for Processing Static Content
- Web Storage Pattern (Use of High-Availability Internet Storage)
- Direct Hosting Pattern (Direct Hosting Using Internet Storage)
- Private Distribution Pattern (Data Delivery to Specified Users)
- Cache Distribution Pattern (Locating Data in a Location That Is Physically Near to the User)
- Rename Distribution Pattern (Delivery Without Update Delay)
Patterns for Uploading Data
- Write Proxy Pattern (High-Speed Uploading to Internet Storage)
- Storage Index Pattern (Increasing the Efficiency of Internet Storage)
- Direct Object Upload Pattern (Simplifying the Upload Procedure)
Patterns for Relational Database
- DB Replication Pattern (Replicating Online Databases)
- Read Replica Pattern (Load Distribution through Read Replicas)
- Inmemory DB Cache Pattern (Caching High-Frequency Data)
- Sharding Write Pattern (Improving Efficiency in Writing)
Patterns for Batch Processing
- Queuing Chain Pattern (Loose-Coupling of Systems)
- Priority Queue pattern (Changing Priorities)
- Job Observer Pattern (Job Monitoring and Adding/Deleting Servers)
- Scheduled Autoscaling Pattern (Turning Batch Servers On and Off Automatically)
Pattern for Operation and Maintenance
- Bootstrap Pattern (Automatic Acquisition of Startup Settings)
- Cloud DI Pattern (External Placement of Parts That Are Frequently Updated)
- Stack Deployment Pattern (Creating a Template for Setting up Groups of Servers)
- Server Swapping Pattern (Transferring Servers)
- Monitoring Integration Pattern (Centralization of Monitoring Tools)
- Web Storage Archive Pattern (Archiving Large Volumes of Data)
- Weighted Transition Pattern (Transitioning Using a Weighted Round Robin DNS)
- Hybrid Backup Pattern (Using the Cloud for Backups)
Patterns for Network
- OnDemand NAT Pattern (Changing Internet Settings at the Time of Maintenance)
- Backnet Pattern (Establishment of a Management Network)
- Functional Firewall Pattern (Multi-Tier Access Control)
- Operational Firewall Pattern (Controlling Access by Individual Function)
- Multi Load Balancer Pattern (Setting Up Multiple Load Balancers)
- WAF Proxy Pattern (Effective Use of a Costly Web Application Firewalls)
- CloudHub Pattern (Setting Up VPN Sites)