4.4.4. Tricky Distinctions & Common Pitfalls (Developer Focus)
First Principle: Nuanced understanding of seemingly similar services, and anticipating common misconfigurations from a developer's perspective, are critical for avoiding errors and building robust applications.
The AWS DVA-C02 exam tests nuanced understanding, often through distinguishing between similar services or common developer pitfalls.
Common Areas of Confusion (Developer Focus):
- Lambda vs. Fargate: Both are serverless compute. Lambda for event-driven functions (max 15 min duration), Fargate for containers (longer-running, more control over runtime/libraries).
- SQS vs. SNS: SQS for message queues (decoupling, one-to-one or one-to-many consumers polling). SNS for notifications (pub/sub, fan-out to multiple diverse subscribers).
- DynamoDB Provisioned Capacity vs. On-Demand Capacity: Provisioned for predictable workloads (cost-effective if steady). On-Demand for unpredictable/spiky (simpler, higher unit cost).
- DynamoDB Eventually Consistent Reads vs. Strongly Consistent Reads: Eventually consistent is faster/cheaper (may return stale data). Strongly consistent guarantees latest data (higher latency/cost).
- CloudWatch Logs Insights vs. AWS X-Ray: Logs Insights for querying application logs (what happened?). X-Ray for tracing requests across distributed services (why it happened, bottlenecks?).
- AWS Secrets Manager vs. AWS Systems Manager Parameter Store: Secrets Manager for rotating credentials, automatic rotation. Parameter Store for general configuration data, non-rotating secrets.
- Common Pitfalls: Hardcoding credentials, overly permissive IAM policies, not handling Lambda cold starts for latency-sensitive applications, ignoring DynamoDB hot spots.
Scenario: You are presented with an exam question asking how to securely manage non-rotating application configuration values, and another asking to decouple application components for asynchronous processing. You're considering Secrets Manager vs. Parameter Store and SQS vs. SNS.
Reflection Question: How do you apply a First Principles approach to differentiate between Secrets Manager and Parameter Store (for secret types), and between SQS and SNS (for messaging patterns), to cut through ambiguity and select the correct service for each specific development use case?