AWS ElastiCache

0

Hi AWS, I have a question i.e.

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?

  1. 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.
  2. 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.
  3. 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.
  4. 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.

As per me, the answer should be (B) as ElastiCache for Memcached is best suited for caching and ElastiCache for Redis is for persisted data, however 75% votes have been given to option (A) and remaining 25% is given to option (B).

Please clarify.

1 Answer
0

From the following text this issue appears to focus on high availability.

The company wants to be able to scale to meet future application capacity demands and to ensure high availability across all three Availability Zones.

Therefore, we need to think in terms of whether memcached or redis is more highly available.
In the case of Redis, unlike memcached, the cluster manages the node endpoints.
This means that if a node fails, it can automatically switch to a different node and replicate the data.
Minimizes downtime due to failover in the event of failure.
In other words, we thought that A would be the correct answer in this case because Redis is more capable of establishing high availability.
https://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/Clusters.html
https://aws.amazon.com/elasticache/redis-features/?nc1=h_ls

The comparison between Redis and Memcached in this document may be easier to understand.
You can see that "High availability (replication)" in the table in the documentation is "Yes" for Redis.
https://docs.aws.amazon.com/AmazonElastiCache/latest/mem-ug/SelectEngine.html

profile picture
EXPERT
answered 9 months ago

You are not logged in. Log in to post an answer.

A good answer clearly answers the question and provides constructive feedback and encourages professional growth in the question asker.

Guidelines for Answering Questions