AWS Certified Developer Associate (DVA-C02) Domain 1
Development with AWS Services
Official Exam Guide: Domain 1: Development with AWS Services
Skill Builder: AWS Developer Associate (DVA-C02) Exam Prep
Note: Some Skill Builder labs require a subscription.
How to Study This Domain Effectively
Study Tips
-
Build working code examples for each pattern - Don’t just read about event-driven architectures, microservices, or Lambda functions—actually implement them. Create small projects that demonstrate synchronous vs asynchronous patterns, tightly vs loosely coupled components, and stateful vs stateless designs. Hands-on coding solidifies these concepts far better than passive reading, and the exam frequently tests your ability to identify the right pattern for specific scenarios.
-
Practice with AWS SDKs in your preferred language - The exam expects you to understand how to interact with AWS services programmatically. Install the AWS SDK for your language of choice (Python, JavaScript, Java, etc.) and write code that calls various AWS services. Focus on error handling, retry logic, pagination, and authentication patterns that appear consistently across different SDKs.
-
Master DynamoDB through practical exercises - DynamoDB is heavily featured in this domain. Create tables with different partition key and sort key combinations, practice query vs scan operations, experiment with Global Secondary Indexes and Local Secondary Indexes, and implement pagination. Understanding DynamoDB’s performance characteristics and access patterns is crucial for multiple exam questions.
-
Set up a local Lambda development environment - Use AWS SAM CLI or the Serverless Framework to develop and test Lambda functions locally. Practice configuring environment variables, adjusting memory and timeout settings, implementing error handling with destinations and dead-letter queues, and testing event-driven invocations. Local development helps you understand Lambda’s execution model without constant deployment delays.
-
Create an architecture pattern cheat sheet - Build a visual reference that maps common application patterns (event-driven, microservices, fanout, choreography, orchestration) to their AWS service implementations. Include when to use SQS vs SNS vs EventBridge, how Step Functions orchestrates workflows, and how to implement circuit breakers and retry logic. This reference helps you quickly identify the right architectural approach during exam questions.
Recommended Approach
-
Start with foundational architectural concepts - Begin by understanding the core architectural patterns (monolithic vs microservices, stateful vs stateless, synchronous vs asynchronous, tightly vs loosely coupled). Read the AWS Well-Architected Framework and serverless application lens to understand how these patterns apply to AWS. This foundation is essential for making architectural decisions throughout the exam.
-
Deep dive into AWS SDK programming - Study how to use AWS SDKs to interact with services programmatically. Focus on the SDK documentation for your preferred language, learn about credential management, understand pagination for large result sets, and master error handling and retry strategies. Practice writing code that calls EC2, S3, DynamoDB, SQS, and Lambda programmatically.
-
Master Lambda development and optimization - Study Lambda configuration options (memory, timeout, concurrency, environment variables, layers, extensions), understand the execution lifecycle, practice implementing error handling with destinations and DLQs, and learn performance optimization techniques. Work through AWS SAM documentation to understand local testing and deployment patterns.
-
Become proficient with messaging and event services - Study SQS, SNS, EventBridge, and Kinesis in detail. Understand their use cases, message delivery patterns, error handling mechanisms, and how to implement fanout and event-driven architectures. Practice writing code that sends, receives, and processes messages from these services.
-
Study data stores and caching strategies - Focus heavily on DynamoDB (partition keys, sort keys, GSIs, LSIs, query vs scan, consistency models), then expand to ElastiCache, RDS, and specialized stores like OpenSearch. Understand data serialization, caching patterns, and how to choose the right data store based on access patterns. Complete with practice exams focused on Domain 1 to identify knowledge gaps.
Task 1: Develop code for applications hosted on AWS
Skills & Corresponding Documentation
Skill 1.1.1: Describe architectural patterns (for example, event-driven, microservices, monolithic, choreography, orchestration, fanout)
Why: The exam tests your ability to identify and implement appropriate architectural patterns for different scenarios. Questions present requirements like scalability needs, component independence, or event processing workflows and expect you to recommend the right pattern. Understanding when to use event-driven architecture vs request-response patterns, microservices vs monolithic designs, and choreography vs orchestration is fundamental for designing AWS applications and appears across multiple exam questions.
AWS Documentation:
- Microservices on AWS
- What are Microservices?
- Event-Driven Architecture on AWS
- AWS Well-Architected Framework - Serverless Applications Lens
- Implementing Microservices on AWS
- Choreography vs Orchestration
- Amazon EventBridge - Event-Driven Applications
- AWS Step Functions - Orchestration
- Fanout Pattern with SNS
Skill 1.1.2: Describe differences between stateful and stateless concepts
Why: Stateful vs stateless application design is tested through scenarios about scalability, session management, and fault tolerance. You must understand that stateless applications can scale horizontally more easily, how to externalize state to services like DynamoDB or ElastiCache, and when stateful designs are appropriate. Exam questions often describe scaling requirements or ask how to maintain user sessions across multiple instances, requiring knowledge of state management strategies.
AWS Documentation:
- Building Stateless Applications
- Stateless vs Stateful Applications
- Session State Management
- Amazon ElastiCache for Session Management
- Amazon DynamoDB for Session State
- Elastic Load Balancing - Sticky Sessions
Skill 1.1.3: Describe differences between tightly coupled and loosely coupled components
Why: Exam questions frequently test your understanding of coupling in distributed systems. You need to know that tightly coupled components have direct dependencies and synchronous communication, while loosely coupled components communicate asynchronously through intermediaries like queues or event buses. Questions present architectural scenarios and ask you to identify coupling levels or recommend services (SQS, SNS, EventBridge) to reduce coupling and improve system resilience.
AWS Documentation:
- Loosely Coupled Architectures
- Building Loosely Coupled, Scalable Systems
- Decoupling Applications with Amazon SQS
- Microservices - Loose Coupling
- Amazon SNS for Application Decoupling
Skill 1.1.4: Describe differences between synchronous and asynchronous patterns
Why: Understanding synchronous vs asynchronous communication patterns is essential for designing responsive, scalable applications. The exam tests scenarios where you must choose between blocking requests (synchronous) and fire-and-forget patterns (asynchronous), understand the implications for user experience and system scalability, and select appropriate AWS services (API Gateway with Lambda vs SQS with Lambda). This knowledge helps answer questions about system responsiveness and handling variable workload patterns.
AWS Documentation:
- Asynchronous Messaging Patterns
- AWS Lambda Synchronous vs Asynchronous Invocation
- Asynchronous Invocation
- Synchronous Request-Response Pattern
- Amazon SQS for Asynchronous Processing
- Event-Driven vs Request-Response
Skill 1.1.5: Create fault-tolerant and resilient applications in a programming language (for example, Java, C#, Python, JavaScript, TypeScript, Go)
Why: Exam questions test your ability to implement resilience patterns in code. You must understand how to implement retry logic with exponential backoff, circuit breakers to prevent cascading failures, graceful degradation when dependencies fail, and timeout handling. Questions present failure scenarios and expect you to identify the correct resilience pattern or recognize code that implements fault tolerance correctly.
AWS Documentation:
- Implementing Health Checks and Graceful Degradation
- AWS SDK Retry Behavior and Error Handling
- Resilience and Reliability on AWS
- AWS SDK for Python (Boto3) - Error Handling
- AWS SDK for JavaScript - Error Handling
- AWS SDK for Java - Exception Handling
- Circuit Breaker Pattern
- Timeouts, Retries, and Backoff with Jitter
Skill 1.1.6: Create, extend, and maintain APIs (for example, response/request transformations, enforcing validation rules, overriding status codes)
Why: API development is heavily tested because API Gateway is a core service for serverless and microservices architectures. You need to understand request/response transformations using mapping templates, input validation with request validators and models, custom authorization, CORS configuration, and how to override status codes. Exam questions present API requirements and expect you to configure API Gateway features or write transformation code correctly.
AWS Documentation:
- Amazon API Gateway Developer Guide
- Working with REST APIs
- Request and Response Data Mappings
- API Gateway Mapping Templates
- Request Validation in API Gateway
- API Gateway Request Validators
- Setting up Response Status Codes
- Enabling CORS for REST APIs
- API Gateway REST API Models
Skill 1.1.7: Write and run unit tests in development environments (for example, using AWS SAM)
Why: Testing is a fundamental development practice that appears throughout the exam. You must understand how to use AWS SAM CLI for local Lambda testing, write unit tests that mock AWS service calls, use frameworks like pytest or Jest for testing, and validate code before deployment. Exam questions test your knowledge of testing strategies, local development tools, and how to validate serverless applications in development environments.
AWS Documentation:
- AWS Serverless Application Model (SAM)
- Testing Lambda Functions Locally with AWS SAM CLI
- AWS SAM CLI - Local Testing
- Unit Testing Best Practices for AWS Lambda
- Testing Lambda Functions
- AWS SAM CLI Installation
- Mocking AWS Services for Testing
Skill 1.1.8: Write code to use messaging services
Why: Messaging services are core to decoupled architectures, and the exam extensively tests your ability to write code for SQS, SNS, and EventBridge. You need to understand how to send messages to queues, publish to topics, receive and delete messages, handle message attributes, implement long polling, and process batches. Questions present messaging scenarios and expect you to write or identify correct SDK code for message handling.
AWS Documentation:
- Amazon SQS Developer Guide
- Sending Messages to Amazon SQS
- Receiving and Deleting Messages from Amazon SQS
- Amazon SQS Long Polling
- Amazon SNS Developer Guide
- Publishing to Amazon SNS Topics
- Amazon SNS Message Attributes
- Using Amazon SQS with AWS SDKs
- SQS Message Visibility Timeout
- SQS Dead-Letter Queues
Skill 1.1.9: Write code that interacts with AWS services by using APIs and AWS SDKs
Why: This is one of the most fundamental skills tested throughout the exam. You must know how to use AWS SDKs in your programming language to call AWS services, handle authentication with IAM roles and credentials, implement pagination for large result sets, handle API throttling and rate limits, and properly process SDK responses and errors. Nearly every exam question involving code implementation requires understanding of SDK usage patterns.
AWS Documentation:
- AWS SDKs and Tools
- AWS SDK for Python (Boto3) Documentation
- AWS SDK for JavaScript v3 Developer Guide
- AWS SDK for Java Developer Guide
- AWS SDK for .NET Developer Guide
- AWS SDK for Go Developer Guide
- Credentials and Authentication
- Using IAM Roles for EC2 Instances
- Pagination with AWS SDKs
- Handling Errors with AWS SDKs
- Best Practices for AWS SDK Usage
Skill 1.1.10: Handle streaming data using AWS services
Why: Streaming data processing is tested through scenarios involving real-time analytics, log processing, and event streams. You need to understand Kinesis Data Streams for ingesting and processing streaming data, Kinesis Data Firehose for delivery to data stores, and how to write code that produces and consumes streaming data. Exam questions present real-time processing requirements and expect you to select appropriate streaming services and implement correct processing patterns.
AWS Documentation:
- Amazon Kinesis Data Streams Developer Guide
- Writing Data to Amazon Kinesis Data Streams
- Reading Data from Amazon Kinesis Data Streams
- Amazon Kinesis Data Firehose Developer Guide
- Processing Streaming Data with AWS Lambda
- Kinesis Client Library (KCL)
- Kinesis Data Streams - Partition Keys
- Amazon Kinesis Data Analytics
Skill 1.1.11: Use Amazon Q Developer to assist with development
Why: Amazon Q Developer is a newer service that represents AWS’s AI-powered development assistance. Exam questions test your understanding of how Q Developer can help with code generation, debugging, security scanning, and AWS best practices recommendations. You should know when to leverage Q Developer for development tasks, what capabilities it provides, and how it integrates into development workflows.
AWS Documentation:
- Amazon Q Developer
- Amazon Q Developer User Guide
- Getting Started with Amazon Q Developer
- Amazon Q Developer Features
- Amazon Q Developer IDE Integration
- Amazon Q Developer Code Recommendations
Skill 1.1.12: Use Amazon EventBridge to implement event-driven patterns
Why: EventBridge is heavily tested as the central service for event-driven architectures. You must understand how to create event buses, define event rules and patterns, route events to targets, use event schemas for validation, and implement cross-account event routing. Exam questions present event-driven scenarios and expect you to configure EventBridge rules, write event patterns that match specific events, and select appropriate targets for event processing.
AWS Documentation:
- Amazon EventBridge User Guide
- Getting Started with Amazon EventBridge
- EventBridge Event Patterns
- Creating EventBridge Rules
- EventBridge Targets
- EventBridge Event Buses
- EventBridge Schema Registry
- Sending Events to EventBridge
- Cross-Account Event Delivery
Skill 1.1.13: Implement resilient application code for third-party service integrations (for example, retry logic, circuit breakers, error handling patterns)
Why: Integration with third-party services requires robust error handling because external dependencies can fail unpredictably. Exam questions test your ability to implement retry logic with exponential backoff and jitter, circuit breaker patterns to prevent cascading failures, timeout handling, and graceful degradation. You must understand when each pattern is appropriate and how to code them correctly to ensure application resilience.
AWS Documentation:
- Error Retries and Exponential Backoff
- Timeouts, Retries, and Backoff with Jitter
- Implementing Circuit Breakers
- Resilient Systems Design
- AWS SDK Retry Configuration
- Avoiding Overload in Distributed Systems
- Graceful Degradation Patterns
AWS Service FAQs:
- Amazon API Gateway FAQ
- AWS Lambda FAQ
- Amazon SQS FAQ
- Amazon SNS FAQ
- Amazon EventBridge FAQ
- Amazon Kinesis Data Streams FAQ
- Amazon Kinesis Data Firehose FAQ
- AWS Step Functions FAQ
- AWS SAM FAQ
- Amazon Q Developer FAQ
AWS Whitepapers:
- Microservices on AWS
- Serverless Application Lens - AWS Well-Architected Framework
- Implementing Microservices on AWS
- AWS Serverless Multi-Tier Architectures
- Running Containerized Microservices on AWS
Task 2: Develop code for AWS Lambda
Skills & Corresponding Documentation
Skill 1.2.1: Describe the access of private resources in VPCs from Lambda code
Why: VPC integration for Lambda functions is frequently tested because many applications need to access private resources like RDS databases or ElastiCache clusters. You must understand how Lambda functions connect to VPCs, the impact on cold start times, how to configure security groups and subnets for Lambda, and that VPC-connected Lambda functions need NAT gateways to access the internet. Exam questions present scenarios involving private resource access and expect you to configure VPC settings correctly.
AWS Documentation:
- Configuring Lambda Functions to Access Resources in a VPC
- Lambda VPC Networking
- Accessing Internet from VPC Lambda Functions
- Lambda Security Groups and Network ACLs
- Best Practices for Lambda VPC Access
- VPC Endpoints for Lambda
Skill 1.2.2: Configure Lambda functions by defining environment variables and parameters (for example, memory, concurrency, timeout, runtime, handler, layers, extensions, triggers, destinations)
Why: Lambda configuration is one of the most heavily tested topics because it directly impacts function behavior, performance, and cost. You must understand how to set memory (which also affects CPU), configure timeout values, use environment variables for configuration, set concurrency limits, choose the appropriate runtime, specify the handler correctly, use layers for shared code, configure extensions for monitoring, define triggers for invocation, and set up destinations for async success/failure routing. Exam questions frequently present scenarios requiring specific configuration changes.
AWS Documentation:
- Configuring AWS Lambda Functions
- Lambda Environment Variables
- Lambda Function Configuration
- Managing Lambda Function Memory
- Lambda Concurrency
- Lambda Function Timeout
- Lambda Runtimes
- Lambda Function Handler
- AWS Lambda Layers
- Using Lambda Extensions
- Lambda Event Source Mappings
- Lambda Destinations
- Reserved Concurrency vs Provisioned Concurrency
Skill 1.2.3: Handle the event lifecycle and errors by using code (for example, Lambda Destinations, dead-letter queues)
Why: Error handling in Lambda is critical for building reliable serverless applications. Exam questions test your understanding of how to configure Lambda Destinations for routing successful and failed async invocations, use dead-letter queues for failed synchronous invocations, implement retry behavior, and handle partial batch failures with SQS and Kinesis. You must know the difference between destinations and DLQs, when each is appropriate, and how to configure them correctly.
AWS Documentation:
- Lambda Error Handling and Automatic Retries
- Asynchronous Invocation Configuration
- Lambda Destinations for Asynchronous Invocation
- Lambda Dead-Letter Queues
- Error Handling for Stream-Based Event Sources
- Handling Lambda Function Errors
- Reporting Batch Item Failures for SQS
- Lambda Retry Behavior
Skill 1.2.4: Write and run test code by using AWS services and tools
Why: Testing Lambda functions is essential for ensuring code quality before deployment. You must understand how to use AWS SAM CLI for local testing, create test events in the Lambda console, use CloudWatch Logs to debug, and write unit tests that mock AWS service calls. Exam questions test your knowledge of testing strategies, local development workflows, and how to validate Lambda functions in development environments before production deployment.
AWS Documentation:
- Testing Lambda Functions
- Invoking Lambda Functions Locally with AWS SAM
- Testing Serverless Applications Locally
- AWS SAM CLI Test Commands
- Creating Test Events in Lambda Console
- Unit Testing AWS Lambda with Python
- Using CloudWatch Logs for Lambda Debugging
Skill 1.2.5: Integrate Lambda functions with AWS services
Why: Lambda integration with other AWS services is extensively tested because serverless architectures depend on service orchestration. You need to know how to configure Lambda triggers from various sources (API Gateway, S3, DynamoDB Streams, EventBridge, SQS, SNS, Kinesis), understand how event source mappings work, configure IAM permissions for cross-service access, and handle service-specific event formats. Exam questions present integration scenarios and expect you to configure triggers and permissions correctly.
AWS Documentation:
- Using AWS Lambda with Other Services
- Lambda with Amazon S3
- Lambda with Amazon DynamoDB
- Lambda with Amazon SQS
- Lambda with Amazon SNS
- Lambda with Amazon Kinesis
- Lambda with API Gateway
- Lambda with EventBridge
- Lambda Event Source Mappings
- Lambda Execution Role
- Lambda Resource-Based Policies
Skill 1.2.6: Tune Lambda functions for optimal performance
Why: Performance optimization is tested through scenarios requiring you to minimize cold starts, optimize memory allocation for cost and speed, use provisioned concurrency for consistent performance, implement caching strategies, minimize deployment package size, and reduce execution time. You must understand the relationship between memory and CPU allocation, connection reuse best practices, and how to profile Lambda functions. Exam questions present performance requirements and expect you to identify appropriate optimization techniques.
AWS Documentation:
- Lambda Performance Optimization
- Lambda Cold Starts
- Optimizing Lambda Function Performance
- Lambda Provisioned Concurrency
- Lambda Power Tuning
- Best Practices for Working with Lambda
- Lambda Function Scaling
- Reducing Lambda Deployment Package Size
- Lambda /tmp Storage
- Connection Management in Lambda
Skill 1.2.7: Use Lambda functions to process and transform data in near real time
Why: Real-time data processing with Lambda is tested through scenarios involving streaming data from Kinesis, processing S3 events as files are uploaded, transforming DynamoDB Streams records, and implementing ETL pipelines. You must understand batch processing for streams, checkpointing mechanisms, how to handle processing failures, and patterns for data transformation. Exam questions present real-time processing requirements and expect you to configure Lambda for stream processing correctly.
AWS Documentation:
- Lambda with Kinesis Data Streams
- Processing DynamoDB Streams with Lambda
- Lambda Event Filtering
- Batch Processing with Lambda
- Kinesis and Lambda Parallelization
- Real-Time Stream Processing
- Lambda Tumbling Window for Aggregations
- Monitoring Stream-Based Event Sources
AWS Service FAQs:
AWS Whitepapers:
- Serverless Application Lens - AWS Well-Architected Framework
- AWS Lambda Operator Guide
- Best Practices for Developing on AWS Lambda
Task 3: Use data stores in application development
Skills & Corresponding Documentation
Skill 1.3.1: Describe high-cardinality partition keys for balanced partition access
Why: Partition key design is critical for DynamoDB performance and is heavily tested. You must understand that high-cardinality partition keys distribute data evenly across partitions, prevent hot partitions, and enable horizontal scaling. Low-cardinality keys (like status or region) create uneven distribution and performance bottlenecks. Exam questions present table design scenarios and expect you to identify appropriate partition keys that ensure balanced data distribution and optimal throughput.
AWS Documentation:
- DynamoDB Partition Keys
- Choosing the Right DynamoDB Partition Key
- DynamoDB Best Practices for Partition Keys
- Understanding DynamoDB Adaptive Capacity
- Avoiding Hot Partitions in DynamoDB
- DynamoDB Partitions and Data Distribution
Skill 1.3.2: Describe database consistency models (for example, strongly consistent, eventually consistent)
Why: Consistency models affect data accuracy and read performance, and exam questions test your understanding of when to use each model. You must know that DynamoDB offers eventually consistent reads (default, faster, cheaper) and strongly consistent reads (guaranteed latest data, higher latency, more expensive). You should understand read-after-write consistency, how replication affects consistency, and trade-offs between consistency and performance. Questions present data accuracy requirements and expect you to choose the appropriate consistency level.
AWS Documentation:
- DynamoDB Data Consistency
- Read Consistency in DynamoDB
- Eventually Consistent Reads
- Strongly Consistent Reads
- DynamoDB Transactions
- RDS Read Replicas and Consistency
Skill 1.3.3: Describe differences between query and scan operations
Why: Understanding query vs scan is fundamental for DynamoDB performance and cost optimization. You must know that queries retrieve items using partition key and optional sort key (efficient, fast, predictable cost), while scans examine every item in the table (expensive, slow, unpredictable). Exam questions present data retrieval scenarios and expect you to identify when queries are possible versus when scans are necessary, understand filter expressions, and recognize performance implications of each operation.
AWS Documentation:
- DynamoDB Query Operation
- DynamoDB Scan Operation
- Query vs Scan Performance
- DynamoDB Filter Expressions
- Best Practices for Querying and Scanning
- Parallel Scans in DynamoDB
- DynamoDB Pagination
Skill 1.3.4: Define Amazon DynamoDB keys and indexing
Why: DynamoDB key structures and indexes are extensively tested because they determine data access patterns and query capabilities. You must understand partition keys and sort keys (composite primary keys), Global Secondary Indexes for alternative access patterns, Local Secondary Indexes for additional sort keys, projection types (ALL, KEYS_ONLY, INCLUDE), and index throughput considerations. Exam questions present access pattern requirements and expect you to design appropriate key structures and indexes.
AWS Documentation:
- DynamoDB Core Components
- DynamoDB Primary Keys
- DynamoDB Secondary Indexes
- Global Secondary Indexes
- Local Secondary Indexes
- Designing Partition Keys
- Index Projections
- Sparse Indexes in DynamoDB
- Best Practices for Secondary Indexes
Skill 1.3.5: Serialize and deserialize data to provide persistence to a data store
Why: Serialization is tested because applications must convert between programming language objects and storage formats. You need to understand JSON serialization for API communication, how DynamoDB stores different data types, converting objects to/from database records, handling complex data structures, and using SDK type converters. Exam questions may present code that serializes/deserializes data and expect you to identify correct implementations or troubleshoot serialization errors.
AWS Documentation:
- DynamoDB Data Types
- DynamoDB Data Type Descriptors
- Working with Items in DynamoDB
- DynamoDB Document Client (JavaScript)
- Boto3 DynamoDB Type Conversion
- JSON in DynamoDB
- S3 Object Serialization
Skill 1.3.6: Use, manage, and maintain data stores
Why: Data store management is tested through operational scenarios involving backup, restore, monitoring, capacity planning, and maintenance tasks. You must understand DynamoDB on-demand vs provisioned capacity, auto-scaling, point-in-time recovery, global tables for multi-region replication, RDS maintenance windows, automated backups, and read replicas. Exam questions present operational requirements and expect you to configure appropriate management settings.
AWS Documentation:
- Managing DynamoDB Tables
- DynamoDB Capacity Modes
- DynamoDB Auto Scaling
- DynamoDB Backup and Restore
- DynamoDB Point-in-Time Recovery
- DynamoDB Global Tables
- Amazon RDS Maintenance
- RDS Automated Backups
- RDS Read Replicas
- Amazon S3 Versioning
- S3 Lifecycle Policies
Skill 1.3.7: Manage data lifecycles
Why: Data lifecycle management is tested through scenarios involving data retention, archival, and deletion policies. You must understand S3 lifecycle policies to transition objects between storage classes, DynamoDB TTL for automatic item expiration, RDS snapshot retention, and automated cleanup strategies. Exam questions present data retention requirements and expect you to configure lifecycle policies that balance cost and compliance needs.
AWS Documentation:
- Amazon S3 Lifecycle Management
- S3 Lifecycle Configuration
- S3 Lifecycle Transitions
- DynamoDB Time to Live (TTL)
- Enabling TTL on DynamoDB
- RDS Snapshot Retention
- S3 Expiration Actions
- S3 Intelligent-Tiering
Skill 1.3.8: Use data caching services
Why: Caching is extensively tested because it’s a fundamental performance optimization technique. You must understand ElastiCache for Redis and Memcached, DynamoDB Accelerator (DAX) for single-digit millisecond DynamoDB reads, cache invalidation strategies, cache-aside vs write-through patterns, and when caching provides the most benefit. Exam questions present performance requirements and expect you to select appropriate caching solutions and implement caching patterns correctly.
AWS Documentation:
- Amazon ElastiCache
- ElastiCache for Redis
- ElastiCache for Memcached
- Caching Strategies
- DynamoDB Accelerator (DAX)
- DAX vs ElastiCache
- Cache-Aside Pattern
- Write-Through Caching
- CloudFront Caching
- API Gateway Caching
Skill 1.3.9: Use specialized data stores based on access patterns (for example, Amazon OpenSearch Service)
Why: Choosing the right database for specific access patterns is tested through scenarios that require specialized query capabilities. You must understand when to use OpenSearch for full-text search and analytics, DocumentDB for MongoDB-compatible document storage, Neptune for graph databases, Timestream for time-series data, and QLDB for immutable ledger requirements. Exam questions describe access patterns and data characteristics, expecting you to identify the most appropriate specialized data store.
AWS Documentation:
- Amazon OpenSearch Service
- OpenSearch Service Use Cases
- Getting Started with Amazon OpenSearch Service
- Amazon DocumentDB
- Amazon Neptune (Graph Database)
- Amazon Timestream
- Amazon QLDB (Ledger Database)
- Choosing the Right Database
- AWS Database Services Overview
- Purpose-Built Databases
AWS Service FAQs:
- Amazon DynamoDB FAQ
- Amazon RDS FAQ
- Amazon S3 FAQ
- Amazon ElastiCache FAQ
- DynamoDB Accelerator (DAX) FAQ
- Amazon OpenSearch Service FAQ
- Amazon DocumentDB FAQ
- Amazon Neptune FAQ
- Amazon Aurora FAQ
AWS Whitepapers:
- Best Practices for DynamoDB
- Database Caching Strategies Using Redis
- AWS Database Services Overview
- Reliability Pillar - AWS Well-Architected Framework
Final Thoughts
Domain 1: Development with AWS Services is the foundation of the AWS Developer Associate certification and represents the largest portion of the exam. Success requires hands-on coding experience with AWS services—reading documentation alone is insufficient. Set up a development environment with AWS SAM CLI, practice writing Lambda functions in your preferred language, experiment with DynamoDB table designs, and build event-driven applications using SQS, SNS, and EventBridge. Focus heavily on understanding architectural patterns, Lambda configuration and optimization, DynamoDB access patterns and indexing, and SDK usage for programmatic AWS interaction. The skills you build here are directly applicable to real-world serverless development and will serve as the technical foundation for the remaining exam domains.