Explanation
High availability and fault tolerance require distributing resources across multiple independent failure domains to ensure continued operation even if one component fails.
Why Option B is Correct:
- Availability Zones (AZs) are physically separate data centers within an AWS Region
- Each AZ has independent power, cooling, and networking
- Deploying across multiple AZs ensures that if one AZ fails, the application can continue running in other AZs
- This provides automatic failover and redundancy
Why Other Options Are Incorrect:
- Option A (Single AZ): Vulnerable to AZ-level failures - if that single AZ goes down, the entire application becomes unavailable
- Option C (Multiple subnets in one AZ): While subnets provide network segmentation, they still share the same physical infrastructure within one AZ, so they're vulnerable to AZ-level failures
- Option D (Edge locations with Outposts): AWS Outposts extend AWS infrastructure to on-premises locations, but edge locations are primarily for content delivery (CloudFront) and don't provide the same level of high availability as multi-AZ deployments
Key AWS Concepts:
- Availability Zones: Isolated locations within AWS Regions
- High Availability: System's ability to remain operational for extended periods
- Fault Tolerance: System's ability to continue operating despite component failures
For maximum resilience, AWS recommends deploying critical applications across multiple Availability Zones.