阿里云重磅发布云上自动化利器——运维编排OOS

阿里云重磅发布云上自动化利器——运维编排OOS

常见的运维问题

  1. 人工运维 —— 机械性重复运维,效率地下,错误频发
  2. 工具辅助 —— 无法批量操作,批量运行状态缺乏管理,难以定位错误
  3. 业务发展过快,缺少运维积累,缺乏运维规范
  4. 多人运维缺少权限控制,中心化日志,无法审计
  5. 运维权限过大,增加失误风险,运维变成“背锅侠”

运维演进的三个方向

阿里云重磅发布云上自动化利器——运维编排OOS

  • 第一阶段:纯手工运维。完全依赖手工的方式运维,有时在命令行里面的敲几行命令,有时用鼠标在几个不同的网页上操作,基本上都是靠“前辈”手把手指导,然后就自己上路了,刚开始操作时心中忐忑,生怕“碰坏了”系统。等到操作熟练以后,又容易掉以轻心,最好操作失误,触发故障。
  • 第二阶段:逐步累积了一些运维脚本和一些小工具,帮助完成单一的运维任务。比起第一阶段,完成单一运维任务的效率提高了很多。但是在处理批量任务时,依然力不从心,无法很好地协同状态,协调各个任务之间的状态。脚本的编写往往不够严格,时常遇到错误,导致无法继续使用脚本和工具,需要退回到手工运维。
  • 第三阶段:完整的自动化系统。比起第二阶段,工具和脚本被系统级的自动化软件所取代,自动化的系统提供完备的批量运行,状态监控,日志和身份认证等功能。此类系统可以完成预先设计的自动化功能,随着任务的需求越来越多,系统需要不断升级和维护。 —— 为了方便阿里云的用户,阿里特意打造了云上的自动化运维平台 —— 运维编排服务OOS。

阿里云运维编排服务

阿里云运维编排服务(Operation Orchestration Service,简称OOS)是一个全面的,免费的云上自动化运维平台,提供了运维任务的管理和执行。典型的使用场景包括:事件驱动运维,批量操作运维,定时运维任务,跨地域运维等,OOS特别为一些重要的运维场景提供了审批,通知等功能。通过使用OOS还可以达到标准化运维任务的目的,从而实践运维即代码(Operations as Code)的先进理念。OOS支持跨产品使用,您可以使用OOS管理ECS、RDS、SLB、VPC等云产品。

产品优势

可视化的执行过程和执行结果

通过提供可视化的执行过程,您可以看到完整的执行过程和执行结果,具体包括:

  • 直观地看到各个任务的执行详情、参数和输出。
  • 清晰地看到执行的流程、顺序和错误跳转。
  • 透明地看到从开始到结束的完整执行过程。
    阿里云重磅发布云上自动化利器——运维编排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-StartInstancesByInstanceIds 根据实例ID列表开机
ACS-ECS-StartInstancesByTag 根据实例Tag开机
ACS-ECS-StopInstancesByInstanceIds 根据实例ID列表停机
ACS-ECS-StopInstancesByTag 根据实例Tag停机
ACS-ECS-RebootInstancesByInstanceIds 根据实例ID列表重启
ACS-ECS-RebootInstancesByTag 根据实例Tag重启

更新镜像

为了保证ECS实例的运行环境始终是安全的,包括安装最新补丁,或者更新所依赖的组件等,您可以使用OOS更新镜像,从一个源镜像开始逐步更新,最终生成一个新镜像,然后用于测试和生产。

公共模板

名称 用途
ACS-ECS-UpdateImage 更新镜像

需要审批的运维场景

在很多场景下都需要使用审批来确保操作是安全并符合预期的。通过在模板中增加审批动作(ACS::Approve)可以在运维动作实际执行前进行人工审批,以确保运维动作执行的必要性,避免浪费和误操作。

公共模板

名称 用途
ACS-ECS-BuyCostlyInstancesWithApproval 购买实例时需要先审批
ACS-ECS-DeleteInstancesWithApprovalByInstanceIds 删除实例时需要先审批

定时任务

定时执行所定义的运维动作。例如,在某测试场景中,需要清除某账号下因为测试所产生的对象存储OSS文件,则可以创建一个模板,每天凌晨运行,以确保测试环境是一个全新的环境,避免干扰下一次的测试结果。

