Domain 1: Development with Services (32% of the exam content)
This domain accounts for 32% of the exam content.
Topics
Task 1: Develop code for applications hosted on
Knowledge of:
Architectural patterns (for example, event-driven, microservices, monolithic, choreography, orchestration, fanout)
Idempotency
Differences between stateful and stateless concepts
Differences between tightly coupled and loosely coupled components
Fault-tolerant design patterns (for example, retries with exponential backoff and jitter, dead-letter queues)
Differences between synchronous and asynchronous patterns
Skills in:
Creating fault-tolerant and resilient applications in a programming language (for example, Java, C#, Python, JavaScript, TypeScript, Go)
Creating, extending, and maintaining APIs (for example, response/request transformations, enforcing validation rules, overriding status codes)
Writing and running unit tests in development environments (for example, using Serverlos Application Model [ SAM])
Writing code to use messaging services
Writing code that interacts with services by using APIs and SDKs
Handling data streaming by using services
Task 2: Develop code for Lambda
Knowledge of:
Event source mapping
Stateless applications
Unit testing
Event-driven architecture
Scalability
The access of private resources in VPCs from Lambda code
Skills in:
Configuring Lambda functions by defining environment variables and parameters (for example, memory, concurrency, timeout, runtime, handler, layers, extensions, triggers, destinations)
Handling the event lifecycle and errors by using code (for example, Lambda Destinations, dead-letter queues)
Writing and running test code by using services and tools
Integrating Lambda functions with services
Tuning Lambda functions for optimal performance
Task 3: Use data stores in application development
Knowledge of:
Relational and non-relational databases
Create, read, update, and delete (CRUD) operations
High-cardinality partition keys for balanced partition access
Cloud storage options (for example, file, object, databases)
Datenbank consistency models (for example, strongly consistent, eventually consistent)
Differences between query and scan operations
Amazon DynamoDB keys and indexing
Caching strategies (for example, write-through, read-through, lazy loading, TTL)
Amazon Simple Speicher Service (Amazon S3) tiers and lifecycle management
Differences between ephemeral and persistent data storage patterns
Skills in:
Serializing and deserializing data to provide persistence to a data store
Using, managing, and maintaining data stores
Managing data lifecycles
Using data caching services