Serverless Orderly Processing with Kinesis and Lambda

SAA-C03 By islever Editorial Last updated

Short answer

A Push score updates to Amazon Kinesis Data Streams, process them with AWS Lambda, and store results in Amazon DynamoDB.

Question

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

Key Takeaways

The core trap is confusing SQS (which does not guarantee global order) with Kinesis (which preserves partition order). Additionally, managed services like Lambda and DynamoDB are required to meet the 'minimize management overhead' constraint.

This question tests designing a serverless architecture that processes data in order while minimizing management overhead. The correct solution uses Amazon Kinesis Data Streams for ordered ingestion, AWS Lambda for stateless processing, and Amazon DynamoDB for the database.

Common mistake: Candidates often choose Option D because SQS is commonly used for decoupling. However, SQS does not guarantee FIFO ordering across all messages without specific configurations, and using EC2/RDS violates the requirement to minimize management overhead compared to fully managed alternatives.

Expert Analysis

Why the Answer Is Correct

Option A is the only choice that satisfies all three critical constraints: handling traffic spikes, preserving order, and minimizing overhead. Amazon Kinesis Data Streams is designed for high-throughput streaming and guarantees that records within the same shard are processed in strict order, which fits the "process updates in order" requirement. AWS Lambda provides the compute layer with zero server management, automatically scaling to handle spikes. Finally, Amazon DynamoDB is a fully managed NoSQL database that offers high availability and scalability with no infrastructure management.

Why the Other Options Are Wrong

Option B uses EC2 instances, which require patching, OS maintenance, and capacity planning, violating the minimal overhead rule. Redshift is also optimized for analytics, not low-latency leaderboard updates. Option C uses SNS, which is a publish-subscribe service that does not preserve message order, failing the ordering requirement. It also places a SQL database on EC2, creating significant management overhead. Option D uses SQS, which does not guarantee order unless FIFO queues are explicitly used (and even then, throughput limits apply). More importantly, it relies on EC2 and RDS Multi-AZ, which involve managing servers and database engines, directly contradicting the goal of minimizing management overhead.

Community Comment Notes

The community consensus strongly favors Option A, highlighting the importance of matching service features to constraints. As user BillaRanga noted, the combination of "Stream + process in order + Minimum Overhead" points directly to Kinesis and Lambda. Another commenter emphasized that while SQS looks similar, the operational overhead of EC2 and Multi-AZ DB makes it an incorrect choice for this specific scenario.

Exam Strategy

Always prioritize managed serverless services (Lambda, DynamoDB) when the exam asks to minimize management overhead. Use Kinesis when you need ordered, high-volume streaming data, and reserve SQS for unordered, decoupled task queues.

Frequently Asked Questions

Why can't I use SQS FIFO for ordered processing?

SQS FIFO maintains order but has lower throughput than Kinesis and incurs higher management overhead if paired with EC2, which violates the prompt's constraints.

Is DynamoDB really highly available?

Yes, DynamoDB replicates data across three Availability Zones by default, providing built-in high availability without manual configuration.

More SAA-C03 FAQ →

Community Votes

A
100%

100% of anonymous learners picked answer A. Votes are pick records left by other test-takers — they are not the verified answer.

Discussion 5 contributions

Compiled from public community threads and reader submissions, lightly edited for clarity. Handles and vote tallies are shown as recorded, and comments reflect the views of individual contributors.

From public community threads 5

  1. BillaRanga 👍 12 Answered A
    requirement -1: "Stream + process in order + Minimum Overhead" = Kinesis Data Stream + Lambda requirement-2: "Highly available database + Min Management overhead" = DynamoDb Setting Up Ec2 instance or MultiAZ DB = overhead
  2. sandordini 👍 4 Answered A
    Even though it looks like SQS, but EC2 and Multi-AZ DB fail when it comes to minimal operational overhead.
  3. mohammadthainat 👍 2 Answered A
    easy one: mobile game ->> DynamoDB
  4. Andy_09 👍 8
    Option A
  5. Scheldon 👍 2 Answered A
    AnswerA

Reader comments & corrections

No reader corrections yet — spotted an error or have a note? Share it below.

Log in to comment, report an error, or add a note about this question.

Submitted for moderation before publishing. Keep it helpful and respectful.

Practice All SAA-C03 Questions

Access 120 questions with complete answers and detailed explanations.

View Full SAA-C03 Practice Test →

← Back to SAA-C03 Study Guide