AWS Certified Solutions Architect – Professional — Question 379
A company has application services that have been containerized and deployed on multiple Amazon EC2 instances with public IPs. An Apache Kafka cluster has been deployed to the EC2 instances. A PostgreSQL database has been migrated to Amazon RDS for PostgreSQL. The company expects a significant increase of orders on its platform when a new version of its flagship product is released.
What changes to the current architecture will reduce operational overhead and support the product release?
Answer options
- A. Create an EC2 Auto Scaling group behind an Application Load Balancer. Create additional read replicas for the DB instance. Create Amazon Kinesis data streams and configure the application services to use the data streams. Store and serve static content directly from Amazon S3.
- B. Create an EC2 Auto Scaling group behind an Application Load Balancer. Deploy the DB instance in Multi-AZ mode and enable storage auto scaling. Create Amazon Kinesis data streams and configure the application services to use the data streams. Store and serve static content directly from Amazon S3.
- C. Deploy the application on a Kubernetes cluster created on the EC2 instances behind an Application Load Balancer. Deploy the DB instance in Multi-AZ mode and enable storage auto scaling. Create an Amazon Managed Streaming for Apache Kafka cluster and configure the application services to use the cluster. Store static content in Amazon S3 behind an Amazon CloudFront distribution.
- D. Deploy the application on Amazon Elastic Kubernetes Service (Amazon EKS) with AWS Fargate and enable auto scaling behind an Application Load Balancer. Create additional read replicas for the DB instance. Create an Amazon Managed Streaming for Apache Kafka cluster and configure the application services to use the cluster. Store static content in Amazon S3 behind an Amazon CloudFront distribution.
Correct answer: D
Explanation
Option D is correct because migrating containerized workloads to Amazon EKS with AWS Fargate eliminates the operational overhead of managing underlying EC2 server infrastructure. Furthermore, transitioning the Kafka workload to Amazon Managed Streaming for Apache Kafka (Amazon MSK) removes the administrative burden of managing Kafka clusters, while adding RDS read replicas and using Amazon CloudFront with Amazon S3 efficiently handles the increased read traffic and static content delivery. Other options either require managing self-hosted Kubernetes on EC2 or changing application code to use Amazon Kinesis instead of Kafka, which increases operational overhead.