AWS Solutions Architect Associate Questions Feel Ambiguous? Here’s How to Decide Between Multiple “Right” Answers
You’re reading question 32 on your practice exam. Two answers sound equally valid. One involves Lambda with SQS, the other uses API Gateway with SNS. Both seem architecturally sound. You freeze, second-guess yourself, and pick the wrong one. This is the most common failure pattern for AWS Solutions Architect Associate (SAA-C03) candidates in the 65–78% score range—and it’s not because you don’t understand AWS services.
Direct Answer
The AWS Solutions Architect Associate exam uses a decision hierarchy framework that AWS documentation calls “best fit” selection. When multiple answers appear correct, you’re missing a filtering layer: cost optimization, operational excellence, security posture, or specific service constraints. The SAA-C03 exam isn’t testing whether you can build something with a service combination—it’s testing whether you choose the service combination that AWS itself recommends for that specific scenario. Learning to apply this framework eliminates ambiguity immediately and is the difference between 70% and 85% pass rates.
Why This Happens to AWS Solutions Architect Associate Candidates
This trap exists because AWS services intentionally overlap in capability. Lambda and EC2 both run code. DynamoDB and S3 both store data. SQS and SNS both handle asynchronous messaging. The exam deliberately constructs scenarios where 2–3 service combinations are technically viable.
What separates passing from failing is recognizing that the exam measures architectural judgment, not just technical feasibility. Consider a real scenario: “You need to process 10,000 images asynchronously with variable processing times.” You could use:
- EC2 with an SQS queue
- Lambda with SQS
- Lambda with SNS
- EC2 Auto Scaling with CloudFormation
All four work. But the exam expects you to recognize why Lambda with SQS is the intended answer based on AWS’s own service positioning: no server management (Lambda advantage), guaranteed message delivery with visibility timeout (SQS advantage over SNS for processing workflows), and cost optimization (pay-per-invocation vs. always-on instances).
Candidates who score 65–75% usually select based on “this could work” logic. Candidates who score 85%+ select based on “this is what AWS recommends for this pattern” logic. That’s the difference.
The Root Cause: Not Applying the Exam Vendor Decision Framework Correctly
AWS positions its services along five decision axes, and the SAA-C03 exam tests your fluency with this framework even when it’s never explicitly stated:
1. Operational Model: Managed vs. self-managed. Lambda is fully managed; EC2 requires patching and configuration. If the scenario emphasizes “minimal operational overhead,” Lambda wins. If it emphasizes “custom runtime or specific OS access,” EC2 wins.
2. Scaling Behavior: Automatic vs. manual/configured. DynamoDB scales on-demand; RDS requires read replicas. If the scenario has unpredictable load spikes, DynamoDB is the intended choice. If load is predictable and you need relational consistency, RDS is intended.
3. Decoupling Pattern: Point-to-point vs. pub/sub. SQS decouples one producer to many consumers sequentially. SNS broadcasts one message to many subscribers simultaneously. If the scenario requires “guaranteed processing of each message by one consumer,” use SQS. If it requires “one event triggers multiple independent workflows,” use SNS.
4. Persistence Requirement: Stateless vs. stateful. API Gateway with Lambda is stateless and cheap for request-response. EC2 or RDS is stateful and required when you need session affinity or long-running connections.
5. Cost at Scale: Pay-per-use vs. reserved capacity. Lambda + SQS costs $0.20 per million invocations. EC2 with Auto Scaling costs your baseline instances 24/7. The exam rewards cost optimization when both answers are technically valid.
Most candidates don’t consciously apply this framework. They see “SQS is a queue” and “SNS is messaging” without understanding why the architect chooses one over the other. The ambiguity doesn’t exist because both answers are equally right—it exists because you haven’t filtered through AWS’s own recommendation hierarchy.
How the AWS Solutions Architect Associate Exam Actually Tests This
The SAA-C03 exam is constructed to measure whether you think like AWS. The test makers aren’t asking “can this work?” They’re asking “would AWS recommend this for this scenario?” This is a subtle but critical distinction.
The exam creates ambiguity intentionally. It builds questions where:
- Two services are technically capable of solving the problem
- Both are available in the region specified
- Both would succeed if implemented correctly
- But one aligns better with AWS best practices for that specific pattern
When you encounter this, the deciding factors, in order of priority, are:
- Service-specific constraints (Does IAM allow it? Does the service support the required feature?)
- Operational burden (Does one require more management overhead?)
- Cost efficiency (Does one scale more cost-effectively?)
- Architectural pattern match (Does the scenario description match a known AWS architecture pattern?)
Let’s look at a realistic scenario:
Example scenario:
“A media company streams live events to thousands of concurrent viewers. Viewers should receive the stream simultaneously. The architecture must handle sudden spikes to 50,000 concurrent viewers with minimal latency. Which solution best meets these requirements?
A) Use EC2 instances behind an Application Load Balancer to stream video directly to clients, with Auto Scaling based on CPU utilization.
B) Use CloudFront with S3 as the origin for on-demand video, configured with Lambda@Edge for real-time personalization.
C) Use API Gateway with Lambda functions that push stream data to clients via WebSocket connections.
D) Use CloudFront with MediaPackage for live stream packaging and delivery to concurrent viewers.
Why candidates get stuck:
- Answer A works (you could stream from EC2)
- Answer B works (CloudFront can deliver video)
- Answer C works (WebSockets can handle real-time data)
- Answer D is the intended answer (MediaPackage is AWS’s purpose-built service for live streaming to concurrent viewers)
The ambiguity arises because you’re not filtering through “which service is AWS’s recommended solution for live streaming to concurrent viewers?” If you asked, “What did AWS design MediaPackage to do?” the answer is explicit: live stream video packaging and multi-bitrate delivery at scale.
The correct answer is D because the exam is testing whether you recognize that AWS built MediaPackage specifically for this pattern. Answers A, B, and C are technically viable but represent “I’ll build it myself” thinking rather than “I’ll use the service AWS recommends” thinking.
How to Fix This Before Your Next Attempt
Action 1: Map the AWS Service to Its Primary Use Case
Stop treating AWS services as generic tools. Create a one-page reference chart (or use Certsqill’s service guide) that lists each service with its primary intended use case according to AWS documentation. For example:
- Lambda: “Run code without managing servers; scales automatically to zero; best for event-driven, asynchronous workloads under 15 minutes”
- EC2: “Full control over OS, runtime, and networking; required for custom applications or long-running processes”
- SQS: “Decouple components; guarantee message processing; required when each message must be processed exactly once”
- SNS: “Broadcast one event to multiple independent subscribers; required when one action triggers many workflows”
When you see a question, immediately filter by “which service’s primary use case matches the scenario?”
Action 2: Identify the Scenario Pattern
Every SAA-C03 question follows one of ~20 recurring patterns: load balancing, asynchronous processing, database selection, security/IAM configuration, cost optimization, disaster recovery, etc. Before reading the answer options, identify the pattern. Then ask, “What’s AWS’s recommended service for this pattern?”
For example:
- “Process messages asynchronously with guaranteed delivery” → SQS pattern
- “Send notifications to multiple