Monday, July 20, 2020

SWF - Simple Workflow Service

SWF - Simple Workflow Service
-         https://docs.aws.amazon.com/amazonswf/latest/developerguide/swf-welcome.html
-         fully managed state tracker and task coordinator
-         helps development of asynchronous and distribute applications by providing a programming model and infra for coordinating distributed components
-         uses IAM for access control
-         acts similarly to a bus or a mediator – allowing components to communicate
-         access via: SDK, AWS Flow Framework (enhanced SDK for writing distribute workflows), HTTP API, development environment for specific language
-         REGIONAL service

Components (coded by user, not AWS)
-         Workflow – set of activities. A workflow runs a domain that controls the workflow scope
-         Worker – receives an activity task, processes and feeds the status back
-         A worker can run on AWS (EC2, Lambda, etc.) or on-premises
-         Task – activity performed by a worker, can be distributed across multiple servers or even Regions.
-         SWF assigns tasks to workers and maintains a state of each task
-         Decider – controls the flow of activities in workflow execution; schedules tasks; processes task responses; ends workflows – all trough SWF
-         Workers and Deciders poll SWF for tasks
-         SWF – central hub for data exchange among deciders workers and the user
-         Execution History – SWF maintains the state of each workflow execution. SWF includes the current workflow state in Decision task definition (below) – thus keeping the Decider up to date
-         Task Types:
          §  Activity task – action for worker to perform
          §  Lambda task – execution of a lambda function
          §  Decision task – informs the Decider on the current workflow state
-         Endpoints – exits in regions. SWF in one region has no access to workflows in another region

No comments:

Post a Comment