Q96 — AWS SAA-C03 Ch.14

Question 96 of 100 | ← Chapter 14

Q1096. A company has an extract, transform, and load (ETL) job that receives and processes high volumes of messages. The load occasionally spikes during the day. The ETL job uses a customer data service that is hosted on premises.The company wants to enrich the incoming messages by using customer data. However, the customer data service canbecome unstable when managing large numbers of requests. The solution must protect the customer data service frombeing overloaded.Which solution meets these requirements with the LEAST operational overhead?

Correct Answer: B. Create an Amazon API Gateway REST API as a proxy to the customer data service. Enable API Gateway caching on thecustomer identification key. Use the API in the message processor to enrich the messages by using customer data.

Explanation

A OR B.To determine the best solution for protecting a customer data service from being overloaded while enriching incoming messages for an ETL job, let's analyze each option:A. Create an Amazon API Gateway HTTP API as a proxy to the customer data service. Enable API Gateway throttling to decrease the number of requests. Use the API in the message processor to enrich the messages by using customer data.Throttling can help manage the number of requests to the service, but it doesn't address the fundamental issue of the service becoming unstable under load. Throttling simply delays or rejects requests, which might not be suitable for real-time ETL processes.B. Create an Amazon API Gateway REST API as a proxy to the customer data service. Enable API Gateway caching on the customer identification key. Use the API in the message processor to enrich the messages by using customer data.API Gateway caching can significantly reduce the load on the customer data service by caching responses for frequent requests. This solution allows the ETL job to fetch data quickly from the cache when the same customer data is needed multiple times, thus protecting the backend service from being overwhelmed by repeated requests for the same data.C. Copy all customer data to an Amazon DynamoDB table. Enable Amazon API Gateway caching on the customer key. Create an API Gateway REST API as a proxy to perform the lookup in DynamoDB.While DynamoDB is a highly scalable database, copying all customer data to DynamoDB introduces additional complexity and cost, including data synchronization and storage expenses. This option might not be the most cost-effective or least operational overhead solution, especially if the customer data is frequently updated.D. Create an Amazon API Gateway REST API as a proxy to an AWS Lambda function. Configure the Lambda function to call the customer data service. Set a reserved concurrency for the Lambda function.Reserved concurrency for Lambda can help manage the number of concurrent executions, but it doesn't address the instability of the customer data service under load. Lambda functions would still need to call the service, potentially overwhelming it if the service is not designed to handle high concurrency. Given the need to protect the customer data service from being overloaded with the least operational overhead, Option B is the most suitable solution:Option B leverages API Gateway caching to reduce the number of requests to the customer data service. This is effective because it allows frequent requests for the same data to be served from the cache, reducing load on the backend service.API Gateway caching is straightforward to configure and manage, adding minimal operational overhead. Using an API Gateway REST API as a proxy introduces minimal changes to the existing architecture and can be integrated seamlessly with the message processor to enrich incoming messages. Thus, the company should use Option B to meet the requirements with the least operational overhead.