跳至主要内容

什么是编排?

什么是编排?

编排是对跨多个系统和流程的复杂工作流执行的自动化协调与管理。在 IT 领域,编排有多种类型,例如容器编排、工作流编排、基础设施编排和数据管道编排。每种类型的编排都需要多个系统和步骤来执行诸如部署 Web 应用程序之类的任务。您可以将编排视为一系列受逻辑约束的自动化任务和基于事件的决策流程。成功的编排具有抗故障、可扩展、可测试、可重启且易于配置的特点。

编排和自动化有什么区别?

自动化是指在无需人工干预的情况下执行重复性任务的行为。团队使用自动化工具来加快任务实施并降低人为错误的风险。

而编排是指跨多个计算机系统协调各项独立任务以实现特定目标的过程。自动化侧重于单个流程,而编排则允许一个流程在逻辑流中触发另一个流程。

例如,您可以在容器创建过程中使用自动化。容器是包含应用程序代码及其依赖项的软件包,可在托管容器化环境的任何物理机或虚拟机上运行。但是,您需要使用编排来确定容器应在何处运行以及要监控哪些指标。

编排的类型有哪些?

IT 团队借助编排来简化跨不同系统的各类工作流。以下是企业中一些常见的编排类型。

容器编排

容器编排允许您跨多个虚拟机或云实例部署容器化应用程序。软件团队可能需要在生产环境中部署数百个容器,这一过程若手动执行可能既耗时又困难。编排工具将基础设施预置、负载均衡和自我修复等任务串联起来,确保容器以最佳状态运行。许多开发人员结合云服务使用 Kubernetes 来编排容器。例如,StormForge 使用 Amazon Elastic Kubernetes Service(EKS)来管理 Kubernetes 工作负载,帮助将基础设施成本降低多达 40%。容器编排有时被称为应用程序编排。

工作流编排

工作流编排使 IT 团队能够协调不同系统间的任务。

例如,假设您的团队正在开发一款食品订购应用程序。不同的系统分别负责核实订单、处理付款、更新库存、将订单发送至厨房以及跟踪配送情况。在订购流程的每个步骤中,经过编排的工作流均基于条件触发器运行并传递数据。

例如,驾驶员和车辆许可管理局(DVLA)使用 AWS Step Functions 工作流自动化来处理超过 800000 份驾驶执照申请。

基础设施编排

基础设施编排提供对云计算基础设施的端到端可见性、管理和治理。IT 团队无需从头开始配置 Web 服务器、数据存储、服务及其他云资源,而是借助预先确定的配置、策略和框架来编排整个流程。基础设施编排使用基础设施即代码(IaC)来启动、管理和停用资源。

部署后,编排工具会持续监控基础设施运行状况,提供建议,并为各利益相关方生成报告。组织通常将基础设施编排与流程自动化工具结合使用,以实现最佳效果。例如,奥迪使用 Terraform 来执行自动化基础设施部署,并借助 AWS CloudFormation 加快部署流程。

数据管道编排

ETL workflow orchestration

数据管道编排使数据工程师能够更高效地管理、处理和分析来自多个来源的数据。传统上,每个数据存储都依托独立的数据管道运行。数据摄取、清洗、转换和分析各自独立进行,这增加了数据挖掘和商业智能任务的复杂性。数据编排工具简化了跨孤立存储(如数据湖、数据仓库和云数据库)的数据检索。数据编排提高了数据质量并缩短了获得洞察的时间。例如,宝马使用 AWS Glue 从车辆和客户遥测数据中获取实时和历史数据洞察。

其他类型的编排

还有各种其他类型的编排,包括安全编排(例如 AWS Security Hub),以及用于协调服务之间 API 通信的 API 编排。

编排是如何运作的?

编排通过协调跨系统多个任务的逻辑流程来实现特定目标。编排解决方案为最终用户消除了执行这些任务的复杂性。配置完成后,作为专用组件的编排工具会确保每项任务成功完成后再继续执行下一项任务。编排工具可能会根据任务的优先级安排任务,将其分配到指定的计算机,并跟踪其进度。

Task scheduling in orchestration

视使用案例而定,编排可能涉及不同的活动。例如,在软件开发中,编排可能涉及合并分支或代码、自动化测试以及生成构建映像。而在云计算中,编排通常是指简化基础设施预置、资源分配、工作负载部署、数据流管理、错误处理等任务。

