Overview
Development with AWS Services is the core of the developer certification. It has three tasks. Developing code for applications covers writing resilient, idempotent, stateless code that uses the AWS SDKs and service APIs, messaging with SQS and SNS, and streaming with Kinesis. Developing code for Lambda covers configuring functions (memory, timeout, concurrency, layers, environment variables), accessing VPC resources, handling events and errors with destinations and dead-letter queues, and integrating Lambda with other services. Using data stores covers DynamoDB and its access patterns, caching, data lifecycles, and serialization.
At 32%, this is the heaviest domain and the most hands-on. The exam rewards knowing how to write code that calls AWS correctly: making operations idempotent, choosing DynamoDB keys and indexes, handling Lambda concurrency, and picking the right messaging or caching service. These patterns recur throughout the security, deployment and troubleshooting domains.
How it's tested
DVA-C02 questions are scenario-based and often show a code or integration situation, asking which service, configuration or pattern a developer should use. In this domain they describe an application behavior need and reward the correct SDK usage, Lambda setting, DynamoDB design or messaging choice. Read the behavior required before choosing.
-
Right service for the pattern
An application behavior is described, and you choose SQS, SNS, Kinesis, DynamoDB or caching to implement it.
-
Lambda configuration
A function behavior or limit is described, and you choose the memory, timeout, concurrency or error-handling setting.
-
DynamoDB design
A data access pattern is described, and you choose the partition key, sort key or index.
A payment API may receive the same request twice due to client retries, and must not charge twice. Simply processing each request risks double charges. Making the operation idempotent, for example with a unique request token stored in DynamoDB using a conditional write, ensures a repeated request is recognized and not processed again, which is the pattern the exam expects for safe retries.
Tasks 3
Official tasks from the Amazon Web Services outline, in outline order.
1.1 Develop code for applications hosted on AWSSDKs and APIs, idempotency, statelessness, messaging and streaming.
- What it means
- This covers writing fault-tolerant, resilient application code in a supported language, using idempotency and stateless design, calling AWS services through the SDKs and APIs, using messaging services such as SQS and SNS, and handling streaming data with Kinesis.
- What to understand
- Idempotency means a repeated operation has the same effect as doing it once, which is essential for safe retries. Stateless design lets requests be handled by any instance and scale horizontally. SQS decouples with a queue, SNS fans out notifications, and Kinesis handles ordered streaming. The SDK handles retries, pagination and credentials.
- How it shows up
- An application behavior need is described, and you must choose the messaging or streaming service and apply idempotency and statelessness.
- Common confusion
- Confusing SQS, SNS and Kinesis; SQS is a queue, SNS is pub/sub, and Kinesis is ordered real-time streaming.
1.2 Develop code for AWS LambdaFunction configuration, VPC access, concurrency, events and error handling.
- What it means
- This covers configuring Lambda functions (memory, timeout, concurrency, runtime, handler, layers, extensions, triggers, destinations), accessing private VPC resources from Lambda, handling the event lifecycle and errors with Lambda Destinations and dead-letter queues, integrating Lambda with other services, and tuning performance.
- What to understand
- Lambda memory also scales CPU, so raising memory can speed execution. Timeout limits run time. Reserved and provisioned concurrency control scaling and cold starts. Dead-letter queues and destinations capture failed asynchronous events. Accessing VPC resources requires the function to be configured in the VPC with the right networking.
- How it shows up
- A function behavior or limit is described, and you must choose the memory, timeout, concurrency or error-handling configuration.
- Common confusion
- Confusing reserved concurrency with provisioned concurrency; reserved caps and guarantees concurrency, while provisioned pre-warms instances to avoid cold starts.
1.3 Use data stores in application developmentDynamoDB access patterns, caching, data lifecycle and serialization.
- What it means
- This covers using data stores in application code, especially DynamoDB partition and sort keys, secondary indexes, read and write capacity, caching with DAX or ElastiCache, data lifecycle management, serialization and deserialization, and choosing specialized stores by access pattern.
- What to understand
- DynamoDB performance depends on good key design: the partition key should spread load evenly, and indexes support additional query patterns. DAX caches DynamoDB reads, and ElastiCache caches general data. Choosing the right store and key design for the access pattern is the central skill, since relational and key-value stores suit different needs.
- How it shows up
- A data access pattern is described, and you must choose the DynamoDB key or index, a caching service, or the right store.
- Common confusion
- Confusing a global secondary index with a local secondary index; a global secondary index can use a different partition key, while a local secondary index shares the table's partition key.
High-yield concepts
The terms, rules and formulas this domain turns into questions most often.
-
Idempotency
A repeated operation has the same effect as a single one.
- Remember
- Essential for safe retries, often via a unique token and conditional write.
- Tested as
- Resilience questions.
- Trap
- Processing duplicate requests twice.
-
Stateless design
Requests carry no server-side session state.
- Remember
- It enables horizontal scaling and resilience.
- Tested as
- Architecture-in-code questions.
- Trap
- Storing session state on the instance.
-
SQS vs. SNS vs. Kinesis
Queue, pub/sub, and ordered real-time streaming.
- Remember
- Kinesis preserves order and supports replay.
- Tested as
- Messaging questions.
- Trap
- Using SQS where ordered streaming is needed.
-
Lambda memory and CPU
Memory setting also scales CPU.
- Remember
- More memory can reduce execution time.
- Tested as
- Performance questions.
- Trap
- Tuning CPU separately from memory.
-
Reserved vs. provisioned concurrency
Reserved caps and guarantees concurrency; provisioned pre-warms instances.
- Remember
- Provisioned concurrency reduces cold starts.
- Tested as
- Lambda scaling questions.
- Trap
- Confusing the two settings.
-
Dead-letter queues and destinations
Capture failed asynchronous Lambda events for later handling.
- Remember
- They prevent silent loss of failed events.
- Tested as
- Error-handling questions.
- Trap
- Ignoring failed async invocations.
-
Lambda in a VPC
Configuring a function to access private VPC resources.
- Remember
- It needs subnets and security groups, and for internet access a NAT path.
- Tested as
- Integration questions.
- Trap
- Expecting VPC Lambda to reach the internet without NAT.
-
DynamoDB key design
Partition key spreads load; sort key orders items within a partition.
- Remember
- A poor partition key causes hot partitions.
- Tested as
- Data store questions.
- Trap
- Choosing a low-cardinality partition key.
-
Global vs. local secondary index
A global secondary index uses a different partition key; a local secondary index shares the table's partition key.
- Remember
- Choose by the query pattern needed.
- Tested as
- Data store questions.
- Trap
- Confusing the two index types.
-
DynamoDB capacity modes
Provisioned versus on-demand capacity.
- Remember
- On-demand suits unpredictable traffic.
- Tested as
- Data store questions.
- Trap
- Using provisioned for spiky, unpredictable load.
-
DAX vs. ElastiCache
DAX caches DynamoDB reads specifically; ElastiCache caches general data.
- Remember
- DAX is purpose-built for DynamoDB.
- Tested as
- Caching questions.
- Trap
- Using ElastiCache where DAX fits DynamoDB.
Side by side
Concepts candidates mix up, compared on the point that decides the answer.
SQS vs. SNS vs. Kinesis
| Concept | Meaning | Key difference | Common trap |
|---|---|---|---|
| SQS | A queue consumers pull from | Decouples work, no ordering guarantee by default | Expecting ordered replay |
| SNS | Pub/sub fan-out to many subscribers | Pushes one message to many | Using it to buffer work |
| Kinesis | Ordered real-time streaming | Ordering and replay within a shard | Using SQS for ordered streams |
Reserved vs. provisioned concurrency
| Concept | Meaning | Key difference | Common trap |
|---|---|---|---|
| Reserved concurrency | Caps and guarantees a function's concurrency | Limits and reserves capacity | Expecting it to remove cold starts |
| Provisioned concurrency | Pre-warms a set number of instances | Removes cold-start latency | Confusing it with reserved |
Global vs. local secondary index
| Concept | Meaning | Key difference | Common trap |
|---|---|---|---|
| Global secondary index | Different partition and sort key | New query patterns, own capacity | Confusing it with a local index |
| Local secondary index | Same partition key, different sort key | Alternate sort within a partition | Expecting a different partition key |
Exam traps
Each trap is an answer that looks right. Learn the clue that should change your mind.
-
No idempotency
- What candidates pick
- Process every incoming request without a deduplication mechanism.
- Why it looks right
- It is the straightforward path.
- Why it's wrong
- Client retries can send duplicates; idempotency with a unique token and conditional write prevents double processing.
Clue to watch for Requests may be retried and must not be applied twice.
-
SQS for ordered streams
- What candidates pick
- Use a standard SQS queue for ordered, replayable event streaming.
- Why it looks right
- SQS is a familiar messaging service.
- Why it's wrong
- Kinesis preserves order within a shard and supports replay, which standard SQS does not.
Clue to watch for The data must be ordered or replayable.
-
Provisioned to cap concurrency
- What candidates pick
- Use provisioned concurrency to limit how many instances a function can use.
- Why it looks right
- Both relate to concurrency.
- Why it's wrong
- Reserved concurrency caps and guarantees concurrency; provisioned concurrency pre-warms instances to cut cold starts.
Clue to watch for The need is to limit concurrency versus reduce cold starts.
-
Hot partition key
- What candidates pick
- Use a low-cardinality attribute such as status as the DynamoDB partition key.
- Why it looks right
- It is a convenient attribute.
- Why it's wrong
- A low-cardinality partition key concentrates traffic on few partitions, causing throttling. The key should spread load.
Clue to watch for The table experiences throttling on certain keys.
-
VPC Lambda reaches internet freely
- What candidates pick
- Assume a Lambda in a VPC can reach the internet by default.
- Why it looks right
- Non-VPC Lambda can.
- Why it's wrong
- A function in a VPC needs a NAT path for internet access, like any private subnet resource.
Clue to watch for A VPC-configured function must call an external endpoint.
-
ElastiCache for DynamoDB
- What candidates pick
- Use ElastiCache to cache DynamoDB reads.
- Why it looks right
- ElastiCache is a cache.
- Why it's wrong
- DAX is purpose-built to cache DynamoDB reads with minimal code change; ElastiCache is for general caching.
Clue to watch for The cache is specifically for DynamoDB reads.
Answer framework
For any Domain 1 development scenario, use these steps to find the answer DVA-C02 expects.
- Identify the application behavior required and whether it needs messaging, streaming, a data store or compute logic.
- Make operations idempotent and stateless so retries are safe and the application scales horizontally.
- Choose the right integration service: SQS to decouple, SNS to fan out, Kinesis for ordered streaming, and the correct caching service.
- For Lambda, set memory (which scales CPU), timeout and concurrency correctly, and handle failed async events with destinations or dead-letter queues.
- For DynamoDB, design a high-cardinality partition key, add the right secondary index for the query pattern, and choose the capacity mode that fits the traffic. Where two options seem to fit, pick the one that most precisely matches the behavior the scenario requires.
Practice question
Want more like this? The AWS DVA practice test has questions for every domain.
Checklist
0 of 10
Tick each one you can do without notes. Your ticks stay in this browser.
Study strategy
This domain is the most hands-on, so study by writing code against the AWS SDK rather than only reading. Build small applications that call AWS services, handle retries idempotently and run statelessly, so these patterns become instinctive.
Give Lambda deep attention, since it is central: learn how memory scales CPU, how timeout and concurrency behave, the difference between reserved and provisioned concurrency, and how to capture failed async events. Then master DynamoDB, the most tested data store: partition and sort key design, avoiding hot partitions, global versus local secondary indexes, and capacity modes.
Learn the messaging and streaming trio precisely, SQS, SNS and Kinesis, and the caching options DAX and ElastiCache. Because this domain underpins the others, strong fundamentals here pay off across the exam. Afterwards, move to Domain 2, security, the second-largest domain. Hands-on coding against the AWS SDK in a free-tier account cements these developer patterns far faster than reading, and reviewing missed practice questions by domain shows where to focus next.
FAQ
How much of DVA-C02 is Domain 1?
Development with AWS Services is 32% of the scored content, the largest domain, and the most implementation-focused.
What is idempotency and why does it matter?
An idempotent operation has the same effect whether applied once or many times, which makes retries safe. It is often implemented with a unique token and a conditional write so duplicates are ignored.
What is the difference between reserved and provisioned concurrency?
Reserved concurrency caps and guarantees how much concurrency a function can use. Provisioned concurrency pre-warms a set number of instances to eliminate cold-start latency.
When should I use Kinesis instead of SQS?
When the data must be ordered and replayable. Kinesis preserves order within a shard and allows replay, while a standard SQS queue does not.
How do I avoid DynamoDB hot partitions?
Choose a high-cardinality partition key that spreads traffic evenly across partitions, rather than a low-cardinality attribute that concentrates load.
Can a Lambda function in a VPC reach the internet?
Only through a NAT path, like any private subnet resource. A VPC-configured function does not get internet access automatically.
How does Domain 1 connect to the rest of the exam?
Its implementation patterns, idempotency, Lambda, DynamoDB and messaging, recur in the security, deployment and troubleshooting domains.
Other Cloud Computing certifications
Where the same subject shows up in other exams. Cards marked "Same subject" open the matching domain.
- AWS Certified Solutions Architect - Associate Study guide
- AWS Certified Cloud Practitioner Study guide
- AWS Certified SysOps Administrator - Associate Study guide
- AWS Certified Solutions Architect - Professional Study guide
- Microsoft 365 Fundamentals Study guide
- Azure Developer Associate Study guide
- Google Cloud Associate Cloud Engineer Study guide
- CompTIA Cloud+ Study guide
- Microsoft Certified: Azure Fundamentals Study guide
- HashiCorp Certified: Terraform Associate Study guide
- Azure Administrator Associate Study guide
- Azure Solutions Architect Expert Study guide
Test your Domain 1 knowledge
You have covered SDK usage, Lambda, DynamoDB, messaging and caching. Test whether you can choose the right service and configuration for an application behavior under exam conditions.
Keep going
- Training Training Built on your Weak areas
- Practice test Questions by domain, with explanations
- Mock exam Full length, timed like the real exam
- Readiness test Find your weakest domain in minutes
- Cheat sheet Key terms and formulas on one page
- Ask the AWS DVA AI tutor Get any concept explained your way