什么是 Azure 自动化?

以下三个广泛的云运营领域需要自动化:

  • 部署和管理 - 交付可重复且一致的基础设施即代码。
  • 响应 - 创建基于事件的自动化来诊断和解决问题。
  • 编排 - 编排自动化并将它与其他 Azure 或第三方服务和产品集成。

Azure 自动化提供基于云的自动化、操作系统更新和配置服务,用于支持 Azure 环境和非 Azure 环境之间的一致管理。 Azure 自动化包括流程自动化、配置管理、更新管理、共享功能和异类功能。

自动化功能示意图

有多个 Azure 服务可满足上述要求,其中的每个服务包含一组功能,并充当可编程平台用于生成云解决方案。 例如,Azure Bicep 和资源管理器提供一种语言来为 Azure 资源开发可重复且一致的部署模板。 Azure 自动化可以处理该模板以部署 Azure 资源,然后处理一组部署后配置任务。

在部署、操作和解除分配企业工作负载与资源期间,自动化可以提供全面的控制。

过程自动化

利用 Azure 自动化中的流程自动化可以自动完成频繁进行的、耗时的、易出错的管理任务。 此服务使你可以专注于能够让业务增值的工作。 还可以通过自动化来减少错误和提升效率,从而降低运营成本。 在 Azure 自动化中执行 Runbook中详细介绍了流程自动化操作环境。

流程自动化支持将 Azure 服务与部署、配置和管理端到端流程时所需的其他第三方系统相集成。 使用该服务可以创作图形、PowerShell 和 Python Runbook。 若要直接在 Windows 或 Linux 计算机上或者针对本地或其他云环境中的资源运行 Runbook 以管理这些本地资源,可以将混合 Runbook 辅助角色部署到计算机上。

使用 Webhook 可以从 Azure 逻辑应用、Azure Functions、ITSM 产品或服务、DevOps 和监视系统触发自动化,从而满足相关请求并确保持续交付和运营。

配置管理

通过 Azure 自动化中的配置管理,你可使用下面两项功能:

  • Azure 自动化状态配置

Azure 自动化状态配置

Azure 自动化 State Configuration 是一个基于云的功能,适用于为企业环境提供服务的 PowerShell Desired State Configuration (DSC)。 使用此功能可以在 Azure 自动化中管理 DSC 资源,并将配置应用于 Azure 云中 DSC 拉取服务器上的虚拟机或物理机。

更新管理

Azure 自动化包含适用于跨混合环境的 Windows 和 Linux 系统的更新管理。 使用更新管理可以洞察 Azure、其他云和本地的更新合规性。 使用此功能可以创建计划的部署,用于在定义的维护时段内协调更新的安装。 如果不应在计算机上安装某项更新,可以使用更新管理功能从部署中排除该项更新。

共享功能

Azure 自动化提供许多共享功能,包括共享资源、基于角色的访问控制、灵活计划、源代码管理集成、审核和标记。

共享资源

Azure 自动化包含一组共享资源,方便用户大规模地完成环境的自动化操作和配置。

  • 计划 - 在预定义的时间触发自动化操作。
  • 模块 - 管理 Azure 和其他系统。 可将模块导入到适用于 Microsoft、第三方、社区或自定义 cmdlet 和 DSC 资源的自动化帐户中。
  • 模块库 - 支持与 PowerShell 库的本机集成,使你能够查看 Runbook 并将其导入自动化帐户。 利用该库可以快速开始从 PowerShell 库与 Microsoft 脚本中心集成和创作流程。
  • Python 2 和 3 包 - 支持用于自动化帐户的 Python 2 和 3 Runbook。
  • 凭据 - 安全地存储可供 Runbook 和配置在运行时使用的敏感信息。
  • 连接 - 存储用于连接到系统的常用信息的名称/值对。 模块作者将在 Runbook 和配置中定义连接,以便在运行时使用。
  • 证书 - 定义要在身份验证中使用的信息,以及用于保护由 Runbook 或 DSC 配置在运行时访问的已部署资源的信息。
  • 变量 - 保存可在不同的 Runbook 和配置中使用的内容。 可以更改变量值,而无需修改引用这些值的 Runbook 或配置。

基于角色的访问控制

Azure 自动化支持使用 Azure 基于角色的访问控制 (Azure RBAC) 来调控对自动化帐户及其资源的访问。 若要详细了解如何对自动化帐户、Runbook 和作业配置 Azure RBAC,请参阅 Azure 自动化的基于角色的访问控制

源代码管理集成

