Development with AWS Services
The largest domain of DVA-C02 tests how you write, package, and integrate application code that runs on AWS compute and messaging services. Focus on serverless patterns, event-driven design, and using the AWS SDK correctly.
AWS Lambda fundamentals
Lambda runs your code without provisioning servers, billing per request and per millisecond of execution. A function has a handler, a configured memory size (which also scales CPU), and a timeout up to 15 minutes. Package dependencies in the deployment archive or a Lambda layer, and keep initialization work outside the handler so it is reused across warm invocations. Grant permissions through the function's execution role, never by embedding credentials.
Event-driven integration
Decouple components with Amazon SQS queues, Amazon SNS topics, and Amazon EventBridge. SQS delivers messages to a single consumer that must delete them after processing; SNS fans out one message to many subscribers; EventBridge routes events by rules and supports schemas and third-party sources. Use dead-letter queues to capture messages that repeatedly fail so the main flow is not blocked.
Using the AWS SDK
The AWS SDK signs requests with SigV4 and exposes each service as a client. Prefer the default credential provider chain so code picks up an IAM role automatically instead of hard-coded keys. Handle throttling with exponential backoff and jitter, which the SDK applies by default, and reuse SDK clients rather than creating one per call to benefit from connection reuse.
Idempotency and retries
Because distributed systems retry, design writes to be idempotent so a duplicate does not corrupt data. Use a client-supplied idempotency key, conditional writes in DynamoDB, or SQS message deduplication in FIFO queues. Assume any message may be delivered at least once and any request may be retried.
Configuration and secrets
Externalize configuration using environment variables, AWS Systems Manager Parameter Store, or AWS Secrets Manager. Secrets Manager encrypts values with KMS and can rotate database credentials automatically, while Parameter Store is a lower-cost choice for plain configuration. Applications read these at startup using their execution role rather than storing values in code.