Development with AWS Services – Study Guide (DVA-C02)
This domain covers 32% of the exam and tests your ability to select, configure, and integrate AWS developer services into serverless, event-driven, and containerised architectures. Expect scenario-based questions requiring you to choose between similar services, debug integration issues, and apply the right concurrency or caching strategy.
AWS Lambda
Configuration limits: 15-minute max timeout, 10 GB memory, 250 MB deployment package (unzipped), 512 MB–10 GB /tmp storage. Layers add up to 5 layers per function; total unzipped size including layers must stay under 250 MB.
Cold starts: Happen when no warm execution environment exists. Mitigate with provisioned concurrency (pre-initialised environments, costs money) or keep functions warm via scheduled pings. Reserved concurrency caps a function's maximum concurrency but does not eliminate cold starts.
Concurrency math: concurrency = invocations per second × average duration in seconds. Account default is 1,000 concurrent executions (soft limit). Reserved concurrency subtracts from the account pool; provisioned concurrency is pre-paid capacity within the reserved limit.
Execution role: The Lambda function's IAM role. Permissions to call other AWS services must be on this role, not the caller's role.
Lambda Layers: Share libraries/dependencies across functions. Referenced by ARN. Runtime code is separate from layers.
Lambda Triggers & Event Source Mappings
| Source | Trigger type | Key config |
|---|---|---|
| API Gateway | Synchronous | Payload format v1/v2 |
| S3 | Asynchronous | Event notifications per prefix/suffix |
| DynamoDB Streams | Polling (ESM) | Batch size, bisect on error |
| SQS | Polling (ESM) | Batch size, visibility timeout > function timeout |
| SNS | Asynchronous | No retry control at Lambda level |
| EventBridge | Asynchronous | Rules target Lambda directly |
| Kinesis | Polling (ESM) | Shard iterator, enhanced fan-out for parallel consumers |
Critical trap: SQS visibility timeout must be longer than the Lambda timeout or messages reappear mid-processing.
Amazon API Gateway
Three API types:
- REST API – Full features: caching, request validation, usage plans, WAF integration.
- HTTP API – Lower latency, cheaper (~70% less), supports OIDC/JWT auth, no usage plans or caching.
- WebSocket API – Persistent connections, route selection expressions,
@connectionsmanagement.
Stages & deployments: Changes require a new deployment to a stage. Stage variables act like environment variables per stage. Canary deployments split traffic between stage versions.
Throttling: Default 10,000 RPS burst, 5,000 RPS steady state per account/region. Usage plans apply per API key. 429 = throttled.
Caching: REST API only. TTL 0–3,600 seconds. Invalidated per-request with Cache-Control: max-age=0 header (requires IAM permission).
CORS: Must be enabled on API Gateway when a browser calls across origins. For Lambda proxy integration, the function must also return CORS headers.
Amazon DynamoDB
Partition key selection: Choose high-cardinality attributes to distribute load evenly. Hot partitions cause ProvisionedThroughputExceededException.
GSI vs LSI:
- LSI – Same partition key, alternate sort key. Created at table creation only. Shares table RCU/WCU.
- GSI – Different partition key and/or sort key. Added anytime. Has its own RCU/WCU. Supports eventual consistency only.
Key API operations:
GetItem/PutItem/UpdateItem– Single item, eventually or strongly consistent reads.Query– Requires partition key; filters on sort key. More efficient than Scan.Scan– Reads entire table; expensive. UseFilterExpressionto reduce returned data (but RCU still consumed for full scan).BatchWriteItem– Up to 25 items per call; no partial failure rollback.TransactWriteItems– ACID across up to 100 items, same or different tables; costs 2× WCU.
Sign in free to read the full guide
1 more section (about 649 words) continue below. The first domain's study guide is free for every DVA-C02 learner with a free account.