Azure 自动化支持源代码管理集成。 在可以将 Runbook 或配置签入源代码管理系统的情况下,此功能会以代码的形式提升配置。

异类支持(Windows 和 Linux)

自动化旨在跨 Azure 外部的、企业网络或其他云提供商上的 Windows 和 Linux 物理服务器与虚拟机运行。 它提供一致的方式,用于自动化和配置所部署的工作负荷以及运行这些工作负荷的操作系统。 利用 Azure 自动化的混合 Runbook 辅助角色功能,既可以直接在托管角色的非 Azure 物理服务器或虚拟机上运行 Runbook,也可以对环境中的资源运行 Runbook,从而管理这些本地资源。

该功能通过已启用 Arc 的服务器为非 Azure 计算机提供一致的部署和管理体验。 它可以使用 VM 扩展框架部署混合 Runbook 辅助角色并简化加入到更新管理的过程,从而实现与自动化服务的集成。

常见方案

Azure 自动化支持在基础结构和应用程序的整个生命周期内进行管理。 常见方案包括:

  • 生成和部署资源 - 使用 Runbook 和 Azure 资源管理器模板在整个混合环境中部署虚拟机。 集成到 Jenkins 和 Azure DevOps 等开发工具中。
  • 定期维护 - 执行需要按设定的间隔执行的任务,例如清除陈旧的数据,或者为 SQL 数据库重新编制索引。
  • 响应警报 - 在生成基于成本、基于系统、基于服务和/或资源利用率的警报时编排响应。
  • 混合自动化 - 管理或自动化本地服务器和服务,例如 SQL Server、Active Directory、SharePoint Server 等。
  • Azure 资源生命周期管理 - 适用于 IaaS 和 PaaS 服务。
    • 资源预配和取消预配。
    • 根据业务规则添加正确的标记、锁定、NSG 和 UDR。
    • 资源组创建、删除和更新。
    • 启动容器组。
    • 注册 DNS 记录。
    • 加密虚拟机。
    • 配置磁盘(磁盘快照,删除旧快照)。
    • 订阅管理。
    • 启停资源以节约成本。
  • 监视并集成第一方(通过 Azure Monitor)或第三方外部系统。
    • 确保将资源创建\删除操作捕获到 SQL。
    • 将资源使用数据发送到 Web API。
    • 将监视数据发送到 ServiceNow、事件中心、New Relic 等。
    • 收集和存储有关 Azure 资源的信息。
    • 执行 SQL 监视检查和报告。
    • 检查网站可用性。
  • 开发/测试自动化方案 - 停止和启动资源、缩放资源等。
  • 与治理相关的自动化 - 自动应用或更新标记、锁等。
  • Azure Site Recovery - 编排 Site Recovery DR 工作流中定义的前/后脚本。
  • Azure 虚拟桌面 - 根据利用率编排 VM 的缩放或启动/停止 VM。
  • 配置 VM - 使用基础结构和应用程序的配置评估和配置 Windows 与 Linux 计算机。
  • 检索库存 - 获取已部署资源的完整库存,以确定目标、提供报告和了解合规情况。
  • 查找更改 - 识别并隔离可能导致配置错误的更改,以及可改善运营合规性的更改。 修正更改或将其升级到管理系统。

可将以下一项或多项 Azure 服务集成到 Azure 自动化,或使用这些服务来补充 Azure 自动化,以帮助实现你的要求:

  • 使用已启用 Azure Arc 的服务器,可以简化将混合计算机加入到更新管理以及混合 Runbook 辅助角色的过程。
  • Azure 警报操作组可以在引发警报时启动自动化 Runbook。
  • Azure Monitor 可以从自动化帐户收集指标和日志数据,以便进一步进行分析和处理遥测数据。 更新管理和库存等自动化功能依赖 Log Analytics 工作区来提供其功能元素。
  • Azure Policy 包含计划定义,以帮助为自动化帐户建立不同的安全标准并保持符合这些标准。
  • Azure Site Recovery 可以使用 Azure 自动化 Runbook 来自动化恢复计划。

这些 Azure 服务可以使用 HTTP Webhook 或 API 方法来处理自动化作业和 Runbook 资源:

Azure 自动化的定价

作业计费基于每月使用的作业运行时间数。 作业运行时,将产生进程自动化费用。 使用基本 SKU 创建 Azure 自动化帐户,其中每个订阅的前 500 个作业运行时分钟免费。 您只需为超过 500 分钟免费包含单位的分钟/小时付费。

可以在定价页上查看与 Azure 自动化相关的价格。

后续步骤