Amazon Simple Workflow Service (Amazon SWF) 是用于构建可调节的、灵活的应用程序的工作流服务。无论是自动化处理金融或保险应用程序的业务流程、构建复杂的数据分析应用程序,还是管理云基础设施服 务,Amazon SWF 都能可靠地协助应用程序的所有处理步骤。
Amazon SWF 是完全托管的服务,不需要管理、扩展、调节、修补或升级任何硬件或软件。Amazon SWF 提供了简单 API 调用,它们可以通过任何语言编写运行代码,并可在 EC2 实例上运行,或在全球各地能够访问 Internet 的计算机上运行。本地计算机只需打开 Internet 连接从 SWF API 请求任务即可,不必更改任何防火墙规则。可以通过亚马逊 AWS 管理控制台查看有关工作流当前状态和运行历史记录的做详细报告。
逻辑分隔
Amazon SWF 促使后台作业阶梯式逻辑的流程控制与包含唯一业务逻辑的实际工作单元相互分开。这使独立管理、维护并扩展不同核心业务逻辑中应用的“状态结构”。随着业务要求的变化,可以轻松地变更应用程序逻辑而无需担心底层的状态结构、任务分派和流程控制。
可靠
Amazon SWF 在 Amazon 的高可用性数据中心中运行,因此状态追踪和任务处理引擎可以在应用程序需要时随时可用。Amazon SWF 还会冗余存储任务,可靠地将它们指派到应用程序组件,追踪进度并使其保持最新状态。
简便
Amazon SWF 用全托管的云工作流 Web 服务替代复杂的定制代码工作流解决方案和流程自动化软件。开发人员不再需要管理流程自动化的基础设施,可以将精力集中在应用程序的独特功能上。
可扩展
Amazon SWF 可以随着应用程序的使用进行无缝调节。若要在应用程序中添加更多云工作流或增加工作流复杂性,无需对工作流服务进行人功能管理。
灵活
Amazon SWF 让使用任何编程语言进行应用程序组件和协作逻辑编写,并在云中或本地运行它们。
视频解码
使用 Amazon S3 和 Amazon EC2 的视频编码。在 此使用案例中,以组块形式将大型视频上传到 Amazon S3。必须监控组块的上传过程。上传组块后,通过将其下载到 Amazon EC2 实例进行解码。解码的组块将存储到另一 Amazon S3 位置。以这种方式对所有组块解码后,将它们合并成一个完整的解码文件,整个放回 Amazon S3。此过程可能会由于一个或多个组块出现解码错误而失败。此类故障需要通过 Amazon SWF 的云工作流管理进行检测和处理。
数据中心迁移
从数据中心迁移组件到云中。业务关键操作由私有的数据中心托管,但需要整体迁移到云中,而不会导致中断。基于 Amazon SWF 的应用程序可以将包含数据中心所运行组件的工作程序与云中运行的工作程序合并在一起。要无缝过渡数据中心工作程序,首先会在云中部署相同类型的新工作程 序。数据中心的工作程序与基于云的新工作程序,继续照常运行。通过向基于云的工作程序传送部分负载,对它们进行测试和验证。测试期间,应用程序不会中断, 因为数据中心的工作程序一直在运行。测试成功后,数据中心的工作程序会逐渐停止,而云中的工作程序则会随之扩展,这样便可全部迁移到云工作流管理应用程 序。这个云工作流过程适用于数据中心的所有其他工作程序,从而让整个应用程序迁移到云中。如果出于一些业务原因,某些处理步骤必须继续留在私有数据中心执 行,则可以继续在私有数据中心运行这些工作程序,并让它们仍然参与应用程序。
人工处理产品目录
使用 Amazon Mechanical Turk 处理大型产品目录。验 证大型目录中的数据,同时对目录中的产品进行批处理。不同批次可同时处理。对于每批,将从数据中心的服务器中提取产品数据,并将其转换成 Amazon Mechanical Turk 的 Requester User Interface (RUI) 要求的 CSV(逗号分隔值)文件。上传 CSV 以填充和运行 HIT(人工智能任务)。完成 HIT 后,反向转换生成的 CSV 文件,使数据返回原始格式。然后,评估结果;如果认可结果,为 Amazon Mechanical Turk 工作程序付费。故障将会去除及重新处理,而使用认可的 HIT 结果来更新目录。在批处理过程中,系统需要跟踪 Amazon Mechanical Turk 工作程序的质量并相应地调整费用。出现故障的 HIT 会重新进行批处理,并重新通过管道发送。