Last Wednesdsay, Amazon Web Services announced the availability of the Amazon Simple Workflow service that allows developers to automate and orchestrate discrete programming tasks in order to more effectively manage complex development ecosystems. AWS CTO Werner Vogels summarized the new workflow service in a blog post as follows:
Amazon Simple Workflow enables applications to be built by orchestrating tasks coordinated by a decider process. Tasks represent logical units of work and are performed by application components that can take any form, including executable code, scripts, web service calls, and human actions. Developers have full control over implementing and orchestrating tasks, without worrying about underlying complexities such as tracking their progress and keeping their state.
Developers implement workers to perform tasks. They run their workers either on cloud infrastructure, such as Amazon EC2, or on-premise. Tasks can be long-running, may fail, may timeout and may complete with varying throughputs and latencies. Amazon SWF stores tasks for workers, assigns them when workers are ready, tracks their progress, and keeps their latest state, including details on their completion. To orchestrate tasks, developers write programs that get the latest state of tasks from Amazon SWF and use it to initiate subsequent tasks in an ongoing manner. Amazon SWF maintains an application’s execution state durably so that the application can be resilient to failures in individual application components.
The Simple Workflow Service features the following components:
• Domain, defined as a set of related workflows
• Workflow, understood as the automation of a business process
• Deciders, that orchestrate qua manage and sequence tasks
• Tasks, that constitute “logical units of work”
At one level, Amazon Simple Workflow represents a brilliant solution to the problem of orchestration. Deciders manage dependencies between tasks and manage task scheduling and the concurrency of simultaneous, inter-related processes. As Chirag Mehtra notes, however, the Simple Workflow solution may be viewed as another service that increases vendor lock-in with respect to AWS given that the orchestration specific to their application ecosystem runs within a managed service offering uniquely configured by Amazon Web Services. Developers seeking to migrate an application from AWS to another cloud environment will need to rebuild the orchestration apparatus architected using Simple Workfow in order to enjoy the benefits of automated workflow coordination and management.