自动化即是通过运用工具或系统达到减少、甚至是完全取代人工的操作。以完成一 个云资源的创建为例,完全人工的操作即在控制台上,完全通过鼠标和键盘在网页 上进行操作,以完成资源的创建和购买的目的。
这个创建和购买的过程可能包括 10 个,乃至 20 个以上的操作。而自动化的方式, 即是减少需要的步骤,从 20 个步骤,减少到 10 个,进而减少到 5 个,3 个,甚至 1 个,最终可以一键完成一个自动化操作。这依然需要人工来触发整个自动化的流 程,再进一步,则可以自动触发。如在流量高峰时段,自动创建服务器并部署应用 就是一个完全的,100%的自动化的例子,整个过程无需人工参与。
自动化的业务价值整体可以归纳如下:
降低成本,提升效率:现代 IT 的核心特点即是快,天下武功,唯快不破,效率 提升,永无止境。而达成效率提升的最佳手段即在于将重复的、低效的、容易出 错误的人工操作转变为自动的、高效的、稳定的自动化操作,同时也将降低员 工所需要付出的时间等成本。
减少人工错误:当需要人工不断重复地、机械性地完成一项工作时,非常容易 造成疲劳,疲倦,从而操作粗心造成错误,很多云上的大事故,都是因为人工的 不当操作而造成的。甚至是在故障的处理过程中,因为缺乏标准流程或标准自 动化工具,进而导致更大的故障。
提升员工满意度:大概没有人会喜欢这种重复的、机械的人工操作,尤其是还 可能造成重大事故的情况下。因此提升自动化,则可以提升员工的满意度甚至 是幸福感,进而可以提升运维(Ops)的乐趣,让员工可以快乐地工作。
任何事物的成功都离不开客观的数字化,以及相关的衡量指标。依据指标可以清晰 地看到自己所处的自动化阶段,自动化的应用程度,以及未来继续发展的方式和目 标。
统计出日常工作中所需要的所有和开发及运维相关的操作,然后看看其中多少的操 作已经是自动化完成的,多少操作是半自动化所完成的,多少操作是手工所需要完 成的,分别占比多少,最终可以形成一个全局的饼图。
毋庸置疑,自动化的操作速度远大于手工操作。如能记录完成操作所需要的时间, 再进行自动化前和自动化后的对比,便可轻易地看出自动化的价值所在。尤其是频 繁,复杂的操作,业务价值的体现则会更加明显。现代 IT 中最为频繁的操作为:
环境部署(Infrastructure)
环境配置(Configuration Management)
应用部署和配置(Application Deployment)
日志、报警或故障处理
从报警发生到故障被解决,系统被恢复的时间,称之为平均修复时间(Mean Time
To Repair),它的公式如下:
平均修复时间=总故障时间÷总故障次数
举例来说,假设一年的总共故障时间是 100 小时,总的故障次数是 12 次,则平均 修复时间为 8.3 小时。进一步,则可以根据故障的分类,模块,根因等进行分类, 分别进行统计。
特别说明:在严格的情况下,请注意平均修复时间和平均恢复时间的稍许区别,前 者不包括从故障实际发生到报警的时间,只是包括故障已经被发现,并且开始进行 故障修复的时间,而平均恢复时间包括两者:从故障实际发生到故障报警,和故障 报警到故障修复的时间。通常来说,故障报警所需要的时间相当于修复所需的时间 而言较短,且占比较少,因此在宽松的语境下,两者会被混用。
自动化能力的构建应该按照正式的产品和项目进行,同样需要需求管理,调研,设 计,研发,测试和部署等必要的环节,并保持持续迭代。而部署后的环境同样需要 具备健康管理,从而进行监控,报警,故障和修复等。必要时,进行整体性的优化, 改造和升级。
除此之外,现代化的自动化还应该考虑以下需求:
完备的角色管理和授权体系:毋庸置疑的是,自动化能力将会涉及到所有系统 的所有环节,包括核心业务系统,机密数据等操作。越是重要的系统应该越依 赖自动化能力而非手工方式,因为人工的处理存在种种的弊病,如因为粗心导 致的失误操作等。因此,完备的角色管理和授权体系可以保证重要业务持续运 行,以及保证机密数据的安全性。
具备审计能力:所有的自动化都应该具备可以被审计的能力,尤其是当所操作 的对象是核心业务或机密数据时,更依赖审计能力去保证其安全。其次审计能 力也有利于自动化系统本身故障的排查。Cloud 上的云产品大多已经接入了 Cloud 上的审计服务,应该开启这类服务,并时常检查数据的完整性,保证关键 的操作都被记录了下来。
标准化和平台化:统一的自动化能力是其他特性的重要依赖,标准化和平台化 的目的都是为了统一。统一性的管理也有助于平台自身的建设,尤其应该避免 建设多个自动化平台。统一的自动化平台也有利于公司统一进行监督和扩展, 如要修改审核规则时,更容易落实规则。
弹性伸缩
使用场景:当服务器数量需要进行弹性化管理时。
弹性伸缩服务:弹性伸缩(Auto Scaling)是根据业务需求和策略自动调整计算能力(即实例数量)的服务。您可以指定实例的类型,即 ECS 实例或 ECI 实例。在业务需求增长时,弹性伸缩自动增加指定类型的实例,来保证 计算能力;在业务需求下降时,弹性伸缩自动减少指定类型的实例,来节约 成本。弹性伸缩不仅适合业务量不断波动的应用程序,同时也适合业务量稳 定的应用程序。
部署模版
使用场景:当需要具备完全自动化的部署能力时,甚至可以达到一键部署。
资源编排服务 ROS:资源编排服务 ROS(Resource Orchestration Service) 是阿里云提供的一项简化云计算资源管理的服务。开发者和管理员可以编 写模板,在模板中定义所需的阿里云资源(例如:ECS 实例、RDS 数据库实 例)、资源间的依赖关系等。ROS 的编排引擎将根据模板自动完成所有资源的创建和配置,实现自动化部署及运维。
事件驱动
使用场景:当某个特定的事件发生时,应该触发的自动化任务。
说明:事件的来源可以来自 Cloud 的云产品和服务器,也可以主动发送自 定义事件。通常 Cloud 本身关注的是基础设施(Infrastructure)层,而自定义事件则多是业务系统和业务逻辑层。当事件发生时,可以触发启动相关的 自动化任务,如自动检查,自动修复,或者通知某运维人员。事件通知内通 常都会包括一些简单扼要的关键信息,如包括实例 ID 等,这类可以提取出 来作为自动化任务的参数。
报警驱动
使用场景:当需要根据监控报警触发自动化任务时。
说明:和上述场景类似,区别在于这里的触动来源是报警。通常也可以分为Cloud 提供的基础设施(Infrastructure)层的报警和业务系统和业务逻辑层 的报警。并以此为触发来源,触发自动化相关的任务。
定时运维
使用场景:当需要在预定的时间开始执行的任务。
说明:和上述场景类似,区别在于这里的触动来源是根据预设的时间,通常允许按日,按周,按月等周期性定时运维。
适合通用的云上运维工作流编排引擎,且应该具备以下能力:
编排任何云产品 Open API 的能力,包括打通服务器内部和容器内部。
丰富的控制手段:并发控制,批量控制,错误控制,暂停控制。
必要的审批环节:事先审批,事中审批,事后通知。
支持多种触发方式:定时触发、事件触发、报警触发,手动触发。
支持代码化,集成版本控制系统如 Git 即可完成版本管理,以及 GitOps, Ops as Code 等先进运维理念。
阿里云运维编排 OOS 即是这样一款具备以上能力的自动化运维平台。
因此应该具备打通服务器内部运维的能力:
包括图形化的操作方式,尤其是 Windows 用户。
包括命令行的操作方式,适合 Linux 系统。
应该支持基于 OpenAPI 的命令式执行,方便二次开发。
应该支持所有操作的审计能力,确保操作的安全性和合规性。
基础能力、原子能力
当以上的云产品都无法满足自动化需求时,或需要的自动化能力非常灵活时,则可以依赖最基础的能力,云产品的原子能力 —— OpenAPI、SDK 和 CLI。
Cloud 厂商提供的 SDK 应该是使用 OpenAPI 的第一选择,SDK 不仅给 OpenAPI 的 调用提供了方便,更包含了诸多 API 调用的最佳实践等,根据二八原则,如默认配 置应该可以满足 80%的场景。
除此之外,Cloud 厂商提供的 CLI 也是不二选择,当需要在 Shell 或脚本语言中快速 集成时,或者当需要构建一个 PoC 类型的自动化项目时,直接使用 CLI 就可以快速 达成目的。且 CLI 的语法相对而言比较简略,因此更容易上手。
《CloudOps云上自动化运维 白皮书2.0》系列文章一:前言:提出CloudOps成熟度模型CARES
《CloudOps云上自动化运维 白皮书2.0》系列文章二:CloudOps的主要衡量纬度和定义
《CloudOps云上自动化运维 白皮书2.0》系列文章三:CloudOps成熟度模型整体及等级说明
《CloudOps云上自动化运维 白皮书2.0》系列文章五:弹性能力Elasticity
《CloudOps云上自动化运维 白皮书2.0》系列文章六:可靠性能力Reliabilty
《CloudOps云上自动化运维 白皮书2.0》系列文章七:安全和合规能力Security
《CloudOps云上自动化运维 白皮书2.0》系列文章八:成本和资源量化管理能力Cost
《CloudOps云上自动化运维 白皮书2.0》系列文章九:CloudOps成熟度模型全景图
《CloudOps云上自动化运维 白皮书2.0》系列文章十:CloudOps成熟度自评
各位产业专家、引领浪潮的创业者们,阿里云正在进行“客户云支出趋势”的调研,完成10题问卷(仅需2~3分钟,每家企业限填一次),即有机会获得小礼品!
问卷请见链接:https: //survey.aliyun.com/apps/zhiliao/wvN2aaIiA
也可扫码:
2023年9月21日,阿里云正式推出阿里云创业者计划,联合知名投资机构、加速器、创服机构以及大企业创新力量,旨在为初创企业提供全方位的赋能与服务,助力创业公司在阿里云上快速构建自己的业务,开启智能时代创业新范式。