发布日期:2021-04-23 来源:https://xie.infoq.cn/article/9d2665338bd168f615333baab 浏览次数:1307
最近和一些朋友聊起运维的未来和发展,大家很担心在云计算时代下,运维工作一方面会逐步被自动化和智能化取代,一方面随着年龄增长竞争力在减弱。很现实的问题,我也基于这些年在运维工作的经验,和大家聊聊运维数字化的转型。
首先什么是数字化,简单点就是没有纸质的,全部通过 信息/流程/报表形式进行程序化的数据交换。做过运维的同学会会发现,运维有着天然的数字基因,日志/监控/大数据/运维平台/发布管理/CMDB。在数字化转型的大趋势下,运维更是要拥抱数据。一切皆数据 !
1.日志无价
日常运维过程,我们有大量的日志,包括 业务日志,前端日志,后端日志,APM 日志,监控数据,安全日志,流水线日志等等。
运维应该思考如何充分利用日志提升运维的价值。
一个基于日志的运维平台
2.规则化
日志+规则 agent+告警平台,实现:分单,现场快照,诊断分析,动作。
可以参考开源告警规则,针对不同日志开发不同规则告警。像 zabbix, Prometheus, open-falcon 都有告警规则设置,也可以看一些开源的规则引擎。
开源告警:
GitHub - bosun-monitor/bosun: Time Series Alerting Framework
规则引擎:
3.工单化
用工厂流水线视角看待研发过程,在流水线的每个环节采集日志,形成对应工单(需求工单,错误工单,告警工单,发布工单,故障工单等),工单最终目的:降本增效 知识沉淀。
错误日志工单闭环系统
系统错误日志+代码提交记录 生成错误工单 推送给研发;
研发确认后进入版本计划;
发布后错误单自动消失;
根据研发线上错误情况,生产绩效数据。
运维工作大体两类: 计划性工作+计划外工作。核心目标: 减少 计划外工作占比。
1.管理数字化
用项目管理的方式来做运维:把公司当作我们客户,借助项目管理方式,做好 目标、人员、进度、风险和成本 的管理。
项目分类:可以从 KPI 提取项目类别,比如:效率提升/稳定性优化/成本优化/架构优化等。
立项方式:随时随地立项,只要可以归属某种分类,就可立项。方式包括自主立项或者推动研发部门作为项目负责人,成员可跨部门。
项目进度:负责人每日关注项目进度情况,识别风险。
2.车间主任
建议运维都去工厂车间去参观,了解一个物品是如何被生产出来。运维也一样,你把自己当作车间主任,产品研发是一个流水线。车间主任要关注:
目前的吞吐量和生产能力如何?
某个环节除故障时候,如何快速消除?
是否存在瓶颈点,如何消除?
上下游如何高效配合?
3.不断降低例外
可以通过下面几个方式:
建设完善的故障处理流程
每日巡检,保证监控和告警系统本身的稳定性;
遵循 2/8 原则,关注核心业务;
自愈能力建设,通过数据和规则匹配能做部分自愈功能。
故障处理流程:
学会用企业架构视角去解决运维问题。可以参考 TOGAF 的架构方案,了解公司的 业务场景、应用系统、数据方案和基础技术架构。站在 CTO/CEO/CIO 的角度思考,既要懂业务也要会管理。
运维是面向客户的最后一个触达点,必须熟悉业务流程和系统。因此我们:
业务价值链和商业画图;
维护系统架构图;
和业务部门学习并形成业务排错指南;
大数据方案;
TOGAF 阶段方法:
个人比较喜欢这 2 本书:
《SRE:Google运维解密》((美)Betsy Beyer(贝特西 拜尔)等)【简介_书评_在线阅读】 - 当当图书 (dangdang.com)
《凤凰项目 一个IT运维的传奇故事 修订版》([美]吉恩·金 凯文·贝尔 乔治·斯帕福德)【简介_书评_在线阅读】 - 当当图书 (dangdang.com)
运维部门工作,是公司长期可持续发展的基石。持续保证业务可靠性,是公司业务对外最后的守护者。作为运维从业者,应从公司角度和企业目标去做事情。