你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn

在 Azure 中选择自动化服务

本文介绍 Azure 环境中提供的各种自动化服务。 这些服务可以自动执行业务和操作流程,并解决多个服务、系统和流程之间的集成问题。 自动化服务可以定义要执行的输入、操作、活动,以及条件、错误处理和输出生成。 使用这些服务,可以按计划运行各种活动或进行基于需求的手动执行。 每项服务都有其独特的优势和目标受众。 使用这些服务,可以将精力从手动执行操作任务转移到为这些任务构建自动化,包括:

  • 缩短执行操作的时间
  • 降低执行操作的风险
  • 提高人类进一步创新的能力
  • 将操作标准化

自动化操作的类别

以下三大类别的操作都需要自动化:

  • 资源的部署和管理:使用自动化或基础结构即代码工具以编程方式进行创建和配置,以提供可重复且一致的云资源部署和管理。 例如,可以部署 Azure 网络安全组,以及使用 Azure 资源管理器模板或自动化脚本创建安全组规则。

  • 对外部事件的响应:基于关键的外部事件(例如响应数据库更改、根据提供给网页的输入执行操作等),可以诊断和解决问题。

  • 复杂业务流程:通过与第一方或第三方产品集成,可以定义端到端的自动化工作流。

适用于自动化的 Azure 服务

多个 Azure 服务可以满足上述要求。 每项服务都有其优点和限制,客户可以使用多个服务来满足其自动化要求。

资源的部署和管理

  • 带 Bicep 的 Azure 资源管理器 (ARM) 模板
  • Azure 蓝图
  • Azure 自动化
  • Azure Automanage(用于计算机配置和管理)

响应外部事件

  • Azure Functions
  • Azure 自动化
  • Azure Policy 来宾配置(用于在资源的符合性状态发生变化时采取措施)

复杂业务流程以及与第一方或第三方产品的集成

  • Azure 逻辑应用
  • Azure Functions 或 Azure 自动化(Azure 逻辑应用有 400 多个连接到其他服务的连接器,包括 Azure 自动化和 Azure Functions,可用于满足复杂的自动化方案。)

该屏幕截图显示了自动化服务概述。

部署和管理自动化服务

Azure 资源管理器 (ARM) 模板

Azure 资源管理器提供了一种语言来为 Azure 资源开发可重复且一致的部署模板。 该模板是一个定义项目基础结构和配置的 JavaScript 对象表示法 (JSON) 文件。 它使用声明性语法,使你可以声明要部署的内容,而不需要编写一系列编程命令来进行创建。 在该模板中,指定要部署的资源以及这些资源的属性。 了解详细信息

Bicep

我们引入了一种名为 Bicep 的新语言,它的功能与 ARM 模板相同,但语法更易于使用。 在部署过程中,每个 Bicep 文件都将自动转换为 ARM 模板。 如果你正在考虑基础结构即代码选项,我们建议使用 Bicep。 有关详细信息,请参阅什么是 Bicep?

下表描述了适用于 ARM 模板和 Bicep 的方案和用户:

方案 用户
创建、管理和更新基础结构资源,如虚拟机、网络、存储帐户、容器等。

部署应用、添加标签、分配策略、分配基于角色的访问控制,所有这些都以代码形式声明并与 CI\CD 工具集成。

管理多个环境,例如生产环境、非生产环境以及灾难恢复。

以一致可靠的方式大规模地部署资源。
首次使用 Azure 或将 Azure 作为主要云的应用程序开发人员、基础架构管理员、DevOps 工程师。

负责云基础结构部署的 IT 工程师\云架构师。

Azure 蓝图(预览版)

注意

2026 年 7 月 11 日,Azure 蓝图(预览版)将弃用。 了解详细信息

Azure 蓝图(预览版)定义一组可重复的 Azure 资源,这些资源实现并遵守组织的标准、模式和要求。 蓝图是一种协调各种资源模板和其他项目(例如角色分配、策略分配、ARM 模板和资源组)部署的声明性方式。 了解详细信息

方案 用户
创建、管理和更新基础结构资源,以确保部署的基础结构符合组织的合规性标准。

审核和跟踪 Azure 部署。
负责确保部署的 Azure 基础结构符合组织合规性标准的审核者和中心信息技术组。

Azure 自动化

Azure 自动化在云或混合环境中使用图形、PowerShell 和 Python runbook 编排重复流程。 它提供永久性的共享资产,包括用于编排复杂作业的变量、连接、对象。 了解详细信息

PowerShell 库中有 3,000 多个模块,PowerShell 社区也在不断发展壮大。 基于 PowerShell 模块的 Azure 自动化可以与多个应用程序和供应商(第一方和第三方)协作。 随着越来越多的应用程序供应商发布用于集成、扩展性和自动化任务的 PowerShell 模块,你可以按原样使用现有的 PowerShell 脚本,在自动化帐户中将其作为 PowerShell runbook 执行,而无需进行任何更改。

