作为在运维战线上摸爬滚打了二十多年、现在担任数据中心管理岗位的老兵,这些文章里面描述的很多场景都仿佛历历在目。曾几何时,运维成为了苦逼和背锅侠的代名词,随时加班、抢险应急,昼夜不停地开展环境搭建和版本投产。当夜深人静的时候,别人都已经进入了梦乡,而运维人才开始工作。而当生产环境出现问题时,先受到质疑的又是运维人员。一方面运维人员经常加班,长期承受着无形的压力,另一方面其他部门不清楚运维部门的价值所在,“产品出了问题找公司,应用出了问题找开发中心,账务处理找业务部门,运维部门究竟是做什么的?”
随着云计算的兴起,硬件维护、系统管理、应用开发都趋向集中,开发运维一体化(devops)使开发和运维的界限不再泾渭分明,智能运维(AIops)会在根本上改变运维的模式。运维行业真的要消失吗?运维人的价值究竟体现在哪儿?运维人应当如何升级转型呢?
随着信息技术在各行各业越来越广泛地应用,社会上对IT运维的需求不断增加,同时由于云计算等技术的普及和成熟,弹性供给、按需付费、快速响应等特点使企业上云的意愿更加强烈,对传统运维人员的需求不增反减。技术的进步对传统行业带来的冲击是致命的,就像电商促进了零售的发展,而传统零售商却逐渐凋零一样。基础设施即服务(IaaS)减少了对基础设施维护人员的需求,平台即服务(PaaS)降低了对中间件和数据库维护人员的要求,软件即服务(SaaS)则对应用开发人员产生了很大冲击,智能运维(AIops)更是号称要消灭低端的运维。
运维人员已经感受到来自云计算、大数据、人工智能等技术发展带来的巨大压力。在高度标准化的云计算环境里,通过自动化运维和智能化运维来完成运维工作已经没有多少障碍,在一个单一的垂直领域由开发人员完成运维工作也取得了令人惊奇的效果。在阿里巴巴、腾讯这样的公司,运维人员的职责和组成也发生了翻天覆地的变化,不再有单纯的运维工程师,取而代之的是运维开发工程师。大家把运维经验总结提炼成知识图谱,通过智能运维平台对复杂的应用环境进行维护、监控、应急和分析。
社会需要IT运维这项服务,但是不一定需要专职的低端的运维人员,只有在复杂多变的环境下,运维人员才会真正体现优势发挥作用,这是一个不可阻挡的发展趋势。运维人员不被历史淘汰的仅有途径就是苦练内功,升级转型,真正体现自己的价值。
那么,运维人的价值是什么呢?按照软件生命周期理论,产品运维和运营占据了整个生命周期的百分之七十以上的时间,也是体现产品价值的最重要阶段。而运维人员应当对产品最终的运营效果负责,以此体现自身的价值。
一、变费用中心为利润中心
产品的运维和运营都是需要费用的。运维部门是传统意义上的费用中心,是花钱的部门。一般大的公司运维部门都会有几百人,同时签署了很多外包合同,我们可以汇总计算出一年支出的总费用。如果公司把运维外包给腾讯或阿里巴巴甚至研发人员,在保持相同服务质量(SLA)的情况下,他们会向我们索要多少费用。如果我们自己运维所花费的费用少,则说明我们为公司节省了支出,反之就是我们浪费了公司的资源。
当然这种说法太理想化,在衡量整体费用的同时,还要考虑安全风险、政策约束、职业稳定等多种因素,在整体上可比性较差,只具有理论上的意义。我们可以参考同等规模的业内公司,他们的人员规模、服务水平等条件与我们大体相当,他们的费用数量可以作为评测的参考。在个体上可比性就比较大,一个人现在月薪两万元,如果他在社会上可以应聘到月薪三万元的职位,则我们就赚了,反之就赔了。当然这里面还是要考虑稳定、品牌、口碑、风险偏好等因素。
我们应当努力提升运维管理水平,提高运维人员的技术能力,尽可能放大人员效能和投入产出比,与此同时,我们可以根据自己的技术优势,进行运维技术输出工作,变费用中心为利润中心。目前,公有云服务就是一种运维技术输出的产物,它把用户公司的基础设施运维、平台运维甚至应用运维承包下来,承诺服务质量(SLA),收取相应的费用。运维管理咨询、运维工具、运维项目管理、系统调优和技术支持等都可以成为运维技术输出的内容,采用按次收费和按效果收费不同的模式。
二、提升运营效率
运维人员每天接触大量的系统信息,可以触类旁通、举一反三,从中总结出系统运行的规律,制定合理的维护计划,确保系统稳定运行。运维人员还可以观察出系统运行中最薄弱的环节,通过系统优化来提高系统的高可用性,提升系统运行效率。最终,运维人员从大量的实践工作中抽象出运维非功能规范,指导开发部门在开发阶段就充分考虑运维的需求,从根源上降低或根除系统隐患。
一个产品开发出来推到市场,并不意味着万事大吉。由于考虑不周、时间仓促等各种原因,产品投产后整体运营效率不一定是好的。运维人员可以通过对使用过程中产生的数据、发生的事件、客户的反馈进行分析研究,提出优化改进措施,提升整体运营效率。
举个比较极端的例子,某银行在大额存单产品开立时,业务部门还是采用OA系统进行总行授权、通过电话沟通进行关联部门横向交流的方式,工作效率十分低下。而应用系统已经具备了自动联动开立产品的功能,如果使用该功能,可以把产品开立的周期从一个月缩短到两天。运维人员应当在日常运维过程中及时发现这些问题,牵头协调各业务部门,理顺各方的关系,通过多方联动来提升运营效率。
三、为各类客户进行赋能
运维人员可提供服务的客户有四类:最终用户、业务部门、开发部门、管理者。通过保证系统稳定运行和快速应急响应为最终用户提供良好的体验;通过提供数据服务和可视化为业务部门开展营销和决策进行赋能;通过非功能规范和新技术架构探讨对研发人员创造良好便捷的开发环境进行赋能;通过运维大数据分析进行系统容量管理、系统性能优化、管理流程提升为管理者进行赋能。当然,我们也可以通过构建智能运维平台对自我进行赋能,以更加高效地完成运维工作,确保系统稳定运行。
通过自身价值的实现,运维人可以活得更有尊严,这尊严来源于对业务发展的支持,来源于浑厚的技术实力。运维部门需要在思维方式、制度创新、部门职责、工具平台、技能五个方面进行创新和转型,这五个方面既具有公司整体推进的特征,又强调部门的特殊性。运维人可以从自己的小环境做起,规避“等靠要”的思想,敢为人先,勇立潮头。
首先,运维人应当在思维上进行转变
运维人往往面临双重压力,一方面是监管部门和公司对安全稳定运行不断地提高要求,另一方面则是业务的快速发展带来很大的运维压力,应用版本变更频繁,各类缺陷经常出现,而运维部门对开发部门约束无力。运维人员经常处于安全稳定运行和支持业务快速发展的矛盾漩涡之中。
当你站到公司的角度去看问题时,这两个看似相互矛盾的要求又变成合理了。业务发展要依靠一个稳定的后台支撑,给客户一个良好的体验,而公司要在市场上立足就必须不断地推陈出新,与竞争对手比速度、比创新,这样公司才能够生存下来,保留进一步发展的机会。运维人作为公司的一员,应当服从和服务于公司的总体目标,保质保量地完成相关工作。当然,有效地约束机制也是十分必要的,盲目地扩张也会给公司的发展带来隐患。
事实上,整个公司上上下下的思维都需要进行创新,从原来的留痕文化、免责文化向创新文化、服务文化转变。运维部门应当要强化服务的意识,更好地为客户服务,为业务部门提供稳定的业务发展环境,为开发部门提供顺畅的环境支持,为运维人员提供和谐的工作环境。只有解决了思想观念问题,后面的问题才会迎刃而解。
其次,运维人要关注制度创新
在制度创新上,最关键的是考核,屁股决定脑袋,考核就是指挥棒。目前,运维部门的考核是安全稳定运行,这是非常必要的,但是仅仅做好稳定运行又是远远不够的。
人都是趋利避害的,做过运维的人都知道,对安全稳定运行很大的威胁就是变更,只要控制住变更,系统运行不会出现大的问题,每年两会期间变更封板的效果就说明了这一切。然而,没有变更就没有竞争力的提升,就没有业务快速发展,如何让运维部门也主动拥抱变更也是一个非常考验智力的问题。
其实,有些公司曾经做过一些有益的尝试,在部门考核时,安全稳定运行占六十分,创新占二十分。做好稳定运行只能算及格,但是如果稳定运行出了问题,一定是不及格。运维部门要在稳定运行和应用变更之间进行权衡。我们可以看到运维部门积极迎接这些变化,向前迈出了可喜的一大步。
当然,“没有责任的权力是魔鬼,没有权力的责任是地狱”,运维部门应当对开发部门甚至管理部门进行有效地考核,避免职责和权利不对称的问题。
然后是部门职责
运维部门是运营和维护研发中心生产的产品。由于时间紧任务重、市场营销压力大等原因,公司常常在业务需求还需进一步完善、测试没有完全到位的情况下,进行了应用开发和投产上线,这给安全运行带来了一些隐患。
运维人员在保障系统稳定运行的基础上,积极参与应用系统的设计、测试等工作,熟悉应用系统的整体架构和实现方式,利用自己的经验提出风险整改和系统优化建议,并把这些建议总结提炼成非功能规范,供开发部门在开发过程中提前规划。运维人员还应当积极跟踪业界发展趋势,使用新的技术架构来解决运维和开发中遇到的困难。
这样,项目一投产就像一架带有四个发动机、自动驾驶装置的飞机,任何部位发生故障都可以自动规避和自动处理。此外,运维部门应当开展运维大数据分析,为业务部门的营销和决策提供详实可靠的依据。
接下来是工具平台
“工欲善其事,必先利其器”, 运维人员应当摈弃刀耕火种的方式,集中力量构建智能运维平台,通过智能运维平台对所管理的系统进行有效地管理,达到事半功倍的效果。智能运维平台的优劣已经上升为衡量运维管理水平的重要指标,只有在智能平台上不断进行探索和积累,才能强化其功能和效用,以便实现数字化、自动化和智能化管理的目标。
最后也是十分关键的是人
人都是有局限性的,又是潜力无穷的。职责分工决定了他的工作内容和知识结构,在以往,运维工程师负责设备和系统安装、应用环境构建、运维支持等工作,很少碰开发。世界是发展变化的,现在不会做开发的运维工程师在逐渐消亡,取而代之的是运维开发工程师,通过编写脚本程序、构建运维平台来实现运维工作。同时,熟悉应用架构和业务知识,对于应用系统的运维很有裨益,也是运维人员积极努力的方向。由于知识结构比较单一,运维人员对转型往往信心不足。其实,只要你勇敢地跨出去,付诸行动,任何困难都是纸老虎。
目前新的技术理论层出不穷,新的技术架构日新月异。只要运维人以开放的心态去拥抱这些变化,并把这些新技术新架构应用到实际工作中,解决工作中遇到的问题和难点,就能牢牢控制未来发展的方向。我们既要坚持战术的正确性和敏捷性,更要重视战略上的前瞻性。只有当自己足够强大了,运维人才会不惧外界的挑战,赢得开发人员甚至业务人员的尊重。我们运维人要说,进一步海阔天空!