以部署容器化应用程序为例,编排层负责确保以下任务按预期运行:

  • 确定部署容器的最优集群节点
  • 分配计算资源和存储容量
  • 从注册表加载容器映像
  • 运行容器
  • 监控集群运行状况

随着使用量的增长,容器编排工具将重新平衡工作负载,以确保最佳性能。容器编排工具可防止分布式应用程序在消耗资源时影响整体服务交付。容器编排工具还集成了安全功能,以实现策略执行、访问控制和治理。

以下是编排工具的主要组件。

编排引擎

编排引擎是整个编排工作流的核心。它负责调度任务、协调工作流,并确保流程与预配置的顺序保持一致。在将特定任务加入队列并启动时,它会综合考虑多个因素,例如规则、外部事件和其他前提条件。

状态管理

状态机是一种按逻辑顺序展示事件的软件组件。在编排流程时,您实际上是在状态机中按顺序执行各个步骤。每个状态都由一个操作组成,该操作根据特定的业务逻辑将输入转换为输出。您可以管理这些状态,使其执行与编排目标一致的任务。在某些情况下,编排引擎可以并行运行多个状态并整合其结果。

错误处理和重试逻辑

编排平台旨在处理错误并减少对计划任务的干扰。当编排工具检测到错误时,它会尝试再次运行该任务。它甚至可能等待特定时长后再重试,若重试失败,则会停止该流程。编排工具使用幂等性来确保重试逻辑始终产生可靠的系统状态;幂等性是指多次运行同一操作只会产生一次效果。此外,编排工具可以记录所有事件,包括其遇到的状态错误,以供补救和审计之用。

服务协调

编排可能涉及集成来自不同供应商的服务、云服务、遗留系统和外部系统。编排工具通常通过应用程序编程接口(API)来促进与第三方系统之间的数据交换。编排工具可确保数据格式、交付和速率限制的一致性,从而防止性能瓶颈。

编排有哪些优势?

编排技术可帮助组织实现工作负载现代化、提高生产力并改善业务成果。以下是编排的一些主要优势。

降低操作复杂性

IT 团队使用编排工具将复杂任务转化为易于管理的简单流程。他们不再手动协调不同系统上的流程,而是使用编排工具创建连接分布式流程的工作流。这样,他们便可管理更大规模的工作流,而不必为其中涉及的复杂性所困扰。

提高流程自动化的可靠性和容错能力

随着工作流复杂性的增加,流程编排工具可帮助组织提高服务可用性。您可以通过跨应用程序、服务和环境编排故障监控、冗余、告警和错误恢复,来降低流程失败的风险。

支持可扩展性

组织在扩大运营规模时,可能会面临手动协调多个 IT 系统的困难。随着各类任务日趋复杂,IT 团队借助专用工具来自动管理系统、基础架构、工作负载及其他需求。例如,软件即服务(SaaS)公司使用容器编排工具大规模部署微服务。

加快软件部署周期

开发团队可借助软件编排工具简化持续集成和持续交付(CI/CD)工作流,从而加快软件应用程序的部署。传统上,开发人员需手动启动每个阶段(例如代码合并、用户验收测试和生产发布),这会拖慢部署速度。通过编排,这些阶段可自动触发,从而提高效率并缩短软件开发生命周期。

AWS 如何支持您的编排需求?

AWS 提供一系列服务,助力容器编排、工作流编排、基础设施编排和数据管道编排。请考虑您的云编排需求,以及如何借助 AWS 服务满足这些需求:

  • AWS CloudFormation 借助基础设施即代码加快云预置。CloudFormation 让您能够通过持续集成和交付(CI/CD)自动化来自动化、测试和部署基础设施模板。
  • Amazon Elastic Container Service(ECS)是一项完全托管式容器编排服务,使团队能够构建、管理及运行即使是要求最为苛刻的容器化工作负载,而无需应对复杂的基础设施管理,从而让开发团队腾出精力、更快地推动创新。
  • Amazon Elastic Kubernetes Service(EKS)通过自动化集群基础设施管理来简化 Kubernetes 操作流程,使您的团队能够专注于创新。
  • AWS Step Functions 为现代应用程序提供无服务器编排。该可视化编排工具可以将工作流分解为多个步骤、添加流程逻辑并跟踪各步骤之间的输入和输出,从而集中管理工作流。

立即创建免费账户,开始在 AWS 上使用编排服务。

Browse all cloud computing concepts

Browse all cloud computing concepts content here:

正在加载
正在加载
正在加载
正在加载
正在加载

Did you find what you were looking for today?

Let us know so we can improve the quality of the content on our pages