方案 用户
允许自动化编写一个自动化 PowerShell runbook,用于通过 Azure 资源管理器模板部署 Azure 资源。

计划任务,例如,在晚上停止开发/测试 VM 或服务,并在白天启用。

响应系统警报、服务警报、高 CPU/内存警报等警报,创建 ServiceNow 工单等。

混合自动化,可在其中管理自动化本地服务器,例如 SQL Server、Active Directory 等。

Azure 资源生命周期管理和治理包括资源预配、取消预配、添加正确的标记、锁定、NSG 等。
熟练使用基于 PowerShell 或 Python 的脚本的 IT 管理员、系统管理员、IT 运营管理员。

基础设施管理员使用脚本或在本地运行的服务器上执行长期运行的作业(例如月结操作)来管理本地基础设施。

基于 Azure 自动化的来宾管理

配置管理:在你的环境中收集清单并跟踪更改。 了解详细信息。 可以配置所需的计算机状态以发现并更正配置偏移。 了解详细信息

更新管理:评估服务器的符合性,并计划计算机上的更新安装。 了解详细信息

方案 用户
检测对计算机上的软件、服务、文件和注册表的更改并针对这些更改发出警报,对服务器中安装的所有内容保持警觉。

使用 Azure 更新管理在服务器上评估和安装更新。

配置服务器的所需状态,并确保它们保持合规。


中央 IT\基础设施管理员\审计员寻求大规模的监管要求并确保服务器的最终状态符合要求、经过修补和审计。

Azure Automanage(预览版)

将重复的日常操作任务替换为“仅限异常”的管理模型,在该模型中,VM 的正常、稳定状态等于无人参与的管理。 了解详细信息

Linux 和 Windows 支持

  • 让你可以通过智能地加入虚拟机来为 Azure 服务选择最佳做法
  • 让你可以根据 Azure 最佳做法自动配置每个服务
  • 支持通过 VM 最佳做法模板为开发\测试和生产工作负载自定义最佳做法服务
  • 让你可以监视偏移并在检测到它时进行更正
  • 提供了一种简单的体验(指向、选择、设置和忘记)
方案 用户
根据 Microsoft 基线配置自动配置来宾操作系统。

在 VM 的整个生命周期中自动检测偏移并更正偏移。

用于对计算机进行无人参与的管理。
IT 管理员、基础结构管理员、IT 运营管理员负责跨 Azure 和本地管理服务器工作负载、日常管理任务,例如备份、灾难恢复、安全更新、响应安全威胁等。

不希望管理服务器或花费时间处理较低优先级任务的开发人员。

响应自动化工作流中的事件

基于 Azure Policy 的来宾配置

基于 Azure Policy 的 State Configuration 是 Azure 自动化 State Configuration 的下一代。 了解详细信息

可以检查安装的内容:

  • Azure 自动化 State Configuration 的下一次迭代。
  • 对于已知不佳的应用程序、协议证书、管理员权限和代理的健康状况。
  • 对于客户创作的内容。
方案 用户
获取符合性数据,这些数据可包括:操作系统的配置 - 文件、注册表和服务、应用程序配置或状态,检查环境设置。

审核或将设置部署到所有计算机(集)范围,无论是被动地部署到现有计算机,还是在部署新计算机时主动部署到新计算机。

响应策略事件以提供按需修正或持续修正。
中央 IT、基础设施管理员、审核者(云保管人)致力于大规模满足监管要求,并确保服务器的最终状态符合预期。

应用程序团队在发布更改之前验证合规性。

Azure 自动化 - 流程自动化

在云或混合环境中使用图形、PowerShell 和 Python runbook 编排重复流程。 了解详细信息

  • 提供永久性的共享资产,包括用于编排复杂作业的变量、连接、对象
  • 让你可以基于 Azure Monitor 警报或通过 webhook 调用 runbook
方案 用户
响应来自第一方或第三方监视工具(如 Splunk 或 ServiceNow)的系统警报、服务警报或高 CPU/内存警报,创建 ServiceNow 票证基础警报,等等。

混合自动化方案,可在本地服务器(例如 SQL Server、Active Directory 等)上基于外部事件管理自动化。

Azure 资源生命周期管理和治理,包括资源预配、取消预配、添加正确的标记、锁定、NSG 等,具体取决于 Azure Monitor 警报。
熟练使用基于 PowerShell 或 Python 的脚本的 IT 管理员、系统管理员、IT 运营管理员。

Azure 函数

