AWS Certified DevOps Engineer – Professional (DOP-C02) — Question 268
A company is running a custom-built application that processes records. All the components run on Amazon EC2 instances that run in an Auto Scaling group. Each record's processing is a multistep sequential action that is compute-intensive. Each step is always completed in 5 minutes or less.
A limitation of the current system is that if any steps fail, the application has to reprocess the record from the beginning. The company wants to update the architecture so that the application must reprocess only the failed steps.
What is the MOST operationally efficient solution that meets these requirements?
Answer options
- A. Create a web application to write records to Amazon S3. Use S3 Event Notifications to publish to an Amazon Simple Notification Service (Amazon SNS) topic. Use an EC2 instance to poll Amazon SNS and start processing. Save intermediate results to Amazon S3 to pass on to the next step.
- B. Perform the processing steps by using logic in the application. Convert the application code to run in a container. Use AWS Fargate to manage the container instances. Configure the container to invoke itself to pass the state from one step to the next.
- C. Create a web application to pass records to an Amazon Kinesis data stream. Decouple the processing by using the Kinesis data stream and AWS Lambda functions.
- D. Create a web application to pass records to AWS Step Functions. Decouple the processing into Step Functions tasks and AWS Lambda functions.
Correct answer: D
Explanation
AWS Step Functions is the ideal service for orchestrating multi-step workflows, natively supporting state transitions, error handling, and retries for individual failed steps. Because each step executes in 5 minutes or less, AWS Lambda functions can easily handle the compute requirements within their 15-minute timeout limit. This serverless combination eliminates the operational overhead of managing EC2 instances or container orchestration while precisely solving the partial reprocessing requirement.