阿里云运维编排服务(Operation Orchestration Service,简称OOS),是阿里云提供的云上自动化运维服务,能够自动化管理和执行任务。您可以通过模板来定义执行任务、执行顺序、执行输入和输出,然后通过执行模板来完成任务的自动化运行。OOS支持跨产品使用,您可以使用OOS管理ECS、RDS、SLB、VPC等云产品。
执行模式
OOS支持多种运行模式,包括自动化、半自动化和交互式,帮助您完成多样化的运行任务。
应用场景
常见应用场景包括:重复的运维任务,事件驱动的自动化场景,定时和批量的运维场景,跨地域的运维场景,需要审批的特殊场景等。OOS还可以作为运维任务的标准化平台,将运维手册、操作手册和维护手册等转化成模板,实现运维即代码(Operations as Code)的方式。
费用说明
OOS本身不收费,不过如果通过OOS创建付费的云产品资源,对应的云产品会根据其收费标准进行收费,具体收费标准可参考相关云产品定价。
使用步骤

产品优势
OOS可以帮助您更好地规范、管理和执行自动化运维操作。您以模板的方式定义所需要进行的操作,然后再通过系统运行,从而提高整体运维操作的效率、增强运维操作的安全性,并降低手工运维的错误。本文介绍OOS的主要优势。
可视化的执行过程和执行结果
通过提供可视化的执行过程,您可以看到完整的执行过程和执行结果,具体包括:
- 直观地看到各个任务的执行详情、参数和输出。
- 清晰地看到执行的流程、顺序和错误跳转。
免费的全托管自动化
提供全托管的自动化执行,即无服务器(Serverless)的自动化执行。执行过程无须消耗和使用您的计算资源(如ECS实例),即可满足创业型公司、中小型企业以及大型企业客户的自动化运维需求。完全的自动化模式下无需人工守护,让您更加专注于业务的高速增长。
高效的批量管理
传统场景下,执行批量任务相比执行单一任务的管理复杂度大幅增加,OOS可以帮助您提供实时的进度管理、运行状况统计和快速的错误定位,从而提高整体的运维效率。
完备的鉴权和审计
您可以继续使用熟悉的资源访问管理和用户权限管理系统(RAM)来管理OOS,无论是运维编排自身的操作,还是通过运维编排执行的对其他云产品的操作,均支持鉴权和审计。您无需担心操作的安全。
快速模板构建能力
OOS提供高易用性的模板构建能力,您无需从零开始构建。OOS提供了热门云产品的快速集成能力云产品动作,帮助您快速地构建模板,降低模板编写的难度,提高整体运维的效率。同时,OOS为常见的运维场景提供了公共模板,您可以选择一个类似的模板快速地复制和修改,以便满足您独特的运维需求。
跨地域、多地域的运维能力
因为业务的需要您可能使用了多个地域的资源,普通的运维操作只能在一个地域内单独操作,而OOS同时提供了跨地域和多地域的运维能力。多地域运维时,可以利用OOS的任务循环,能够快速地覆盖多地域。跨地域运维时,只需要指定对应Action的RegionId即可。
标准化运维任务(Operations as Code)
将日常所需要的运维任务以模板的方式提供,并遵循代码(Code)的管理方式来管理模板。从创建到审核,再同步到生产账号中,后续的运维任务只从标准模板中选择运行,确保运维动作的安全,像源代码一样的规范,并以此完成运维即代码(Operations as Code)的最佳实践。
运维权限收敛(委托授权)
运维人员的权限管理非常地复杂,太大的权限意味着太高的风险,太小的权限又无法完成运维操作,如何可以让运维人员完成运维任务,同时又避免他进行非预期的操作。OOS提供了委托授权模式,具有高权限的管理人员编写OOS模板,并配置固定的role,此时即完成了委托授权。然后将执行此模板的权限开放给其他低权限的运维人员,即可完成运维任务,又避免了高权限的风险。
应用场景
OOS的常见应用场景有:事件驱动、批量操作、更新镜像、需要审批的运维场景、定时任务、跨地域、多地域的运维等应用场景,且您也可根据自身实际场景自定义诸多灵活多样的模版。
事件驱动
当一个事件发生时,触发一个运维动作。例如,当某ECS实例的CPU使用量达到了85%时,为了防止业务中断,自动重启。事件驱动场景可以提供主动运维支持,免去中间的人为因素,提高运维效率。
批量操作
批量地执行运维命令,即需要针对多个目标(如ECS实例)进行常规操作,以确保业务的正常和平滑运行,并保持业务的健康状态。
例如,批量检查ECS实例中的硬盘剩余空间。首先选择需要检查的实例列表。(多种选择方式,如名字匹配、标签分组、资源组分组等),然后通过云助手命令执行硬盘检查,最终统一查看结果。
相关的公共模板
模板名称 | 用途 | 链接 |
---|---|---|
ACS-ECS-BulkyDeleteInstances | 批量删除ECS按量付费实例。 | YAML JSON |
ACS-ECS-BulkyDeleteInstancesWithApproval | 通过审批后删除ECS按量付费实例。 | YAML JSON |
ACS-ECS-BulkyDeletePrepaidInstances | 批量删除ECS预付费实例。指定的ECS实例必须处于已停止状态。 | YAML JSON |
ACS-ECS-BulkyInstallLogAgent | 批量在ECS实例上安装SLS代理。 | YAML JSON |
ACS-ECS-BulkyRebootInstances | 批量重启ECS实例。 | YAML JSON |
ACS-ECS-BulkyRunCommand | 批量在多台ECS实例上运行云助手命令。 | YAML JSON |
ACS-ECS-BulkyStartInstances | 批量启动ECS实例。 | YAML JSON |
ACS-ECS-BulkyStopInstances | 批量停止ECS实例。 | YAML JSON |
ACS-ECS-BulkyTagInstanceByLinuxKernelVersion | 批量通过指定实例IDs将Linux内核版本用作标记值标记ECS实例。 | YAML JSON |
ACS-ECS-BulkyTagInstanceByOSType | 批量通过指定实例IDs将操作系统类型用作标记值标记ECS实例。 | YAML JSON |
ACS-ECS-BulkyTagInstanceByRunCommandResult | 批量根据运行云助手命令的结果标记实例。 | YAML JSON |
ACS-ECS-BulkyUpgradeInternetBandwidth | 批量升级ECS实例公网带宽。 | YAML JSON |
ACS-ECS-CloneInstancesAcrossAZ | 跨可用区克隆ECS实例。 | YAML JSON |
ACS-ECS-CloneInstancesAcrossRegion | 跨地域克隆ECS实例。 | YAML JSON |
更新镜像
为了保证ECS实例的运行环境始终是安全的,包括安装最新补丁,或者更新所依赖的组件等,您可以使用OOS更新镜像,从一个源镜像开始逐步更新,最终生成一个新镜像,然后用于测试和生产。
相关的公共模板
模板名称 | 用途 | 链接 |
---|---|---|
ACS-ECS-UpdateImage | 通过运行命令更新一个已存在的ECS镜像后创建一个新ECS镜像。 | YAML JSON |
需要审批的运维场景
在很多场景下都需要使用审批来确保操作是安全并符合预期的。通过在模板中增加审批动作(ACS::Approve)可以在运维动作实际执行前进行人工审批,以确保运维动作执行的必要性,避免浪费和误操作。
相关的公共模板
模板名称 | 用途 | 链接 |
---|---|---|
ACS-ECS-BulkyDeleteInstancesWithApproval | 通过审批后删除ECS按量付费实例。 | YAML JSON |
ACS-ECS-RunInstancesWithApproval | 通过审批后创建ECS实例。 | YAML JSON |
定时任务
定时执行所定义的运维动作。例如,在某测试场景中,需要清除某账号下因为测试所产生的对象存储OSS文件,则可以创建一个模板,每天凌晨运行,以确保测试环境是一个全新的环境,避免干扰下一次的测试结果。
相关的公共模板
模板名称 | 用途 | 链接 |
---|---|---|
ACS-ECS-ScheduleToRebootInstances | 定时重启ECS实例。 | YAML JSON |
ACS-ECS-ScheduleToStartInstances | 定时启动ECS实例。 | YAML JSON |
ACS-ECS-ScheduleToStopInstances | 定时停止ECS实例。 | YAML JSON |
ACS-ECS-ScheduleToUpgradeInternetBandwidth | 定时升级ECS实例临时带宽。 | YAML JSON |
跨地域的运维场景
多地域部署已经成为了高可用(HA)架构的通用架构。随之而来的跨地域运维却变得越来越复杂,使用OOS可以帮助您解决跨地域的运维难题。您可以将不同地域的运维操作定义在一个模板内,即可实现跨地域的运维场景。
相关的公共模板
模板名称 | 用途 | 链接 |
---|---|---|
ACS-ECS-CloneInstancesAcrossAZ | 跨可用区克隆ECS实例。 | YAML JSON |
ACS-ECS-CloneInstancesAcrossRegion | 跨地域克隆ECS实例。 | YAML JSON |
多地域的运维场景
当您在使用多个地域资源时,经常需要对它们进行同步操作,以便保持它们的一致性。例如,将对象存储(OSS)的多个地域的存储空间(Bucket)进行相同的操作——开启日志功能。