Content Domain 1: Development with AWS Services
Tasks
Task 1: Develop code for applications hosted on AWS
Skill 1.1.1: Describe architectural patterns (for example, event-driven, microservices, monolithic, choreography, orchestration, fanout)
Skill 1.1.2: Describe differences between stateful and stateless concepts
Skill 1.1.3: Describe differences between tightly coupled and loosely coupled components
Skill 1.1.4: Describe differences between synchronous and asynchronous patterns
Skill 1.1.5: Create fault-tolerant and resilient applications in a programming language (for example, Java, C#, Python, JavaScript, TypeScript, Go)
Skill 1.1.6: Create, extend, and maintain APIs (for example, response/request transformations, enforcing validation rules, overriding status codes)
Skill 1.1.7: Write and run unit tests in development environments (for example, using AWS SAM)
Skill 1.1.8: Write code to use messaging services
Skill 1.1.9: Write code that interacts with AWS services by using APIs and AWS SDKs
Skill 1.1.10: Handle streaming data using AWS services
Skill 1.1.11: Use Amazon Q Developer to assist with development
Skill 1.1.12: Use Amazon EventBridge to implement event-driven patterns
Skill 1.1.13: Implement resilient application code for third-party service integrations (for example, retry logic, circuit breakers, error handling patterns)
Task 2: Develop code for AWS Lambda
Skill 1.2.1: Describe the access of private resources in VPCs from Lambda code
Skill 1.2.2: Configure Lambda functions by defining environment variables and parameters (for example, memory, concurrency, timeout, runtime, handler, layers, extensions, triggers, destinations)
Skill 1.2.3: Handle the event lifecycle and errors by using code (for example, Lambda Destinations, dead-letter queues)
Skill 1.2.4: Write and run test code by using AWS services and tools
Skill 1.2.5: Integrate Lambda functions with AWS services
Skill 1.2.6: Tune Lambda functions for optimal performance
Skill 1.2.7: Use Lambda functions to process and transform data in near real time
Task 3: Use data stores in application development
Skill 1.3.1: Describe high-cardinality partition keys for balanced partition access
Skill 1.3.2: Describe database consistency models (for example, strongly consistent, eventually consistent)
Skill 1.3.3: Describe differences between query and scan operations
Skill 1.3.4: Define Amazon DynamoDB keys and indexing
Skill 1.3.5: Serialize and deserialize data to provide persistence to a data store
Skill 1.3.6: Use, manage, and maintain data stores
Skill 1.3.7: Manage data lifecycles
Skill 1.3.8: Use data caching services
Skill 1.3.9: Use specialized data stores based on access patterns (for example, Amazon OpenSearch Service)