Question #1003
A logistics company wants to improve its application architecture. The company's applications manage shipment tracking, handle inventory updates, and generate logistics reports. The applications store logistics data in a PostgreSQL database and a Snowflake data warehouse. All the applications and databases are hosted on Amazon EC2 instances.
Each application consists of several components that handle different parts of the logistics process. These components use incoming data from different sources. A separate ETL job runs every week and copies data from each application to the data warehouse.
A solutions architect must redesign the architecture into an event-driven solution that uses serverless services. The solution must provide updated analytics in near real time.
Which solution will meet these requirements?
Migrate the individual applications as microservices to Amazon Elastic Container Service (Amazon ECS) containers that use AWS Fargate. Keep the logistics PostgreSQL database on Amazon EC2. Move the data warehouse to Amazon Neptune. Use Amazon Simple Queue Service (Amazon SQS) to send all the incoming data to the microservices and the data warehouse.
Create an Auto Scaling group for each application. Specify the necessary number of EC2 instances in each Auto Scaling group. Migrate the logistics PostgreSQL database and the data warehouse to Amazon Aurora PostgreSQL. Use Amazon Simple Notification Service (Amazon SNS) to send all the incoming data to the correct EC2 instances and the data warehouse.
Migrate the individual applications as microservices to Amazon Elastic Kubernetes Service (Amazon EKS) containers that use AWS Fargate. Migrate the logistics PostgreSQL database to Amazon Aurora Serverless PostgreSQL. Migrate the data warehouse to Amazon Redshift Serverless. Use Amazon EventBridge to send all the incoming data to the microservices and the data warehouse.
Migrate the individual applications as microservices to Amazon AppStream 2.0. Migrate the logistics PostgreSQL database to Amazon Aurora PostgreSQL. Migrate the data warehouse to Amazon Redshift Serverless. Use AWS IoT Core to send all the incoming data to the microservices and the data warehouse.
Explanation
Option C meets all requirements by:
1. Migrating applications to serverless containers (Amazon EKS with Fargate).
2. Using Aurora Serverless PostgreSQL (serverless RDBMS) and Redshift Serverless (serverless data warehouse).
3. Implementing event-driven communication via Amazon EventBridge for real-time data flow.
Other options fail because:
- A: Uses EC2 for PostgreSQL (not serverless) and Neptune (unsuitable for analytics).
- B: Relies on EC2 instances (not serverless) and lacks real-time ETL.
- D: Uses AppStream 2.0 (designed for app streaming) and IoT Core (irrelevant to logistics data).
Key Points:
- Serverless services reduce operational overhead.
- EventBridge enables event-driven, real-time data processing.
- Redshift Serverless replaces Snowflake for analytics.
- Aurora Serverless scales automatically with demand.
Answer
The correct answer is: C