Question #1060
A company's application collects data from multiple SaaS platforms using Amazon EC2 instances. The EC2 instances process the data and upload it to an Amazon S3 bucket. Additionally, the instances send a notification via Amazon SNS once the upload is complete. The company is experiencing performance issues and wants to optimize the system with minimal operational overhead.
Which solution meets these requirements MOST effectively?
Implement an Auto Scaling group for the EC2 instances to handle varying loads. Use Amazon CloudWatch alarms to trigger SNS notifications upon upload completion.
Use AWS AppFlow to transfer data directly from the SaaS platforms to S3. Configure S3 event notifications to publish upload completion events to an SNS topic.
Set up an Amazon EventBridge rule to capture data from each SaaS source and route it to S3. Create a second EventBridge rule to detect S3 uploads and trigger SNS notifications.
Migrate the application to AWS Fargate using Amazon ECS. Configure Fargate tasks to process data and upload to S3, with CloudWatch Logs triggering SNS notifications.
Explanation
Answer B is correct because AWS AppFlow is a fully managed service that directly transfers data from SaaS platforms to Amazon S3, removing the need for EC2 instances and their associated operational overhead. S3 event notifications can publish upload events to an SNS topic, automating notifications without additional infrastructure. This approach optimizes performance by leveraging serverless services.
Other options are less optimal:
- A retains EC2 instances, requiring scaling management.
- C uses EventBridge for data routing, which may not handle data transfer/processing.
- D uses Fargate, which still involves container management.
Key points: Use managed services (AppFlow, S3 events) to minimize overhead and improve scalability.
Answer
The correct answer is: B