Q99 — AWS SAA-C03 Ch.11
Question 99 of 100 | ← Chapter 11
Q799. A company is developing a mobile game that streams score updates to a backend processor and then posts results on a leaderboard. A solutions architect needs to design a solution that can handle large traffic spikes, process the mobile game updates in order of receipt, and store the processed updates in a highly available database. The company also wants to minimize the management overhead required to maintain the solution.What should the solutions architect do to meet these requirements?
- A. Push score updates to Amazon Kinesis Data Streams. Process the updates in Kinesis Data Streams with AWS Lambda. Store the processed updates in Amazon DynamoDB. ✓
- B. Push score updates to Amazon Kinesis Data Streams. Process the updates with a fleet of Amazon EC2 instances set up for Auto Scaling. Store the processed updates in Amazon Redshift.
- C. Push score updates to an Amazon Simple Notification Service (Amazon SNS) topic. Subscribe an AWS Lambda function to the SNS topic to process the updates. Store the processed updates in a SQL database running on Amazon EC2.
- D. Push score updates to an Amazon Simple Queue Service (Amazon SQS) queue. Use a fleet of Amazon EC2 instances with Auto Scaling to process the updates in the SQS queue. Store the processed updates in an Amazon RDS Multi-AZ DB instance.
Correct Answer: A. Push score updates to Amazon Kinesis Data Streams. Process the updates in Kinesis Data Streams with AWS Lambda. Store the processed updates in Amazon DynamoDB.
Explanation
To meet the requirements of handling large traffic spikes, processing mobile game updates in order of receipt, storing the processed updates in a highly available database, and minimizing management overhead, the recommended solution is:A. Push score updates to Amazon Kinesis Data Streams. Process the updates in Kinesis Data Streams with AWS Lambda. Store the processed updates in Amazon DynamoDB.Amazon Kinesis Data Streams is a scalable and durable real-time streaming service that can handle large traffic spikes. Pushing score updates to Kinesis Data Streams allows for the processing of updates in the order of receipt.AWS Lambda can be used to process the updates from Kinesis Data Streams. Lambda functions can be triggered by the stream and can scale automatically to handle varying workloads. This eliminates the need to manage and provision EC2 instances.Storing the processed updates in Amazon DynamoDB provides a highly available and scalable database solution. DynamoDB is a fully managed NoSQL database service that offers automatic scaling and high availability, minimizing the management overhead required.Here's why the other options are not the best fit for the given requirements:B. Pushing score updates to Kinesis Data Streams and processing with a fleet of EC2 instances: Using EC2 instances with Auto Scaling can handle traffic spikes, but it introduces management overhead in managing and scaling the instances. Additionally, using Amazon Redshift as the storage solution may not be optimal for storing individual game updates.C. Pushing score updates to Amazon SNS and processing with an EC2-based Lambda function: Amazon SNS is a pub/sub messaging service and may not be the best fit for processing updates in order of receipt. Using an EC2-based SQL database introduces management overhead, and the solution may not be as scalable and highly available as using DynamoDB.D. Pushing score updates to an Amazon SQS queue and processing with a fleet of EC2 instances: While SQS can handle message queuing, it does not guarantee the order of message processing. Using EC2 instances with Auto Scaling introduces management overhead, and using RDS Multi-AZ may not provide the same level of scalability and availability as DynamoDB.Therefore, the recommended solution that meets the requirements of handling large traffic spikes, processing updates in order, storing processed updates in a highly available database, and minimizing management overhead is:A. Push score updates to Amazon Kinesis Data Streams. Process the updates in Kinesis Data Streams with AWS Lambda. Store the processed updates in Amazon DynamoDB.