AWS Certified Solutions Architect - Professional / Question #1014 of 529

Question #1014

A logistics company collects GPS tracking data every minute from its fleet vehicles. The data is sent to Amazon API Gateway, processed by an AWS Lambda function, and stored in an Amazon DynamoDB table. During initial testing, Lambda executions took 2-4 seconds. As the fleet expanded, Lambda functions now take 45-90 seconds to complete, and the duration increases as more data points are added. The system is experiencing numerous ProvisionedThroughputExceededException errors during DynamoDB PUT operations and frequent TooManyRequestsException errors from Lambda.

Which combination of changes will resolve these issues? (Choose two.)

A

Increase the write capacity units for the DynamoDB table.

B

Increase the memory allocation for the Lambda functions.

C

Reduce the frequency of data transmission from the vehicles.

D

Integrate Amazon Kinesis Data Streams to buffer and process data in batches.

E

Use an Amazon SQS FIFO queue to decouple data ingestion and processing, triggering Lambda for each message.

Explanation

The system faces two issues: DynamoDB's ProvisionedThroughputExceededException and Lambda's TooManyRequestsException.

- A (Increase DynamoDB write capacity) directly resolves the DynamoDB throughput issue by scaling write capacity units (WCUs) to handle higher request volumes.
- D (Integrate Kinesis Data Streams) buffers data and processes it in batches, reducing Lambda invocations (mitigating throttling) and consolidating DynamoDB writes (reducing WCU consumption).

Other options:
- B: Increasing Lambda memory may reduce execution time but doesn't address throttling or DynamoDB throughput.
- C: Reducing data frequency is a workaround, not a scalable solution.
- E: SQS FIFO queues require per-message processing, which doesn't reduce Lambda invocations unless batched (not specified here).

Key Points:
1. DynamoDB throughput errors require scaling WCUs.
2. Batching via Kinesis reduces Lambda/DynamoDB request volume.
3. Avoid solutions that don't address root causes (e.g., throttling, throughput).

Answer

The correct answer is: AD