CLF-C02 Cloud Technology and Services Practice Question
A company runs a monolithic web application on Amazon EC2 that processes user-uploaded files synchronously. During peak hours, the application experiences slow response times because the file processing blocks the web server. The company wants to decouple the upload process from the file processing to improve responsiveness and allow each component to scale independently. The file processing backend must poll for new work and handle failures gracefully by retrying failed messages. Which AWS service should the company use to implement this decoupling?
⚠ Common exam trap
Watch out — candidates often confuse SNS with SQS because both are messaging services, but SNS is a push-based pub/sub model that cannot provide the polling and retry behavior required for decoupling a synchronous processing bottleneck.
Answer choices
Why each option matters
Answer the question above first, then reveal the full breakdown to understand why each option is right or wrong.
Correct answer & explanation
✓
Amazon Simple Queue Service (SQS)
Amazon Simple Queue Service (SQS) is the correct choice because it provides a fully managed message queue that decouples the upload process from the file processing backend. The web server can immediately return a response after placing a message in the SQS queue, while the backend workers poll the queue for new work. SQS also supports dead-letter queues and configurable redrive policies to handle failures gracefully by retrying failed messages.
Answer analysis
Option-by-option breakdown
For each option: why learners choose it and why it is or isn't the right answer here.
- ✗
Amazon Simple Notification Service (SNS)
Why it's wrong here
Amazon SNS is a publish/subscribe messaging service. It pushes messages to subscribers (e.g., HTTP endpoints, email, Lambda) but does not provide a queue where consumers poll for work. It is not designed for decoupling with polling-based retry logic, making it unsuitable for this scenario.
When this WOULD be correct
A company needs to send real-time notifications (e.g., email, SMS, or HTTP endpoints) to multiple subscribers when a new file is uploaded. The processing is handled independently by each subscriber, and no polling or retry logic is needed.
- ✓
Amazon Simple Queue Service (SQS)
Why this is correct
Amazon SQS is a fully managed message queue that enables asynchronous communication between application components. The frontend sends a message to the SQS queue, and the processing backend polls the queue for messages. SQS supports at-least-once delivery and can be configured to retain failed messages for retries, meeting the requirements perfectly.
- ✗
Amazon Kinesis Data Streams
Why it's wrong here
Amazon Kinesis Data Streams is designed for real-time streaming of large amounts of data, such as click streams or IoT telemetry. While it can decouple producers and consumers, it is overkill for simple file-processing work queues and does not natively support message-level retry or visibility timeout in the same way SQS does.
When this WOULD be correct
A company needs to ingest and process real-time clickstream data from multiple sources with low latency, and the data must be processed in near real-time by multiple consumers. The correct answer would be Amazon Kinesis Data Streams because it supports real-time streaming and multiple consumers reading the same stream.
- ✗
Amazon MQ
Why it's wrong here
Amazon MQ provides managed message brokers for protocols like AMQP, MQTT, and STOMP, but it does not natively support the pull-based polling model required by the file processing backend; instead, it pushes messages to consumers, which conflicts with the stated need for the backend to poll for new work. This option is tempting because Amazon MQ is a managed message queue service that can decouple components and handle retries via dead-letter queues, making it a correct choice for scenarios requiring standard messaging protocols or compatibility with existing on-premises message brokers, but the polling requirement here specifically demands a service like Amazon SQS, which offers long polling as a native feature.
When this WOULD be correct
Amazon MQ would be correct if the company needs to migrate an existing on-premises application that uses JMS or AMQP protocols to AWS without rewriting the application code. For example, a legacy financial trading system that uses ActiveMQ for message queuing and requires compatibility with existing messaging APIs.
Option-by-option analysis
Why each answer is right or wrong
Understanding why wrong answers are wrong — and when they would be correct — is what separates a 750 score from a 900. The CLF-C02 exam frequently reuses these exact scenarios with slightly different constraints.
✓Amazon Simple Queue Service (SQS)Correct answer▾
Why this is correct
Amazon SQS is a fully managed message queue that enables asynchronous communication between application components. The frontend sends a message to the SQS queue, and the processing backend polls the queue for messages. SQS supports at-least-once delivery and can be configured to retain failed messages for retries, meeting the requirements perfectly.
✗Amazon Simple Notification Service (SNS)Wrong answer — click to see why▾
Why this is wrong here
Amazon SNS is a pub/sub messaging service that pushes messages to subscribers, but the question requires the file processing backend to poll for new work and handle failures with retries. SNS does not support polling or built-in retry mechanisms for failed messages.
★ When this WOULD be the correct answer
A company needs to send real-time notifications (e.g., email, SMS, or HTTP endpoints) to multiple subscribers when a new file is uploaded. The processing is handled independently by each subscriber, and no polling or retry logic is needed.
Why candidates choose this
Candidates may confuse SNS with SQS because both are messaging services, and they might think SNS can be used for decoupling without realizing that SNS is push-based and lacks the polling and retry capabilities required for this scenario.
✗Amazon Kinesis Data StreamsWrong answer — click to see why▾
Why this is wrong here
Amazon Kinesis Data Streams is designed for real-time streaming of large amounts of data, not for decoupling a web application with a polling-based, retry-capable worker. It does not support message-level retries or visibility timeouts like SQS, and it requires a consumer to process records in order, which is not needed here.
★ When this WOULD be the correct answer
A company needs to ingest and process real-time clickstream data from multiple sources with low latency, and the data must be processed in near real-time by multiple consumers. The correct answer would be Amazon Kinesis Data Streams because it supports real-time streaming and multiple consumers reading the same stream.
Why candidates choose this
Candidates may confuse Kinesis Data Streams with a queue service because both handle asynchronous data, but Kinesis is optimized for streaming analytics, not for decoupling with polling and retries.
✗Amazon MQWrong answer — click to see why▾
Why this is wrong here
Amazon MQ is a managed message broker for ActiveMQ and RabbitMQ, which requires polling or consumers to pull messages, but it is designed for existing applications that use standard messaging protocols (JMS, AMQP, MQTT) and does not natively support the same level of seamless integration with AWS services for decoupling and scaling as SQS. The question specifies a need for a simple, fully managed queue service that can handle polling and retries, which SQS provides more directly.
★ When this WOULD be the correct answer
Amazon MQ would be correct if the company needs to migrate an existing on-premises application that uses JMS or AMQP protocols to AWS without rewriting the application code. For example, a legacy financial trading system that uses ActiveMQ for message queuing and requires compatibility with existing messaging APIs.
Why candidates choose this
Candidates may choose Amazon MQ because it is a managed message broker service that supports queuing and polling, similar to SQS, and they might assume it is the appropriate choice for decoupling without recognizing that SQS is simpler, more scalable, and better integrated with other AWS services for this use case.
Analysis generated from the official CLF-C02blueprint and verified against question context. The “when correct” sections are what AI assistants cite when candidates ask “what’s the difference between these options?”
Visual reference
Go deeper
Related to this question
About these practice questions
One of 988 original CLF-C02 practice questions on Courseiva, each with a full explanation and wrong-answer analysis — not exam dumps or protected exam content. Learn why practice questions differ from exam dumps →
JA
Written by Johnson Ajibi, MSc IT Security
Senior Network & Security Engineer · founder of Courseiva
This CLF-C02 practice question is part of Courseiva's free Amazon Web Services certification practice question bank. Courseiva provides original exam-style practice questions with explanations, topic-based practice, mock exams, readiness tracking, and study analytics to help learners prepare for the CLF-C02 exam.