带你读《云上自动化运维宝典》——如何使用OOS有效进行云上自动化运维(1)

简介: 带你读《云上自动化运维宝典》——如何使用OOS有效进行云上自动化运维(1)

弹性计算技术公开课——CloudOps云上运维季圆满结束了,阿里云弹性计算技术专家郑大禹在本次系列课程中带来了主题为《使用OOS进行云上自动化运维》的课程分享,课程内容涵盖云上资源运维面临的挑战、OOS 自动化运维能力揭秘、使用 OOS 云上 CloudOps 实践等方向。

 

以下是他的课程内容整理,供各位开发者学习:

 

image.png

1. 云上资源运维面临的挑战

image.png

云上资源有如下特点,首先是规模大,用户不需要建立自己的基础设施,可以理论上无限的购买所需要的云资源。另外,由于云上资源的弹性,用户可以根据自身的需求,随时随地的获取所需的云资源。这些都造成云上资源会比自建的基础设施规模更大。其次就是云上资源种类多。除了传统的计算,存储,网络资源外,云上提供了更多样化的服务。例如数据库,消息队列、人工智能 ai、物联网等多种类型的资源。

 

用户可以根据自身的需求购买相应的资源,省去了自身搭建的繁琐流程。由云上提供了各种类型的云服务,使得用户能专注于开发业务自身的逻辑。越来越多的技术架构下沉到云资源层。这一方面让用户无需关注基础设施的维护与管理,同时也使得云上资源的场景变得更加复杂。

 

正是由于云上资源的这些特点,资源的运维在效率,成本,安全等方面也面临着相应的挑战。

1) 云资源规模快速增长

 

image.png

 

首先,云资源规模在快速的增长。云资源规模会随着业务的发展快速增长,企业需要管理更多的与计算,存储,网络等资源,这将大大增加运维的复杂性,需要企业投入更多的时间和人力资源来管理监控这些资源。企业需要建立有效的运维流程和工具,以提高资源的运维效率和可靠性。

 

下面以某云账号下的云资源规模为例,在开始的阶段,业务处于启动期,只需要几台 ECS 实例部署 web 服务就可以满足需求。时期云资源的增长比较平稳。采用一些手动运维的方式或者简单运维脚本的方式就能完成这些少量资源的管理。

 

但是随着业务的发展,提供的服务更多,包括 API 大数据服务,资源规模呈指数限制增长。如果采取和之前相同的运维方式需要的人力也在积极增长。这时如何通过自动化的方式将之前少量资源下的运维经验批量复制到大致大量资源上,从而提高运维效率是一个挑战。

2) 云资源成本也在快速的增长

image.png

 



云资源成本随着资源规模相应增长,企业需要进行有效的成本管理和优化,包括分析和监控资源的使用情况,采用适当的成本节约测试,比如节省停机模式,临时带宽升级等。与此同时,如何自动文化的将这些成本优化、运维措施应用起来,也成为了一个挑战。

 

在某云账号下的云资源成本为例,在开始的阶段企业仅引入了少量的 ecs 云资源,通过一些应用,一些成本优化的最佳实践方式能够降低云资源的整体成本。但随着业务的发展,引入了更多比如 ecs 资源或者其他云资源,包括例如数据库,消息队列等,需要对新引入的资源持续的进行成本优化。可以看到云资源的成本呈现了波动上涨的趋势。

 

这时如何通过提升云资源的利用率,降低成本,自然也成为了另一个挑战。同时,如何通过将之前成本优化的经验自动推广到新引入的资源上,避免人工优化,也是一个关键点。

 

3) 安全合规问题日益重要

 

image.png

 

云上的安全合规问题包括数据泄露,滥用服务系统漏洞、帐号劫持,拒绝服务攻击,不安全应用接口等。其实针对这些安全合规问题,云上已经有了不少的最佳事件。

 

比如随着云资源规模的增长,企业需要定期进行系统漏洞的管理,更新和升级系统的补丁、修复已知的安全漏洞。针对一些公司或者行业的合规要求,企业需要定期对云资源进行合规性检查,修复不合规的资源。

 

例如,某些行业对可靠性要求高,需要进行多可用区,甚至跨地域的容灾,企业就需要根据合规要求,对相应的云资源进行检查。如果资源不满足容灾要求还有进行相应的修正。整个过程耗时耗力,如何对部分安全合规要求进行自动的检查,并对不合规的资源进行自动修正,又成为了云上运维的又一挑战。

 

4 CloudOps 最佳实践如何落地

 

image.png

 

虽然云上绝大部分的运维操作已经封装成了 open api,但是这些最佳实践的场景往往不是简单的一个 api 的调用,或简单的云上云操作。它是一系列运维操作的组合,如何将众多的最佳实践自动化的应用到云资源上这将成为一个命题,OOS 运维编排服务正式提供了这样一种任务编排能力的平台。

