AWS Certification: ElastiCache Questions

Amazon ElastiCache

Overview
Amazon ElastiCache allows you to seamlessly set up, run, and scale popular open-Source compatible in-memory data stores in the cloud. Build data-intensive apps or boost the performance of your existing databases by retrieving data from high throughput and low latency in-memory data stores. Amazon ElastiCache is a popular choice for real-time use cases like Caching, Session Stores, Gaming, Geospatial Services, Real-Time Analytics, and Queuing.
1. A company is developing a web application to be hosted in AWS. This application needs a data store for session data.

As an AWS Solution Architect, which of the following would you recommend as an ideal option to store session data? Choose 2 answers from the options given below.


A. CloudWatch

B. DynamoDB

C. Elastic Load Balancing

D. ElastiCache

Answer

B. & D.

DynamoDB and ElastiCache are perfect options for storing session data.

AWS Documentation mentions the following on these services:

Amazon DynamoDB is a fast and flexible NoSQL database service for all applications that need consistent, single-digit millisecond latency at any scale. It is a fully managed cloud database and supports both document and key-value store models. Its flexible data model, reliable performance, and automatic scaling of throughput capacity, makes it a great fit for mobile, web, gaming, ad tech, IoT, and many other applications.

For more information on AWS DynamoDB, please visit the following URL:

https://aws.amazon.com/dynamodb/ ElastiCache is a web service that makes it easy to set up, manage, and scale a distributed in-memory data store or cache environment in the cloud. It provides a high-performance, scalable, and cost-effective caching solution, while removing the complexity associated with deploying and managing a distributed cache environment.

For more information on AWS Elasticache, please visit the following URL:

https://docs.aws.amazon.com/AmazonElastiCache/latest/UserGuide/WhatIs.html

Incorrect answers:

AWS CloudWatch offers cloud monitoring services for customers of AWS resources.

AWS Storage Gateway is a hybrid storage service that enables your on- premises applications to seamlessly use AWS cloud storage.

AWS Elastic Load Balancing automatically distributes incoming application traffic across multiple targets.


2. A company planning on building and deploying a web application on AWS, needs to have a data store to store session data. Which of the below services can be used to meet this requirement?

A. AWS RDS

B. AWS SQS

C. AWS ELB

D. AWS ElastiCache

Answer

D. AWS ElastiCache

Amazon ElastiCache offers fully managed Redis and Memcached. Seamlessly deploy, operate, and scale popular open source compatible in-memory data stores. Build data-intensive apps or improve the performance of your existing apps by retrieving data from high throughput and low latency in-memory data stores. Amazon ElastiCache is a popular choice for Gaming, Ad-Tech, Financial Services, Healthcare, and IoT apps.

For more information on ElastiCache, please refer to the URL below.

https://aws.amazon.com/elasticache/ Option A is incorrect. RDS is a distributed relational database. It is a web service running “in the cloud” designed to simplify the setup, operation, and scaling of a relational database for use in applications.

Option B is incorrect. SQS is a fully managed message queuing service that makes it easy to decouple and scale microservices, distributed systems, and serverless applications.

Option C is incorrect. ELB is Elastic Load Balancer which automatically distributes incoming application traffic across multiple targets.

Note:

In order to address scalability and to provide a shared data storage for sessions that can be accessible from any individual web server, you can abstract the HTTP sessions from the web servers themselves. A common solution to for this is to leverage an In-Memory Key/Value store such as Redis and Memcached.

In-memory caching improves application performance by storing frequently accessed data items in memory, so that they can be retrieved without access to the primary data store. Properly leveraging caching can result in an application that not only performs better, but also costs less at scale. Amazon ElastiCache is a managed service that reduces the administrative burden of deploying an in-memory cache in the cloud.

Please refer the following white paper for more information.

https://d0.awsstatic.com/whitepapers/performance-at-scale-with-amazon-elasticache.pdf


3. A database hosted using the AWS RDS service is getting a lot of database queries and has now become a bottleneck for the associating application. What action will ensure that the database is not a performance bottleneck?

A. Setup a CloudFront distribution in front of the database.

B. Setup an ELB in front of the database.

C. Setup ElastiCache in front of the database.

D. Setup SNS in front of the database.

Answer

C. Setup ElastiCache in front of the database.

ElastiCache is an in-memory solution which can be used in front of a database to cache the common queries issued against the database. This can reduce the overall load on the database.

Option A is incorrect because this is normally used for content distribution.

