1. COMPUTE
1.1. Workload
1.1.1. Production
1.1.1.1. Steady-state
1.1.1.1.1. Fault Tolerance Not Required
1.1.1.1.2. Fault Tolerance Required
1.1.1.2. Bursty
1.1.1.2.1. Use AWS Lambda Functions
1.1.2. Non-production
1.1.2.1. Steady-state
1.1.2.1.1. Use AWS EC2 Spot Instances
1.1.2.2. Bursty
1.1.2.2.1. Use AWS Lambda Functions
2. STORAGE
2.1. Database
2.1.1. Steady-state Workload
2.1.1.1. Use Amazon RDS
2.1.2. Bursty Workload
2.1.2.1. Relational DB required
2.1.2.1.1. Use Amazon Aurora
2.1.2.2. Non-relational DB required
2.1.2.2.1. Use Amazon Dynamo DB
2.2. IOPS & Throughput Requirement
2.2.1. I/O Intensive Application
2.2.1.1. Use Amazon EBS IOPS Provisioned SSD
2.2.2. Low Latency Application
2.2.2.1. Use Amazon EBS General Purpose SSD
2.2.3. DWH/Log Processing/Big Data
2.2.3.1. Use Amazon EBS HDD
2.3. Access Frequency
2.3.1. Very Frequent
2.3.1.1. Use Amazon S3 (HOT)
2.3.2. Infrequent
2.3.2.1. Use Amazon S3 (WARM)
2.3.3. Data Archival
2.3.3.1. Use Amazon S3 Glacier
2.4. Object Size
2.4.1. Small Object Size
2.4.1.1. Use Amazon Dynamo DB
2.4.2. Large Object Size
2.4.2.1. Use Amazon S3
3. FLEET OPTIMIZATION
3.1. AWS Monthly Bill
3.1.1. Aggregate Cost by Service
3.1.1.1. Use AWS Cost Explorer
3.1.1.1.1. AWS Cost & Usage Report
3.1.2. Monthly Budgeting & Forecasting
3.1.2.1. Use AWS Budgets
3.1.3. Costs Deep-Dive
3.1.3.1. Use AWS CloudWatch