Skip to Content

AWS SAA-C03: Highly Available and Scalable AWS Web Application Architecture

Learn how to build a highly available and scalable three-tier web application architecture on AWS using Amazon RDS, ElastiCache for Redis, and Auto Scaling groups across multiple Availability Zones.

Table of Contents

Question

A company runs a three-tier web application in the AWS Cloud that operates across three Availability Zones. The application architecture has an Application Load Balancer, an Amazon EC2 web server that hosts user session states, and a MySQL database that runs on an EC2 instance. The company expects sudden increases in application traffic. The company wants to be able to scale to meet future application capacity demands and to ensure high availability across all three Availability Zones.

Which solution will meet these requirements?

A. Migrate the MySQL database to Amazon RDS for MySQL with a Multi-AZ DB cluster deployment. Use Amazon ElastiCache for Redis with high availability to store session data and to cache reads. Migrate the web server to an Auto Scaling group that is in three Availability Zones.
B. Migrate the MySQL database to Amazon RDS for MySQL with a Multi-AZ DB cluster deployment. Use Amazon ElastiCache for Memcached with high availability to store session data and to cache reads. Migrate the web server to an Auto Scaling group that is in three Availability Zones.
C. Migrate the MySQL database to Amazon DynamoDB Use DynamoDB Accelerator (DAX) to cache reads. Store the session data in DynamoDB. Migrate the web server to an Auto Scaling group that is in three Availability Zones.
D. Migrate the MySQL database to Amazon RDS for MySQL in a single Availability Zone. Use Amazon ElastiCache for Redis with high availability to store session data and to cache reads. Migrate the web server to an Auto Scaling group that is in three Availability Zones.

Answer

A. Migrate the MySQL database to Amazon RDS for MySQL with a Multi-AZ DB cluster deployment. Use Amazon ElastiCache for Redis with high availability to store session data and to cache reads. Migrate the web server to an Auto Scaling group that is in three Availability Zones.

Explanation

  1. Migrate the MySQL database to Amazon RDS for MySQL with a Multi-AZ DB cluster deployment:
    • Amazon RDS for MySQL provides a fully managed relational database service, offloading administrative tasks like backups, patching, and high availability.
    • The Multi-AZ deployment creates a primary database instance and a synchronous standby replica in a different Availability Zone, ensuring high availability and automatic failover in case of an Availability Zone disruption.
  2. Use Amazon ElastiCache for Redis with high availability to store session data and to cache reads:
    • Amazon ElastiCache for Redis is an in-memory data store that can be used to store user session data and cache frequently accessed data, reducing the load on the database and improving application performance.
    • High availability can be achieved by enabling Redis cluster mode or using Redis Replication Groups, which automatically provisions and manages Redis nodes across multiple Availability Zones.
  3. Migrate the web server to an Auto Scaling group that is in three Availability Zones:
    • An Auto Scaling group allows automatically launching or terminating EC2 instances based on defined scaling policies, ensuring that the application can scale up or down to meet demand.
    • By spanning the Auto Scaling group across three Availability Zones, high availability is achieved, ensuring that the application remains accessible even if one Availability Zone experiences disruption.

This solution addresses the company’s requirements for scaling to meet future capacity demands and ensuring high availability across all three Availability Zones. It leverages managed services like Amazon RDS and Amazon ElastiCache to offload operational overhead, while Auto Scaling groups and Multi-AZ deployments provide scalability and resiliency.

Other options:

B. Memcached is not recommended for storing session data as it is not persistent, and session data could be lost if Memcached nodes experience issues.

C. DynamoDB is a NoSQL database service, which may not be suitable for complex relational data or transactions required by the application. Additionally, DynamoDB Accelerator (DAX) is designed for read-heavy workloads, not for storing session data.

D. Deploying the MySQL database in a single Availability Zone does not provide high availability across all three Availability Zones, which is a requirement.

Amazon AWS Certified Solutions Architect – Associate SAA-C03 certification exam practice question and answer (Q&A) dump with detail explanation and reference available free, helpful to pass the Amazon AWS Certified Solutions Architect – Associate SAA-C03 exam and earn Amazon AWS Certified Solutions Architect – Associate SAA-C03 certification.