提供用于自动化的无服务器事件驱动计算平台,使你能够编写代码以响应来自各种来源、第三方服务和本地系统的关键事件。 例如,无需担心底层平台的 HTTP 触发器。 了解详细信息

  • 你可以使用各种语言,这样便可使用自己选择的语言(如 C#、Java、JavaScript、PowerShell 或 Python)编写函数,并专注于特定代码片段。 Functions 运行时是一种开源工具。
  • 你可以根据所需的 Function App 缩放要求、功能和资源选择托管计划。
  • 可以通过 Durable Functions 编排复杂的工作流。
  • 应避免可能导致意外超时问题的长时间运行的大型函数。 了解详细信息
  • 在 Function App 中编写 PowerShell 脚本时,必须调整脚本以定义函数的行为方式,例如,它的触发方式、输入和输出参数。 了解详细信息
方案 用户
响应资源上的事件,例如在虚拟机被删除时向资源组基础成本中心添加标签等。

设置计划任务,例如设置在特定时间停止和启动虚拟机的模式、定期读取 Blob 存储内容等。

处理 Azure 警报,以在 CPU 活动峰值达到 90% 时发送团队的事件。

使用 Microsoft 365 等外部系统进行协调。

响应数据库更改。
掌握 C#、F#、PHP、Java、JavaScript、PowerShell 或 Python 等编码语言的应用程序开发人员。

构建无服务器应用程序的云架构师,其中 Azure Functions 可能成为更大应用程序工作流的一部分。

在 Azure 自动化中编排复杂的作业

Azure 逻辑应用

Azure 逻辑应用是一个基于云的平台,用于创建和运行复杂的业务流程工作流,这些工作流集成你的应用、数据、服务和系统。 了解详细信息

  • 让你可以在跨本地、混合和云原生运行的第一方和第三方应用、服务和系统之间构建智能集成。
  • 允许你从包含 450 多个 Azure 连接器并且不断增长的生态系统使用托管连接器,以在工作流中使用。
  • 为企业集成和 B2B 方案提供一流的支持。
  • 以直观的方式创建和编辑工作流的灵活性 - 低代码\无代码方法
  • 仅在云上运行。
  • 提供现成操作和触发器的大型集合。
方案 用户
当发生特定事件时,使用 Office 365 计划和发送电子邮件通知。 例如,上传了一个新文件。

跨本地系统和云服务路由并处理客户订单。

将上传的文件从 SFTP 或 FTP 服务器移至 Azure 存储。

监视推文,分析观点,针对需要查看的项目创建警报或任务。
希望将低代码/无代码选项用于外部系统或 API 的高级集成方案的专业集成商和开发人员、IT 专业人员。

Azure 自动化 - 流程自动化

在云或混合环境中使用图形、PowerShell 和 Python runbook 编排重复流程。 它提供永久性的共享资产,包括用于编排复杂作业的变量、连接、对象。 了解详细信息

方案 用户
Azure 资源生命周期管理和治理,包括资源预配、取消预配、通过从 ITSM 警报触发的 runbook 添加正确的标记、锁、NSG 等。

使用混合辅助角色作为从云到本地的桥梁,从而在本地启用资源\用户管理。

通过自动化 runbook 执行复杂的灾难恢复工作流。

通过 Azure 自动化连接器,将自动化 runbook 作为逻辑应用工作流的一部分执行。
熟练使用基于 PowerShell 或 Python 的脚本的 IT 管理员、系统管理员、IT 运营管理员。

基础设施管理员使用脚本或在本地运行的服务器上执行长期运行的作业(例如月结操作)来管理本地基础设施。

Azure 函数

提供用于自动化的无服务器事件驱动计算平台,使你能够编写代码以响应来自各种来源、第三方服务和本地系统的关键事件。 例如,无需担心底层平台的 HTTP 触发器。了解详细信息

  • 你可以使用各种语言,这样便可使用自己选择的语言(如 C#、Java、JavaScript、PowerShell 或 Python)编写函数,并专注于特定代码片段。 Functions 运行时是一种开源工具。
  • 你可以根据所需的 Function App 缩放要求、功能和资源选择托管计划。
  • 可以通过 Durable Functions 编排复杂的工作流。
  • 应避免可能导致意外超时问题的长时间运行的大型函数。 了解详细信息
  • 在 Function App 中编写 PowerShell 脚本时,必须调整脚本以定义函数的行为方式,例如,它的触发方式、输入和输出参数。 了解详细信息
方案 用户
响应资源上的事件,例如在虚拟机被删除时向资源组基础成本中心添加标签等。

设置计划任务,例如设置在特定时间停止和启动虚拟机的模式、定期读取 Blob 存储内容等。

处理 Azure 警报,可在 CPU 活动峰值达到 90% 时发送团队的事件。

使用 Microsoft 365 等外部系统进行协调。

通过 Azure Function 连接器将 Azure Function 作为逻辑应用程序工作流的一部分执行。
掌握 C#、F#、PHP、Java、JavaScript、PowerShell 或 Python 等编码语言的应用程序开发人员。

构建无服务器应用程序的云架构师,其中一个或多个 Azure Functions 可能成为更大应用程序工作流的一部分。

后续步骤

要了解如何安全地执行自动化作业,请参阅 Azure 自动化中的安全最佳做法