Resource Placement Strategies for Business Requirements
Determining the appropriate placement of resources to meet business requirements
Resource Placement Strategies for Business Requirements
Determining where resources reside within the AWS ecosystem is a foundational skill for a Solutions Architect. This guide explores the trade-offs between latency, cost, compliance, and availability when placing compute, storage, and database workloads.
Learning Objectives
- Identify key factors influencing AWS Region selection (e.g., data residency, latency, cost).
- Differentiate between Global, Regional, and Zonal AWS services.
- Evaluate business requirements to select appropriate high-availability and disaster recovery (DR) strategies.
- Match workload types to the correct instance families and scaling methods.
- Select appropriate networking and edge services to optimize performance for global users.
Key Terms & Glossary
- Region: A physical location around the world where AWS clusters data centers. Most services are "Regional."
- Availability Zone (AZ): One or more discrete data centers with redundant power, networking, and connectivity in an AWS Region.
- Data Residency: The physical or geographic location of where an organization's data or information is stored.
- RTO (Recovery Time Objective): The maximum acceptable delay between the interruption of service and restoration.
- RPO (Recovery Point Objective): The maximum acceptable amount of data loss measured in time.
- Edge Location: A site that CloudFront uses to cache copies of your content for faster delivery to users at any location.
The "Big Idea"
Resource placement is not just a technical decision; it is a business alignment exercise. An architect must balance the "Iron Triangle" of cloud design: Compliance (Where must the data be?), Performance (How fast must it be?), and Cost (How much can we spend?). Moving resources closer to the user reduces latency but might increase costs or violate data sovereignty laws in certain jurisdictions.
Formula / Concept Box
| Concept | Definition / Rule | Impact on Placement |
|---|---|---|
| Availability (%) | n 9s (e.g., 99.99%) | Higher availability requires Multi-AZ or Multi-Region placement. |
| Latency Rule | Place compute/cache near the end-user for performance. | |
| RTO/RPO | Recovery targets | Lower RTO/RPO requires automated failover and synchronous replication. |
| Hybrid Placement | AWS Outposts | Use for ultra-low latency or local data processing requirements. |
Hierarchical Outline
- Global Infrastructure Foundations
- AWS Regions: Selection based on compliance, cost, and service availability.
- Availability Zones: Designing for fault isolation within a single region.
- Placement Drivers
- Data Residency: Compliance with local laws (e.g., GDPR, CCPA).
- Latency: Using Local Zones or Wavelength for sub-10ms requirements.
- Compute & Scaling Placement
- Instance Families: Memory-optimized vs. Compute-optimized vs. General Purpose.
- Vertical vs. Horizontal Scaling: Adding more power to one node vs. adding more nodes.
- Database & Storage Placement
- Read Replicas: Placing replicas in different regions to reduce read latency for global users.
- S3 Storage Classes: Moving data to Glacier via Lifecycle policies for cost optimization.
Visual Anchors
Region Selection Logic
Multi-AZ Architecture Concept
\begin{tikzpicture}[node distance=2cm] \draw[thick, dashed] (0,0) rectangle (8,5) node[pos=0.5, yshift=2.2cm] {AWS Region}; \draw[fill=blue!10] (0.5,0.5) rectangle (3.5,4) node[pos=0.5, yshift=1.5cm] {AZ-A}; \draw[fill=blue!10] (4.5,0.5) rectangle (7.5,4) node[pos=0.5, yshift=1.5cm] {AZ-B}; \node[draw, fill=orange!20] (LB) at (4,4.5) {Elastic Load Balancer}; \node[draw, circle, fill=green!20] (EC2A) at (2,2.5) {EC2}; \node[draw, circle, fill=green!20] (EC2B) at (6,2.5) {EC2}; \node[draw, cylinder, fill=red!20, shape border rotate=90] (DB1) at (2,1) {Primary DB}; \node[draw, cylinder, fill=red!20, shape border rotate=90] (DB2) at (6,1) {Standby DB}; \draw[->] (LB) -- (EC2A); \draw[->] (LB) -- (EC2B); \draw[->, thick, blue] (DB1) -- (DB2) node[midway, above] {Sync Replicate}; \end{tikzpicture}
Definition-Example Pairs
- Horizontal Scaling: Increasing the number of resources (nodes) in a system.
- Example: Adding three more EC2 instances to an Auto Scaling group to handle a Black Friday traffic spike.
- Loose Coupling: Designing components so they have little or no knowledge of the internal definitions of other components.
- Example: Using Amazon SQS to decouple a web front-end from a backend processing service so they can scale and fail independently.
- Edge Processing: Processing data closer to the source of data generation.
- Example: Using Lambda@Edge to inspect and modify HTTP requests as they pass through CloudFront locations.
Comparison Tables
Load Balancer Selection
| Feature | Application Load Balancer (ALB) | Network Load Balancer (NLB) | Gateway Load Balancer (GWLB) |
|---|---|---|---|
| Layer | Layer 7 (HTTP/HTTPS) | Layer 4 (TCP/UDP/TLS) | Layer 3 (IP Packets) |
| Best Use Case | Web applications & Microservices | Ultra-high performance, gaming, static IPs | Third-party virtual appliances (firewalls) |
| Key Capability | Path-based routing | Can handle millions of requests per second | Transparently scales appliances |
Worked Examples
Scenario 1: The Compliance Constraint
Problem: A banking startup in Ontario, Canada, must ensure all financial records remain within Canadian borders due to regulatory requirements. They need high availability for their web portal.
Solution:
- Placement: Select the
ca-central-1(Canada Central) Region. - High Availability: Deploy EC2 instances across at least two Availability Zones within that region.
- Data Durability: Use RDS Multi-AZ to ensure the database remains within the border while providing failover support.
Scenario 2: High-Performance Global Delivery
Problem: A video streaming company based in the US has a growing user base in Tokyo and London. Users in London report high latency when loading the homepage.
Solution:
- Static Content: Use Amazon CloudFront to cache images and scripts at Edge Locations in London.
- Dynamic Traffic: Use AWS Global Accelerator to provide two static Anycast IP addresses that route traffic over the AWS private network to the US-based ALB.
- Database Latency: Implement RDS Read Replicas in the
eu-west-2(London) region to allow the application to read data locally.
Checkpoint Questions
-
[!NOTE] Question: If a business requires sub-10 millisecond latency for a specialized industrial application but cannot move their hardware to an AWS Region, which service should they use? Answer: AWS Outposts (to bring AWS infrastructure on-premises) or AWS Local Zones.
-
[!IMPORTANT] Question: What is the primary difference between RTO and RPO in a disaster recovery scenario? Answer: RTO focuses on the time it takes to get back online (downtime), while RPO focuses on the time-window of data that might be lost (data loss).
-
[!TIP] Question: When should you choose a Compute Optimized instance family ( series for high-performance databases or real-time big data analytics.