Amazon Step Functions 可以提供适用于新式应用程序的无服务器编排功能。编排功能可以将工作流分解为多个步骤、添加流逻辑并跟踪不同步骤之间的输入和输出,从而集中管理工作流。应用程序执行时,Step Functions 可以记录应用程序状态、准确跟踪应用程序所在的工作流步骤,并存储在应用程序组件之间传递的数据的事件日志。这意味着如果出现网络故障或组件暂停,应用程序可以在恢复后继续完成被中断的工作。
Step Functions 可以让应用程序的开发更快速、更直观,因为您可以独立于应用程序的业务逻辑来定义和管理其工作流。对一个工作流的更改不会影响其他工作流。您可以在一个位置轻松更新和修改工作流,而不必费力地管理、监控和维护多个点到点集成。Step Functions 可以将函数和容器从过多的代码中解放出来,因此应用程序的编写速度更快、更有弹性并且更容易维护。
工作流配置
利用 Step Functions,您可以将工作流定义为状态机,而状态机可以将复杂的代码转换为易于理解的语句和图表。您可以更快速、更轻松地构建应用程序并确认其在执行您需要的功能。详细了解 Step Functions 的工作原理。
内置服务基元
Step Functions 可以为您的工作流提供现成的步骤,这些步骤称为状态,可以为您实施基本的服务基元,这意味着您可以从应用程序中删除相应逻辑。状态可以将数据传递给其他状态或微服务,可以处理异常、添加超时、做出决策以及并行执行多个路径等等。了解有关状态的更多信息。
亚马逊云科技服务集成
使用 Amazon Step Functions 服务任务,您可以对 Step Functions 工作流进行配置,以便调用其他 亚马逊云科技服务。这些服务包括计算服务(Amazon Lambda、Amazon ECS 和 Amazon Fargate)、数据库服务 (Amazon DynamoDB)、消息收发服务(Amazon SNS 和 Amazon SQS)、数据处理服务(Amazon Batch 和 Amazon Glue、Amazon EMR)以及机器学习服务 (Amazon SageMaker)。了解有关服务任务的更多信息。
协调分布式组件
Step Functions 可以协调支持 HTTPS 连接的任何应用程序,而无论其托管在哪个位置,例如 Amazon EC2 实例、移动设备或本地服务器。利用 Step Functions,您可以快速创建能够利用 亚马逊云科技服务和您自己的微服务的分布式应用程序。了解有关活动任务的更多信息。
组件重复使用
Amazon Step Functions 可以协调现有 Lambda 函数和微服务并将其整合到稳定的应用程序内,并且您可以将其快速重新连接到新的组合中。您工作流中的任务可以在任何位置运行,这些位置包括实例、容器、函数和移动设备。了解如何重复使用现有应用程序组件。
工作流抽象化
Step Functions 可以将应用程序的逻辑与应用程序的实施严格分离。您可以对步骤进行添加、移动、交换和重新排序,无需更改业务逻辑。通过关注点的这种分离,您的工作流可以实现模块性和可扩展性,并且易于维护,支持重复使用代码。
状态管理
Step Functions 可以在应用程序执行过程中记录应用程序的状态,包括跟踪应用程序所在的执行步骤,以及存储在工作流的不同步骤之间移动的数据。这意味着您无需通过数据存储或将复杂的状态管理添加到所有任务中来自行管理状态。
内置错误处理
Amazon Step Functions 可以通过内置的尝试/捕捉和重试功能自动处理错误和异常,无论任务的完成时间是几秒钟还是几个月。您可以自动重试失败或超时的任务、以不同方式响应不同错误,并通过退回到指定的清理和恢复代码来实现平稳恢复。详细了解 Step Functions 错误处理以及如何使用状态机处理错误状态。
执行历史记录
Amazon Step Functions 可以提供实时诊断和控制面板、与 Amazon CloudWatch 和 Amazon CloudTrail 集成,并会记录每次执行情况,包括总体状态、失败的步骤以及输入和输出。如果发生问题,您可以快速确定问题位置和原因,并快速分析和修复故障。了解有关 Step Functions 监控与日志记录功能的更多信息。
可视化监控
启动应用程序就像按下按钮一样简单,然后直观地观察步骤的执行,这样您就可以快速验证所有内容是否按顺序运行并且符合预期。控制台可以清楚地突出显示错误,因此您可以快速确定错误的根本原因并解决问题。
高可用性
Amazon Step Functions 具有内置容错能力,可以在每个区域中跨多个可用区维持服务容量,从而保护应用程序免受单个计算机或数据中心故障的影响。这有助于确保服务本身及其运行的应用程序工作流的高可用性。
自动扩展
Amazon Step Functions 可以自动扩展操作和底层计算,以便针对不断变化的工作负载为您运行应用程序的不同步骤。Step Functions 可以自动扩展,有助于确保应用程序工作流的性能在请求频率提高时保持一致。
安全性与合规性
Amazon Step Functions 与 Amazon Identity and Access Management (IAM) 集成,并且会针对工作流中使用的所有资源推荐权限最低的 IAM 策略。 Step Functions 使用 Amazon PrivateLink 支持 VPC 终端节点 (VPCE)。您可以从 VPC 支持的 Amazon Lambda 函数和其他 亚马逊云科技服务中访问 Amazon Step Functions,无需通过公共互联网。了解有关 Step Functions 安全性与身份验证的更多信息。
按使用量付费
使用 Amazon Step Functions,您需要为每次状态转换付费。费用按转换次数收取,而且无论每个状态持续多长时间(最长一年),您都无需为空闲时间付费。因此,无论执行次数是几次还是几千万次,Step Functions 都是一种经济高效的选择。了解有关 Step Functions 定价的更多信息。
了解有关 Amazon Step Functions 定价的更多信息