When I studied for AWS Certified Solution Architecture – Associated exam, both SQS and SWF ( amazon simple work flow ) were little hard for me. After reading numerous online resources and following video tutorials I was able to grab the concept of these two services. So I thought to blog the basic of serive here as a study note. I strongly encourage you to read AWS docs, specially FAQ section (you can learn lot from there) and white papers, If you are planning to take AWS Certified Solution Architecture – Associated exam. you can find my previous SQS post here.
Basic description of SWF :- Another distributed service from AWS like SQS. Simple work Flow service is task coordination and state management service for cloud applications.
Features
* Distributed
* Highly scalable
* works with non cloud(local) application or applications in the cloud
* A workflow can consist of human events
ex:- purchased item shipping process at eCommerce web site, such as amazon.com , eBay etc…
* A workflow execution can last up to 1 year
* Guarantees order in which activities / task occur
this is important, SWF guarantees the task order, that SQS DOES NOT.
Compare SQS and SWF
* Both are used to create distributed systems
* Both allow for each “task / component” of the system to be scaled separately
* SQS does have a “best effort” message order (no guarantee about order) and potentially has duplicates.
* SWF guarantees execution order and uses deciders for next instructions.
* SWF can have a human task as part of the work flow while SQS does not
* SQS message live up to 14 days, but SWF task execution task can last up to 1 year.
* SWF allows for synchronous or asynchronous distributed processing.
Related post :- Amazon Simple Queue Service