Task 1: Develop code for applications hosted on AWS.
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 AWS Serverless Application Model [AWS SAM])
• Writing code to use messaging services
• Writing code that interacts with AWS services by using APIs and AWS SDKs
• Handling data streaming by using AWS services
Task 2: Develop code for AWS 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 AWS services and tools
• Integrating Lambda functions with AWS 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)
• Database 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 Storage 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