Download as pdf or txt
Download as pdf or txt
You are on page 1of 4

Amazon Simple Workflow (SWF) vs AWS Step Functions vs

Amazon SQS
tutorialsdojo.com/amazon-simple-workflow-swf-vs-aws-step-functions-vs-amazon-sqs

April 29,
2019

Amazon Simple Workflow (SWF)

A web service that makes it easy to coordinate work across distributed application
components.
In Amazon SWF, tasks represent invocations of logical steps in applications. Tasks are
processed by workers which are programs that interact with Amazon SWF to get
tasks, process them, and return their results.
The coordination of tasks involves managing execution dependencies, scheduling, and
concurrency in accordance with the logical flow of the application.

AWS Step Functions

A fully managed service that makes it easy to coordinate the components of


distributed applications and microservices using visual workflows.
You define state machines that describe your workflow as a series of steps, their
relationships, and their inputs and outputs. State machines contain a number of
states, each of which represents an individual step in a workflow diagram. States can
perform work, make choices, pass parameters, initiate parallel execution, manage
timeouts, or terminate your workflow with a success or failure.

Amazon SQS

A message queue service used by distributed applications to exchange messages


through a polling model, and can be used to decouple sending and receiving

1/4
components.
FIFO (first-in-first-out) queues preserve the exact order in which messages are sent
and received. Standard queues provide a loose-FIFO capability that attempts to
preserve the order of messages.

Amazon SWF vs AWS Step Functions AWS Step Functions Amazon SQS vs
vs Amazon SQS AWS SWF

Consider using AWS Step Functions for Use Step SWF API
all your new applications, since it Functions when actions are
provides a more productive and agile you need to task-
approach to coordinating application coordinate oriented. SQS
components using visual workflows. If service API actions are
you require external signals (deciders) components in message-
to intervene in your processes, or you the oriented.
would like to launch child processes development of SWF keeps
that return a result to a parent, then you highly scalable track of all
should consider Amazon SWF. and auditable tasks and
With Step Functions, you write state applications. events in an
machines in declarative JSON. With Use SQS when application.
Amazon SWF, you write a decider you need a SQS requires
program to separate activity steps from reliable, highly you to
decision steps. This provides you scalable, hosted implement
complete control over your queue for your own
orchestration logic, but increases the sending, storing, application-
complexity of developing applications. and receiving level tracking,
You may write decider programs in the messages especially if
programming language of your choice, between your
or you may use the Flow framework, services. application
which is a library for building SWF Step Functions uses multiple
applications, to use programming keeps track of queues.
constructs that structure asynchronous all tasks and The SWF
interactions for you. events in an Console and
application. visibility APIs
Amazon SQS provide an
requires you to application-
implement centric view
your own that lets you
application-level search for
tracking, executions,
especially if your drill down into
application uses an execution’s
multiple queues. details, and
The Step administer
Functions executions.
Console and SQS requires
visibility APIs implementing
2/4
provide an such
application- additional
centric view functionality.
that lets you SWF offers
search for several
executions, drill features that
down into an facilitate
execution’s application
details, and development,
administer such as
executions. passing data
Amazon SQS between tasks,
requires signaling, and
implementing flexibility in
such additional distributing
functionality. tasks. SQS
Step Functions requires you
offers several to implement
features that some
facilitate application-
application level
development, functionality.
such as passing In addition to a
data between core SDK that
tasks and calls service
flexibility in APIs, SWF
distributing provides the
tasks. Amazon Flow
SQS requires Framework
you to with which you
implement can write
some distributed
application-level applications
functionality. using
You can use programming
Amazon SQS to constructs that
build basic structure
workflows to asynchronous
coordinate your interactions.
distributed
application, but
you get this
facility out-of-
the-box with
Step Functions,
alongside other
application-level
capabilities.
3/4
References:

https://aws.amazon.com/swf/faqs/
https://aws.amazon.com/step-functions/faqs/
https://aws.amazon.com/sqs/faqs/

***

AWS Certified Solutions Architect is consistently among the top paying IT certifications in the
world, considering that Amazon Web Services is the leading cloud services platform with almost
50% market share! Earn over $150,000 per year with an AWS certification!

Subscribe to our newsletter for more helpful AWS training notes and blogs like this and answer as
many AWS practice exams as you can.

Subscribe to our Newsletter

Sign up now and have the latest tech tutorials delivered straight to your mailbox.

PLUS: Upgrade your career by getting exclusive access to recent AWS exam passers' tips,
freebies, promotions and lots more!
I agree to have my personal information transfered to AWeber ( more information )

4/4

You might also like