Service Confusion — AWS Developer (DVA-C02)
You picked the right service category but the wrong specific service. The exam tests precise service selection, not general knowledge.
SQS and SNS Both Say Messaging. The Exam Separates Them.
Wording cues: 'fan-out,' 'multiple subscribers,' 'decoupled consumers' point to SNS or EventBridge. 'Queue,' 'retry,' 'at-least-once delivery,' 'ordered processing' point to SQS. Candidates over-focus on 'messaging' as a unified category and conflate the two services. DVA-C02 questions separate push-to-many from pull-from-one before any service selection is made. When the scenario requires both decoupling and fan-out, the correct answer is often both services chained: SNS delivers to multiple SQS queues. SQS FIFO enforces strict ordering and deduplication; standard SQS does not. The distinction between FIFO and standard is a separate selection axis that appears independently of the SNS-versus-SQS question.
The Scenario
The scenario needs a message queue for decoupling microservices with exactly-once processing. You see SQS Standard and SQS FIFO in the options. Standard gives you at-least-once with best-effort ordering — good for most workloads and 120,000 messages per second. But "exactly-once" is the constraint that eliminates Standard. FIFO is the only SQS option that guarantees exactly-once via deduplication IDs. The trap is picking Standard because it handles higher throughput. Same service family, different processing guarantees.
How to Spot It
- •AWS has overlapping services in every category. Kinesis Data Streams gives you real-time with custom consumers; Kinesis Data Firehose auto-delivers to S3/Redshift/OpenSearch with no consumer code. The names sound interchangeable but the delivery models are fundamentally different.
- •When the answer feels right because the service name matches the use case description, check the non-functional requirement. "Exactly-once" eliminates SQS Standard. "Serverless delivery to S3" eliminates Kinesis Data Streams. "Custom processing with replay" eliminates Firehose.
- •SQS FIFO vs Standard, Kinesis Streams vs Firehose, Step Functions Standard vs Express, Lambda vs Fargate — each pair shares a name but differs on a specific axis the exam tests.
Decision Rules
Whether origin-data-store compatibility and the minimal-code-change constraint together mandate DAX over ElastiCache, because DAX is API-transparent to DynamoDB while ElastiCache requires explicit cache-aside logic wired by the application.
Whether encryption-at-rest for stored data is achieved by a KMS CMK integrated at the RDS storage layer and S3 SSE-KMS, or by Secrets Manager — recognising that Secrets Manager protects connection credentials and is orthogonal to disk-level data encryption.
Whether automatic rotation capability — not encryption at rest alone — is the decisive axis that disqualifies Parameter Store SecureString and mandates Secrets Manager.
Whether the root cause of DLQ accumulation is Lambda invocation errors (requiring exception investigation via CloudWatch Logs or X-Ray) versus Lambda throttling (requiring a concurrency increase), given that Throttles=0 categorically rules out the concurrency path.
When the symptom is inter-hop latency with no error signals, the correct single action is enabling X-Ray active tracing on both the API Gateway stage and the Lambda function, satisfying the must-instrument-at-code-level and end-to-end-trace-propagation-required constraints simultaneously — CloudWatch solutions fail because they surface aggregate metrics at one boundary without propagating trace context across hops.
Choose reserved concurrency over provisioned concurrency to enforce an absolute cap on concurrent Lambda executions that simultaneously protects the downstream DynamoDB write capacity and prevents this function from consuming shared account concurrency budget.
Domain Coverage
Difficulty Breakdown
Related Patterns