2. OOS 自动化运维能力揭秘

 

image.png

 

简单介绍一下 OOS 服务,运维编排服务简称 OOS,是全面免费的云上自动化任务编排平台提供了自动化任务的管理和执行,作为平台提供了一系列自动化和半自动化的平台能力实,践基础设施运维及代码的 cloud office as Code 的理念。

 

首先在自动化能力方面, OOS 提供了批量操作,跨地域操作条件控制,并发控制等能力使得运维任务能够在多地域大批量资源等复杂场景下,高效稳定的运行。其次,OOS 也支持审批,暂停等半自动化功能。

 

例如对一些重要的运维操作,有些情况下会需要相关的或需要关键人员的审批通过才能执行,这是可以在 OOS 任务流程中加入审批步骤,通知相关人员进行审批,审批之后再自动执行。另外,对于一些无法自动化的步骤 OOS 也支持暂停操作,有相关的人员人工确认后再执行自动化操作,那么 OOS 还支持多种的触发类型,包括立即操作,定时操作,靠近触发操作事件驱动操作。

 

比如,如果我想现在立刻执行某个命令,就可以采用一级操作,这也是默认的方式。然后如果想明天晚上 8 点执行命令或者是每天晚上 8 点执行命令,这种周期性的操作或者延迟操作可以采用定时操作,如果我想针对一些云监控的告警条件。

 

比如当 CPU 使用量高于 80%的时候,进行一些清理的操作,或者是当磁盘到使用量高于 80%的时候删掉一些不必要的文件,这时可以使用告警触发操作事件驱动操作,是结合我们云监控的事件,以 ECS 事件为例。

 

当在 ECS 启动的时候来进行一些初始化的操作,这时可以采用事件操作,OOS 是在这些能力的基础上提供了托管服务稳定,可靠,无需用户在 ECS 或者产品中进行安装配置,OOS 支持编排 70 多种常用阿里产品,提供 200 多运维任务场景,公共模板开箱即用,此外, OOS 所有的运维操作都可以在 action trio 中审计保障用户的审计需求。

 

image.png

 

基于上述的平台能力 OOS 构建了强大的 api 编排能力,以启动 ECS 实例并安装软件为例,在我们常用的运维方式需要先通过 start instance 启动示例。因为 star instance 集中实例是一个异步的过程,所以必须要等实例是运行中的状态才能在后续进行安装软件的操作。

 

所以需要通过不停的 describe instance 来检查实例的系统状态。然后直到实例的状态是运行中,此时再通过 come on 的运行命令的 API 进行安装软件的命令。安装命令过程也是一个异步过程。所以我们需要通过不停的轮询来等待命令执行完成。在命令执行完成之后还需要通过一个 api described invocation result 来查询命令的结果输出,来确定命令是否按照我们期望来执行。

 

OOS 的任务流程中,将第一部分启动实例以及等待实例启动过程的分装成一个云产品动作,就是 ACSECSStartInstance在过程中,它既完成了启动成立的过程。同时它会等待实例已经是运行中,当动作完成状态,可以立即来进行运行命令的操作,无需再等待。然后同时进行安装命令动作,并等待命令执行完成,最终把结果输出。

 

当这两个动作完全执行完成之后,现在的结果就会输出到任务的输出中,这样就能够一眼的看到命令是否按预期来执行,不用来维护复杂的流程。

 

image.png

 

平台能力和 api 编排能力的基础上后来是构建出了丰富的运维场景。包括常用运维任务、批量操作实例、批量管理软件、定时开关机、带宽临时升级、创建和更新镜像、清理磁盘,这些常用运维任务都是我们在收集用户的使用场景的基础上,抽象出来最常用的,这些通用的运维任务,把它提取出来,放在 OOS 的控制台。

 

同时,对这些操作的流程进行一些优化。另外, OOS 在提供这些基础能力的基础之上,还提供一些辅助场景的能力,包括软件包管理,参数管理,配置清单,补丁管理。软件包管理是在实例中安装阿里云 agient 或者软件包管理工具可管理的软件。

 

同时软件包还支持企业将自己的软件上传到 OOS ,通过软件包进行版本管理来安装到对应的 ecs 实例,参数管理提供对参数的存储管理服务,支持文本数据和加密数据两种格式.加密数据这边采用了 MS 来保障加密的安全。配置清单是能够获取云服务器的 OOS 内部的一些信息,这些信息无法通过API来获取。

 

例如系统内软件包的安装的信息,另外还有系统中文件的一些信息,包括文件的大小,文件的更新时间。这些也都是无法通过API 获取。

 

所以这些信息我们是可以通过配置清单来获取,很自然的场景以刚才软件安装的信息为例,我们可以通过筛选一些未安装软件的实例,或者是安装的是软件的低版本的示例进行更新,把软件更新到最新的一个版本.

