An enterprise is migrating a containerized microservices application to AWS. The architecture consists of a steady-state backend API running on Amazon Elastic Container Service (Amazon ECS) on AWS Fargate, a relational database running on Amazon RDS for PostgreSQL, and a data warehouse hosted on Amazon Redshift. The compute requirements are as follows:
- The ECS backend API requires a constant baseline of and of memory running 24/7.
- A nightly batch analytics job runs on ECS Fargate for 3 hours, requiring an additional and of memory. The batch job is fault-tolerant and can resume if interrupted.
- The RDS database requires a constant baseline of and of memory running 24/7.
- The Amazon Redshift cluster runs continuously to serve near-real-time business intelligence dashboards.
The enterprise wants to minimize costs over a 3-year period by committing to a purchasing strategy, while minimizing operational overhead.
Which purchasing strategy will achieve the lowest cost for these requirements?
- Commit to a 3-year Compute Savings Plan for the baseline ECS Fargate compute. Purchase 3-year Reserved Instances for both the RDS PostgreSQL database and the Amazon Redshift cluster. Run the nightly batch jobs using Fargate Spot.Answer
- BCommit to a 3-year Compute Savings Plan with a commitment level sized to cover the baseline ECS Fargate compute, the RDS PostgreSQL database, and the Amazon Redshift cluster. Run the nightly batch jobs using Fargate Spot.
- CCommit to a 3-year Compute Savings Plan to cover the baseline ECS Fargate compute. Purchase a 3-year Reserved Instance for the RDS PostgreSQL database. Commit to a 3-year EC2 Instance Savings Plan for the Amazon Redshift cluster, and run the nightly batch jobs using Fargate Spot.
- DCommit to a 3-year Compute Savings Plan sized to cover the baseline ECS Fargate compute, the RDS PostgreSQL database, and the nightly batch jobs. Purchase a 3-year Reserved Node for the Amazon Redshift cluster.