运维工作新时代:自主编码实现运维自动化的转型之旅

💡 原文中文,约9300字,阅读约需23分钟。
📝

内容提要

本文介绍了运维自动化的重要性、挑战和实现方法,以及一个支持编码实现自动化的平台。通过编码实现运维自动化可以提高效率、降低风险、节约成本,并促进个人成长和发展。文章还介绍了运维自动化的步骤、示例和相关问题的解决方案。最后,介绍了麒麟平台的功能和现状。

🔎

延伸解读

运维自动化率:量化转型效果的关键指标

文章提出了运维自动化率指标,计算公式为自动化操作次数除以手工操作次数与自动化操作次数之和。该指标以技术保障部门所有运维人员为统计范围,通过对比泰山麒麟平台自动化操作与堡垒机手工操作的比例,客观反映自动化水平。从Q2的3%提升至目前的63%,表明该指标能有效驱动运维团队减少手工操作,提升效率和稳定性。

自主编码:运维团队为何要自己开发工具

文章指出,各运维小团队曾各自开发独立工具,导致平台林立。让运维人员自主编码实现自动化,能降低与平台方的沟通成本,快速响应业务变化,节约公共维护成本,并促进个人技术成长。泰山麒麟平台通过提供代码模板和CRD扩展,使运维人员只需关注业务逻辑,无需处理通用属性和集成工作。

接入流程与执行模式:从开发到发布

接入泰山麒麟平台需先联系管理员创建运维系统菜单并获取鉴权文件,然后在开发者模式中新建自定义原子并维护字段,再基于代码模板编写Controller。开发完成后可部署在行云容器中,发布并授权给其他运维人员使用。平台支持单个功能执行和运维编排两种模式,执行后可查看参数、过程、结果和日志。

平台现状与成果:已接入多个核心产品

截至目前,技术保障部内多个运维团队已将JMQ、JIMDB、LogBook、ChubaoFS、数据库、对象存储、图片服务和应用运维等产品接入麒麟平台。其中ChubaoFS已实现43个运维功能原子和18个运维编排自动化任务,每周平均执行约500次。平台通过扩展Kubernetes CRD,支持声明式API和基础设施即代码理念,简化了运维开发工作。

❓

Q&A

运维自动化率是怎么计算的?

运维自动化率 = 自动化操作次数(通过泰山麒麟) / 手工操作次数(通过堡垒机登录) + 自动化操作次数。其中分子是通过泰山麒麟进行的自动化操作次数,分母是手工操作次数加上分子。

为什么运维人员要自主编码实现自动化,而不是由平台方统一开发?

因为运维人员最了解自己的需求,自主编码可以降低沟通成本、快速响应需求、节约维护成本,并助力专业成长。具体来说,运维团队可以根据业务需求和环境特点开发定制化工具,无需等待平台方排期,同时只需关注业务逻辑,公共部分由平台维护。

接入泰山麒麟平台实现运维自动化的步骤是什么?

接入步骤包括:1. 联系平台管理员创建运维系统菜单,并获取鉴权文件;2. 在平台中创建运维功能,选择自定义模式,配置数据结构;3. 下载代码模版,编写Controller代码,并加入鉴权文件;4. 部署Controller到容器中;5. 在平台发布功能并授权给其他运维人员使用。

泰山麒麟平台支持哪些运维功能?

平台支持运维功能(执行单个运维功能,配置审批、授权等)、命令执行(批量执行命令及超时、并发、止损等控制)、定时任务(如巡检、备份、日志清理)、资源展示(IT资产、数据库等)、资源操作(对资源快速执行运维操作)以及运维编排(通过图形界面串联多个运维原子和审批流,实现复杂自动化)。

运维自动化能带来哪些好处?

运维自动化可以提高效率,解放生产力;降低人为失误,保障系统稳定性;有效控制成本,优化资源管理;同时促进运维人员的技术成长和职业发展。

泰山麒麟平台是如何基于Kubernetes CRD实现可编程运维的?

平台通过扩展Kubernetes的自定义资源定义(CRD)功能,引入自定义资源类型。运维工程师定义资源类型并编码实现运维功能,平台处理创建、更新、删除等通用操作和资源集成。采用声明式API描述所需运维状态,无需关注底层实现细节,实现基础设施即代码(IaC)理念。

目前泰山麒麟平台取得了哪些成果?

截至目前,ChubaoFS已通过平台实现了43个运维功能原子和18个运维编排的自动化任务,每周平均执行自动化任务约500次。技术保障部内的运维团队已将JMQ、JIMDB、LogBook、ChubaoFS、数据库、对象存储、图片服务和应用运维等产品接入平台。

🏷️

标签

➡️

继续阅读