For which of the following use cases are Simple Workflow Service (SWF) and Amazon EC2 an appropriate
solution? Choose 2 answers
A.
Using as an endpoint to collect thousands of data points per hour from a distributed fleet of sensors
B.
Managing a multi-step and multi-decision checkout process of an e-commerce website
C.
Orchestrating the execution of distributed and auditable business processes
D.
Using as an SNS (Simple Notification Service) endpoint to trigger execution of video transcoding jobs
E.
Using as a distributed session store for your web application
I like B and C more.
https://aws.amazon.com/swf/faqs/
Agree with JM
B and C seem to be correct
B and C
A and B.
B and C
Answer is C,D
C.
Orchestrating the execution of distributed and auditable business processes
D.
Using as an SNS (Simple Notification Service) endpoint to trigger execution of video transcoding jobs
Amazon SWF has been applied to use cases in media processing, business process automation, data analytics, migration to the cloud, and batch processing.
Use case #1: Video encoding using Amazon S3 and Amazon EC2. In this use case, large videos are uploaded to Amazon S3 in chunks. The upload of chunks has to be monitored. After a chunk is uploaded, it is encoded by downloading it to an Amazon EC2 instance.
Not sure what your scenario has to do with SWF. I would definitely not say D. I go with B and C
c&D
https://aws.amazon.com/swf/faqs/
With Amazon SWF: The entire application is built as a workflow where each video file is handled as one workflow execution. The tasks that are processed by different workers are: upload a chunk to Amazon S3, download a chunk from Amazon S3 to an Amazon EC2 instance and encode it, store a chunk back to Amazon S3, combine multiple chunks into a single file, and upload a complete file to Amazon S3. The decider initiates concurrent tasks to exploit the parallelism in the use case. It initiates a task to encode an uploaded chunk without waiting for other chunks to be uploaded. If a task for a chunk fails, the decider re-runs it for that chunk only. The application state kept by Amazon SWF helps the decider control the workflow. For example, the decider uses it to detect when all chunks have been encoded and to extract their Amazon S3 locations so that they can be combined. The execution’s progress is continuously tracked in the Amazon SWF Management Console. If there are failures, the specific tasks that failed are identified and used to pinpoint the failed chunks.
AB
bc
Men o men B,C seems more logic to me
B and C
D
https://aws.amazon.com/swf/
Video encoding using Amazon S3 and Amazon EC2. In this use case, large videos are uploaded to Amazon S3 in chunks. The upload of chunks has to be monitored. After a chunk is uploaded, it is encoded by downloading it to an Amazon EC2 instance. The encoded chunk is stored to another Amazon S3 location. After all of the chunks have been encoded in this manner, they are combined into a complete encoded file which is stored back in its entirety to Amazon S3. Failures could occur during this process due to one or more chunks encountering encoding errors. Such failures need to be detected and handled through Amazon SWF’s cloud workflow management.
B & C is correct according to me
D is not the right answer because in the video encoding use case for SWF it never mentions SNS as D suggests. Instead it mentions uploading video in chunks and combining them which is not mentioned in D.
B and C are the right answers.
B & C
I definitely like B and C the best…
A. Using as an endpoint to collect thousands of data points per hour from a distributed fleet of sensors
This is far more applicable scenario for a Kinesis stream. Have the sensors send data into the stream, then process out of the stream (e.g. with a Lambda function to upload to DynamoDb for further analysis, or into CloudWatch if you just wanted to plot the data from the sensors as a time series).
B. Managing a multi-step and multi-decision checkout process of an e-commerce website
Ideal scenario for SWF. Track the progress of the checkout process as it proceeds through the multiple steps.
C. Orchestrating the execution of distributed and auditable business processes
Also good for SWF. The key words in the question are “process” and “distributed”. If you’ve got multiple components involved the process, and you need to keep them all appraised of what the current state/stage in the process is, SWF can help.
D. Using as an SNS (Simple Notification Service) endpoint to trigger execution of video transcoding jobs
This is a potential scenario for Lambda, which can take an SNS notification as a triggering event. Lambda kicks off the transcoding job (or drops the piece of work into an SQS queue that workers pull from to kick off the transcoding job)
E. Using as a distributed session store for your web application
Not applicable for SWF at all. As for how you might want to do this, key word here is “distributed”. If you wanted to store session state data for a web session on a single web server, just throw it into scratch space on the instance (e.g. ephmeral/instance-store drive mounted to the instance). But this is “distributed”, meaning multiple web instances are in play. If one instance fails, you want session state to still be maintained when the user’s traffic traverses a different web server. (It wouldn’t be acceptable for them to have two items in their shopping cart, be ready to check out, have the instance they were on fail, their traffic go to another web instance, and their shopping cart suddenly shows up as empty.) So you save their session state off to an external session store. If the session state only needs to be maintained for, say, 24 hours, ElastiCache is a good solution. If the session state needs to be maintained for a long period of time, store it in DynamoDb.
Thank you kirrim
BC
B and C seems right. While video transcoding jobs could be using SWF, not sure if SNS has to do anything here.
B Managing a multi-step and multi-decision checkout process of an e-commerce website
C.
Orchestrating the execution of distributed and auditable business processes