公共模板

名称 用途
ACS-ECS-ScheduleToStartInstancesByTag 根据实例ID列表定时开机
ACS-ECS-ScheduleToStopInstancesByTag 根据实例ID列表定时停机

跨地域的运维场景

多地域部署已经成为了高可用(HA)架构的通用架构。随之而来的跨地域运维却变得越来越复杂,使用OOS可以帮助您解决跨地域的运维难题。您可以将不同地域的运维操作定义在一个模板内,即可实现跨地域的运维场景。

多地域的运维场景

当您在使用多个地域资源时,经常需要对它们进行同步操作,以便保持它们的一致性。例如,将对象存储(OSS)的多个地域的存储空间(Bucket)进行相同的操作——开启日志功能。

运维编排(OOS)和资源编排(ROS)

相同之处

阿里云重磅发布云上自动化利器——运维编排OOS

  • OOS和ROS都是通过配置YAML或JSON文件的方式来定义模板的——即编排。编排的内容是资源,即ROS,编排的内容是运维动作,即OOS。
  • OOS和ROS的配置语法是相似的。
  • OOS和ROS都免费的,全托管的云产品,即本身不花钱,但通过OOS和ROS创建的资源是会按照各自的要求收费的。
  • OOS和ROS都是阿里云官方的云产品,提供了统一身份认证,安全审计等功能。对比第三方类似产品而言,阿里云提供的云产品将给您提供更加集成,更加一致的产品。

不同之处

ROS专注计划&部署场景,面向云资源的终态,在部署前需要定义好基础设施的形态,然后通过ROS声明出来,ROS负责帮你创建或更新基础设施资源(即云资源),并达到预期的终态。例如,部署一个网站通常需要部署10台ECS实例,1个SLB和1个RDS。那么需要在ROS声明,10台ECS实例,1个SLB和1个RDS。然后再通过创建ROS Stack的方式来实际创建这些资源,并最终创建完成,最终会有10台ECS实例,1个SLB和1个RDS。

OOS专注动作&运维场景,面向运维过程,完成一次任务,只强调本次任务完成的结果。假设有这样的运维场景,有一个已经运行的网站,因为流量增加而需要增加2台ECS实例,于是我们可以创建一个“新增实例的操作手册”(OOS模板的形态),这个操作手册只关注于此次任务,创建实例,并且挂在SLB下面。OOS不关心最终这个SLB下面有多少台ECS实例,只关心此次增加2台实例的运维任务完成。

阿里云重磅发布云上自动化利器——运维编排OOS

OOS和ROS在DevOps中的位置

阿里云重磅发布云上自动化利器——运维编排OOS

到了该介绍文章开头的图片了,在DevOps的体系中,包括从计划,编码,构建,持续测试,发布,部署,运维和监控的全过程。其中的部署部分又可以分为:环境部署(即基础设施)和应用部署两部分。ROS专注其中的环境部署,常见的环境部署包括这些ECS,VPC,SLB,RDS等。而OOS专注其中的运维,运维不同于部署,部署有相对清晰的概念和范围,而运维的概念相对模糊,范围也更大。运维也包括了非DevOps中的运维,甚至包括了日常的IT运维。OOS支持的运维以云上云产品和其资源为主,同时包括了ECS实例及其内部GuestOS。通过云助手的OpenAPI进行GuestOS的内部运维,如查看磁盘,安装卸载agent,修改配置文件等。

欢迎使用OOS

OOS管理控制台的链接
如果您遇到链接打不开的问题,请复制此链接到您的浏览器导航栏然后打开:
https://home.console.aliyun.com/redirect.htm?productId=ecs&path=automation/region/

OOS帮助文档的链接
OOS客户支持钉钉群:23330931

系列文章

最佳实践

玩转运维编排服务的权限:Assume Role+Pass Role

场景系列

运维编排场景系列----更新ECS镜像
运维编排场景系列-----给ECS实例自动打TAG
运维编排场景系列----从实例中拷贝文件到OSS
运维编排场景系列----给实例加到SLS机器组
运维编排场景系列----检测MFA功能状态
阿里云运维编排新功能:一键批量克隆ECS

上一篇:《Java大学教程》—第23章 Java网络编程


下一篇:大数据时代:基于微软案例数据库数据挖掘知识点总结(Microsoft Naive Bayes 算法)