AWS Certified Solutions Architect - Associate / Question #1817 of 1019

Question #1817

A video streaming platform is launching a content distribution network for its partners. The platform shares metadata about newly uploaded videos with partners via an HTTP endpoint. Partners use this metadata to update their content libraries. Each partner has a unique identifier, and the platform must ensure partners receive notifications promptly. Hundreds of new partners join daily, requiring a scalable solution that minimizes setup complexity.

Which architecture will meet these requirements with the LEAST operational overhead?

A

Create an Amazon DynamoDB table to store partner information. Use an AWS Lambda function to query the table and send metadata to each partner individually when new content is uploaded.

B

Create an Amazon Simple Notification Service (Amazon SNS) topic. Subscribe partners to the topic using their HTTP endpoints. Publish metadata to the topic when new content is uploaded.

C

Design an AWS Step Functions workflow with a state for each partner. Trigger the workflow with metadata as input whenever new content is uploaded.

D

Set up an Amazon Kinesis Data Firehose delivery stream. Configure it to transform and route metadata to partners' HTTP endpoints based on stored partner configurations.

Explanation

Answer B is correct because:
- Scalability: Amazon SNS automatically scales to handle thousands of subscribers, crucial for hundreds of daily new partners.
- Prompt Delivery: SNS pushes notifications to all subscribed HTTP endpoints simultaneously, ensuring partners receive metadata immediately.
- Minimal Setup: Subscribing new partners requires only adding their HTTP endpoint to the SNS topic, reducing operational complexity.

Other options:
- A: Lambda querying DynamoDB and sending individually would introduce latency and scaling challenges.
- C: Step Functions per partner creates management overhead and isn't designed for real-time notifications.
- D: Kinesis Firehose is optimized for batch data delivery, not real-time HTTP endpoint routing.

Key Points:
- Use SNS for scalable, real-time pub/sub with HTTP endpoints.
- Avoid Lambda/Step Functions for high-volume, real-time use cases due to scaling limits.
- Managed services (e.g., SNS) reduce operational overhead.

Answer

The correct answer is: B