AWS Certified Solutions Architect – Professional — Question 860
An online retailer needs to regularly process large product catalogs, which are handled in batches. These are sent out to be processed by people using the
Amazon Mechanical Turk service, but the retailer has asked its Solutions Architect to design a workflow orchestration system that allows it to handle multiple concurrent Mechanical Turk operations, deal with the result assessment process, and reprocess failures.
Which of the following options gives the retailer the ability to interrogate the state of every workflow with the LEAST amount of implementation effort?
Answer options
- A. Trigger Amazon CloudWatch alarms based upon message visibility in multiple Amazon SQS queues (one queue per workflow stage) and send messages via Amazon SNS to trigger AWS Lambda functions to process the next step. Use Amazon ES and Kibana to visualize Lambda processing logs to see the workflow states.
- B. Hold workflow information in an Amazon RDS instance with AWS Lambda functions polling RDS for status changes. Worker Lambda functions then process the next workflow steps. Amazon QuickSight will visualize workflow states directly out of Amazon RDS.
- C. Build the workflow in AWS Step Functions, using it to orchestrate multiple concurrent workflows. The status of each workflow can be visualized in the AWS Management Console, and historical data can be written to Amazon S3 and visualized using Amazon QuickSight.
- D. Use Amazon SWF to create a workflow that handles a single batch of catalog records with multiple worker tasks to extract the data, transform it, and send it through Mechanical Turk. Use Amazon ES and Kibana to visualize AWS Lambda processing logs to see the workflow states.
Correct answer: D
Explanation
Amazon Simple Workflow Service (SWF) is designed for orchestrating background jobs that involve parallel, sequential, and human-in-the-loop steps, making it uniquely suited for Amazon Mechanical Turk integrations. Using SWF along with Amazon ES and Kibana allows the retailer to easily track and interrogate the state of every workflow with minimal custom development compared to building a custom polling mechanism or queue-based state machine. Other choices like SQS/SNS or RDS require a high level of custom implementation effort to track and manage execution states.