SWF – AWS Developer Certified Exam Notes

  • Simple Workflow Service is a web service that makes it easy to coordinate work across distributed application components. Amazon SWF enables applications for a range of use cases, including media processing, web application back-ends, business process workflows, and analytics pipelines, to be designed as a coordination of tasks
  • Tasks represent invocations of various processing steps in an application which can be performed by executable code, web service calls, human actions, and scripts
  • SWF workers: are programs that interacts with amazon SWF tasks, process received tasks, and return the results
  • SWF Decider: is a program that control the coordination of tasks. Their ordering, concurrency, and scheduling according to the application logic
  • Amazon SWF stores tasks, assigns them to workers when they are ready, and monitors their progress. It ensures that a task is assigned only once and is never duplicated (While in SQS task can be assigned multiple times, and may be ran many times). Since Amazon SWF maintains the applications state durably, workers and deciders don’t have to keep track of execution state. They can run independently, and scale quickly
  • Your workflow and activity types and the workflow execution itself are all scoped to a DOMAIN. Domains isolate a set of types, executions, and task lists from others within the same account
  • Maximum workflow can be 1 year and the value is always measured in seconds
  • SWF is a task-oriented API while SQS offers a message-oriented API
  • Amazon SWF keeps track of all the tasks and events in an application. With Amazon SQS, you need to implement your own application-level tracking, especially if your application uses multiple queues
  • The coordination of tasks involves managing execution dependencies, scheduling, and concurrency in accordance with the logical flow of the application
  • By implementing workers and deciders, you focus on your differentiated application logic as it pertains to performing the actual processing steps and coordinating them. Amazon SWF handles the underlying details such as storing tasks until they can be assigned, monitoring assigned tasks, and providing consistent information on their completion. Amazon SWF also provides ongoing visibility at the level of each task through APIs and a console.
  • Existing workflow products often force developers to learn specialized languages, host expensive databases, and give up control over task execution
  • AWS Step Functions is a fully managed service that makes it easy to coordinate the components of distributed applications and microservices using visual workflows.
  • Amazon SWF provides you complete control over your orchestration logic, but increases the complexity of developing applications.
  • Amazon SWF keeps track of all tasks and events in an application
  • AWS Flow Framework is a programming framework that enables you to develop Amazon SWF-based applications quickly and easily.
  • Workers use standard HTTP GET requests to get tasks from Amazon SWF and to return the results. To use an existing web service as a worker, you can write a wrapper that gets tasks from Amazon SWF, invokes your web service’s APIs as appropriate, and returns the results back to Amazon SWF
  • When you start new workflow executions you provide an ID for that workflow execution. This enables you to associate an execution with a business entity or action (e.g. customer ID, filename, serial number).
  • You can have a maximum of 100 Amazon SWF domains
  • Amazon SWF does not impose a specific limit on how long a worker can take to process a task
  • You can schedule up to 100 activity tasks in one decision
  • There is no limit on the total amount of data that is transferred during a workflow execution
  • Regarding SWF, humain can perform an activity task and not a decision task
  • For SWF, Decision tasks occur when the state of the workflow changes
  • The decider and activity worker are part of SWF that polls the tasks for work and making decisions. The workflow started is the first task of the workflow
  • You can have a max of 100 SWF domains in your AWS accounts
  • Amazon SWF has been applied to use cases in media processing, business process automation, data analytics, migration to the cloud and batch processing
  • You can have a maximum of 10000 of workflow and activity tasks in SWF
  • AWS Flow Framework is a programming framework that enables you to develop Amazon SWF-based applications quickly and easily
  • There is no limit on the total number of activity tasks, signals, and timers used during a workflow execution. However at this time, you can only have a maximum of 1000 open activity tasks per workflow execution

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google photo

You are commenting using your Google account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s