Domain 1: Deployment
1.1 Deploy written code in AWS using existing CI/CD pipelines, processes, and patterns
1.2 Deploy applications using Elastic Beanstalk
Deployment Strategies
| Method | Impact of Failed Deployment | Deploy Time | Zero Downtime | No DNS Change | Rollback Process | Code Deployed To |
|---|---|---|---|---|---|---|
| All-at-once | Downtime | ⌚ | ✅ | Redeploy | Existing instances | |
| In-place | Downtime | ⌚ | ✅ | ✅ | Redeploy | Existing instances |
| Rolling | Single batch out of service; any successful batches before failure running new application version | ⌚⌚ | ✅ | ✅ | Redeploy | Existing instances |
| Rolling with additional batch | Minimal if first batch fails; otherwise, similar to Rolling | ⌚⌚⌚ | ✅ | ✅ | Redeploy | New & Existing instances |
| Blue/Green | Minimal | ⌚⌚⌚⌚ | ✅ | Swap URL | New instances | |
| Immutable | Minimal | ⌚⌚⌚⌚ | ✅ | ✅ | Redeploy | New instances |
1.3 Prepare the application deployment package to be deployed to AWS
1.4 Deploy serverless applications
Domain 2: Security
2.1 Make authenticated calls to AWS services
2.2 Implement encryption using AWS services
2.3 Implement application authentication and authorization
Domain 3: Development with AWS Services
3.1 Write code for serverless applications
3.2 Translate functional requirements into application design
3.3 Implement application design into application code
Amazon S3 Storage Classes
| Standard | Standard-IA | One Zone-IA | Amazon S3 Glacier | |
|---|---|---|---|---|
| Designed for durability | 99.999999999% | |||
| Designed for availability | 99.99% | 99.9% | 99.5% | N/A |
| Availability SLAs | 99.9% | 99% | N/A | |
| Availability zones | >=3 | 1 | >=3 | |
| Minimum capacity charge per object | N/A | 128 KB | N/A | |
| Minimum storage duration charge | N/A | 30 days | 90 days | |
| Retrieval fee | N/A | Per GB retrieved | ||
| First byte latency | milliseconds | Minutes or hours | ||
| Storage type | Object | |||
| Lifecycle transitions | Yes |
Storage Service Comparison (EFS, S3, and EBS)
| Amazon EFS (File) | Amazon S3 (Object) | Amazon EBS (Block) | ||
|---|---|---|---|---|
| Performance | Per-operation latency | Low, consistent | Low, for mixed request types, and integration with CloudFront | Low, consistent |
| Throughput scale | Multiple GB per second | Single GB per second | ||
| Characteristics | Data Availability / Durability | Stored redundantly across multiple AZ | Stored redundantly across multiple AZ | Stored redundantly in a single AZ |
| Access | One to thousands of Amazon EC2 instances or on-premises servers, from multiple AZ, concurrently | One to millions of connections over the web | Single Amazon EC2 instance in a single AZ | |
| Use Cases | Web serving and content management, enterprise applications, media and entertainment, home directories, database backups, developer tools, container storage, Big Data analytics | Web serving and content management, media and entertainment, backups, Big Data analytics, data lake | Boot volumes, transactional and NoSQL databases, data warehousing, ETL |
DynamoDB
- Comparison of Global and Local Secondary Indexes
| Characteristic | Global Secondary Index | Local Secondary Index |
|---|---|---|
| Query Scope | Entire table, across all partitions | Single partitiion, as specified by the partition key value in the query |
| Key Attributes | Partition key, or partition and sort key | Partition and sort key |
| Can be any scalar attribute in the table | Partition key of index must be the same attribute as base table | |
| Projected Attributes | Only projected attributes can be queried | Can query attributes that are not projected. Attributes are retrieved from the base table |
| Read Consistency | Eventual consistency only | Eventual consistency or strong consistency |
| Provisioned Throughput | Separate throughput settings from base table | Same throughput settings as base table |
| Consumes separate capacity units | Consumes base table capacity units | |
| Lifecycle Considerations | Can be created or deleted at any time | Must be created when the table is created |
| Can be deleted only when the table is deleted |