Option B is partially correct, but you need to have one more database as an internal load balancing solution.

Option D is incorrect because SNS is a simple notification service.

For more information on ElastiCache, please visit the following URL:

https://aws.amazon.com/elasticache/


4. An application consists of a web server and database server hosted on separate EC2 Instances. There are lot of read requests on the database which is degrading the performance of the application. Which of the following can help improve the performance of the database under this heavy load?

A. Enable Multi-AZ for the database.

B. Put an ElastiCache in front of the database.

C. Place another web server in the architecture to take the load.

D. Place a CloudFront distribution in front of the database.

Answer

B. Put an ElastiCache in front of the database.

AWS Documentation further mentions the following with respect to ElastiCache: ElastiCache is a web service that makes it easy to set up, manage, and scale a distributed in-memory data store or cache environment in the cloud. It provides a high-performance, scalable, and cost-effective caching solution, while removing the complexity associated with deploying and managing a distributed cache environment. For more information on AWS ElastiCache, please visit the following URL: https://docs.aws.amazon.com/AmazonElastiCache/latest/UserGuide/WhatIs.html


5. In Your company is hosting an application in AWS. The application is read intensive and consists of a set of web servers and AWS RDS. It has been noticed that the response time of the application increases due to the load on the AWS RDS instance. Which of the following measures can be taken to scale the data tier? Choose 2 answers from the options given below.

A. Create Amazon DB Read Replicas. Configure the application layer to query the ReadReplicas for query needs.

B. Use Auto Scaling to scale out and scale in the database tier

C. Use SQS to cache the database queries.

D. Use ElastiCache in front of your Amazon RDS DB to cache common queries.

Answer

A. & D.

Amazon RDS Read Replicas provide enhanced performance and durability for database (DB) instances. This replication feature makes it easy to elastically scale out beyond the capacity constraints of a single DB Instance for read-heavy database workloads. You can create one or more replicas of a given source DB Instance and serve high-volume application read traffic from multiple copies of your data, thereby increasing aggregate read throughput. Read replicas can also be promoted when needed to become standalone DB instances. For more information on AWS RDS Read Replica’s, please visit the below URL: https://aws.amazon.com/rds/details/read-replicas/ Amazon ElastiCache is a web service that makes it easy to deploy, operate, and scale an in-memory data store or cache in the cloud. The service improves the performance of web applications by allowing you to retrieve information from fast, managed, in-memory data stores, instead of relying entirely on slower disk-based databases. For more information on AWS ElastiCache, please visit the below URL: https://aws.amazon.com/elasticache/


6. You are an architect for a gaming application which is in the design phase. Which of the following services can be used to ensure optimal performance and least latency for gaming users?

A. AWS Auto Scaling

B. AWS ELB

C. AWS ElastiCache

D. AWS VPC

Answer

C. AWS ElastiCache

Amazon ElastiCache offers fully managed Redis and Memcached. Seamlessly deploy, operate, and scale popular open source compatible in-memory data stores. Build data-intensive apps or improve the performance of your existing apps by retrieving data from high throughput and low latency in-memory data stores. Amazon ElastiCache is a popular choice for Gaming, Ad-Tech, Financial Services, Healthcare, and IoT apps. For more information on AWS ElastiCache, please visit the following URL: https://aws.amazon.com/elasticache/


7. You have the following architecture deployed in AWS:

a) A set of EC2 Instances which sit behind an ELB b) A database hosted in AWS RDS Of late, the performance on the database has been slacking due to a high number of read requests. Which of the following can be added to the architecture to alleviate the performance issue?


A. Enable Multi-AZ to add a secondary read-only DB in another AZ.

B. Use ElastiCache in front of the database.

C. Use AWS CloudFront in front of the database.

D. Use DynamoDB to offload all the reads. Populate the common read items in a separatetable.

Answer

B. Use ElastiCache in front of the database.

Amazon ElastiCache is an in-memory cache which can be used to cache common read requests.The below diagram shows how caching can be added to an existing architecture:For more information on database caching, please visit the below URL:https://aws.amazon.com/caching/database-caching/Note:Option A is incorrect because,If we enable this, again the data is going to serve from another disk, latencywill be there.Option C is incorrect because,CloudFront is a valuable component of scaling a website, especially for geo-location workloads and queries. And more advanced for given architecture.Option Dis incorrect because, it will have latency and additional changes as well.So the best and possible way is option B.