补丁管理是会对 ECS 实例的补丁系统补丁进行扫描或安装。

 

用户可以根据自己的需要灵活的设置补丁的扫描安装条件。比如在安装中只安装某个操作系统版本的补丁,比如只安装 windows2022 的操作系统,专门的补丁或者只安装中高危补丁,这样能够满足用户自定义的安装需求。


更多精彩内容,欢迎观看:

带你读《云上自动化运维宝典》——如何使用OOS有效进行云上自动化运维(2):https://developer.aliyun.com/article/1405368

相关实践学习
2分钟自动化部署人生模拟器
本场景将带你借助云效流水线Flow实现人生模拟器小游戏的自动化部署
7天玩转云服务器
云服务器ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,可降低 IT 成本,提升运维效率。本课程手把手带你了解ECS、掌握基本操作、动手实操快照管理、镜像管理等。了解产品详情: https://www.aliyun.com/product/ecs
相关文章
|
2月前
|
运维 Linux Apache
,自动化运维成为现代IT基础设施的关键部分。Puppet是一款强大的自动化运维工具
【10月更文挑战第7天】随着云计算和容器化技术的发展,自动化运维成为现代IT基础设施的关键部分。Puppet是一款强大的自动化运维工具,通过定义资源状态和关系,确保系统始终处于期望配置状态。本文介绍Puppet的基本概念、安装配置及使用示例,帮助读者快速掌握Puppet,实现高效自动化运维。
63 4
|
2月前
|
运维 监控 安全
构建高效运维体系:从监控到自动化的全面指南在当今数字化时代,运维作为保障系统稳定性和效率的重要环节,其重要性不言而喻。本文将深入探讨如何构建一个高效的运维体系,从监控系统的搭建到自动化运维的实施,旨在为读者提供一套完整的解决方案。
本文详细介绍了高效运维体系的构建过程,包括监控系统的选择与部署、日志分析的方法、性能优化的策略以及自动化运维工具的应用。通过对这些关键环节的深入剖析,帮助运维人员提升系统的可靠性和响应速度,降低人工干预成本,实现业务的快速发展和稳定运行。
|
2月前
|
存储 运维 Cloud Native
阿里云国际CloudOps的优势和云上运维的特点
阿里云国际CloudOps的优势和云上运维的特点
|
3月前
|
运维 Ubuntu 应用服务中间件
自动化运维:使用Ansible进行配置管理和任务自动化
【9月更文挑战第27天】在现代IT基础设施中,自动化运维是提高效率、减少人为错误和确保系统一致性的关键。本文将介绍如何使用Ansible,一个流行的开源IT自动化工具,来简化日常的运维任务。我们将探索Ansible的核心概念,包括它的架构、如何安装和使用它,以及一些实际的使用案例。无论你是新手还是有经验的运维专家,这篇文章都会提供有价值的见解和技巧,以帮助你更好地利用Ansible实现自动化。
|
3月前
|
运维 监控 关系型数据库
自动化运维:编写基本的自动化脚本
自动化运维:编写基本的自动化脚本
57 1
|
5月前
|
运维 测试技术 调度
自动化测试框架的设计与实现自动化运维的利器:Ansible Role 实践指南
【7月更文挑战第31天】随着软件开发周期的缩短和迭代速度的加快,手动软件测试已难以满足效率与质量的双重需求。本文将深入探讨如何设计并实现一个高效的自动化测试框架,以提升测试工作的效率和准确性。我们将通过具体的代码示例,展示框架的核心组件和实现逻辑,帮助读者理解自动化测试框架的构建过程及其在实际项目中的应用价值。
51 5
|
4月前
|
弹性计算 运维 监控
通过阿里云OOS“快速设置”快速配置多地域运维任务
阿里云OOS的快速设置功能助力用户简便配置多地域运维任务,如云监控安装、配置收集与补丁扫描,定时开关机,周期性带宽升级,实现自动化管理,确保配置一致性,提升运维效率。
|
5月前
|
运维 监控 安全
云上智能监控:引领未来安防与运维的新纪元
通过智能视频分析技术自动识别违章行为(如闯红灯、超速等)并触发报警机制。同时结合交通流量监测和信号灯控制功能实现交通流量的优化和拥堵缓解。 智能零售监控:在零售行业中云上智能监控可以应用于店铺的客流统计和商品管理。
|
5月前
|
人工智能 运维 自然语言处理
|
5月前
|
运维 监控 Serverless
探索Serverless高可用架构:云上极简运维的新篇章
随着云计算的快速发展,Serverless 架构因其无需管理服务器、按需自动扩展等优势,逐渐成为企业应用构建的重要选择。阿里云提供的 Serverless 高可用架构解决方案,通过结合多种云服务,提供了强大的高可用性和自动化运维能力。本文将评测阿里云 Serverless 高可用架构的核心功能、优势及其应用场景,帮助读者更好地理解和使用这一解决方案。