CloudGuild · Blog · Cheat sheets · Lessons · Certifications
Building a Highly Available Web Application on AWS: Exam Question Walkthrough
Understand how to build a resilient web application on AWS with this detailed exam question walkthrough for the SAA-C03.
A common stumbling block for candidates in the AWS Certified Solutions Architect - Associate exam is understanding the nuances of high availability and resilience. This question assesses your knowledge of AWS services and their deployment across Availability Zones (AZs).
The question
A company is planning to build a highly available web application that needs to be resilient to failures. They want to ensure that if one Availability Zone (AZ) goes down, the application remains operational. Which AWS service combination should they use to achieve this?
- A. Amazon EC2 in a single Availability Zone with Elastic Load Balancing
- B. Amazon EC2 instances across multiple Availability Zones with Elastic Load Balancing
- C. Amazon S3 for static content and AWS Lambda for dynamic processing
- D. Amazon RDS in a single Availability Zone with Multi-AZ deployments
Think before you scroll
Before making a selection, consider how each option addresses the need for high availability across multiple AZs. Focus on the ability to maintain operational capacity during an AZ failure.
The answer
The correct option is B: Amazon EC2 instances across multiple Availability Zones with Elastic Load Balancing. This setup ensures that if one AZ goes down, traffic is redirected to instances in another AZ, keeping the application operational.
Why the other options lose
- A. Amazon EC2 in a single Availability Zone with Elastic Load Balancing: This option does not meet the requirement for high availability. If the single AZ fails, the entire application goes down, negating the purpose of load balancing.
- C. Amazon S3 for static content and AWS Lambda for dynamic processing: While this architecture can handle web applications, it does not specifically address the high availability requirement across AZs. It lacks a direct mention of EC2 and load balancing, which are critical for the scenario presented.
- D. Amazon RDS in a single Availability Zone with Multi-AZ deployments: Multi-AZ is indeed a feature for RDS that enhances availability, but it applies only to database instances. This option does not cover the web application layer, which is essential for overall application resilience.
The concept behind it
High availability in cloud architectures often requires distributing resources across multiple Availability Zones. By using services like Elastic Load Balancing with EC2 instances spread across AZs, applications can remain operational even if one AZ experiences issues. This principle applies to other services and scenarios where redundancy is crucial.
Exam trap to remember
Remember the two-question rule: always ask if the solution maintains operational capacity during a failure. If it doesn't, it’s likely not the right choice.