在IT运维技术里有很多名词,除了SRE之外,还有devops、chatops、aiops,很多人很容易被这么多ops搞蒙,而且很多人会觉得有了这个干吗还要搞那个?是不是互相抄袭理念。本偏呢就重点说下SRE和devops,因为这两个出现的最早。

一、出现时间

上一篇我们了解到Google在2003年左右组建了SRE团队,而devops呢,实际上正式被叫出来的时间在2008-2009年左右,其标志思想成型提出是在2009年Velocity大会,这个会上Flickr公司提出Dev和Ops如何做更好的协作,实现每天10次线上发布。DevOps的核心-CALMS,其是以下几个词的首字母组成的:

文化(Culture):绩效型文化是以KPI和OKR以导向,在DevOps中建议应用最新的OKR体系进行文化的建立。其中OKR全称是Objectives and Key Results即目标与关键成果法,由1999年Intel公司发明了这种方法,后来被 John Doerr推广到 Intel和Oracle、Google,LinkedIn等公司。(区别与权力型文化、规则型文化)

自动化(Automation): 自动化就是把那些自动化的工作,包括重复、耗时、易出错、经常发生的工作,通过自动化平台或自动化RUNBOOK进行编排与管理。真正实现DevOps的自动化需要实现持续集成、自动化测试和持续交付。

精益持续改进(Lean continuous improvement):同SRE从阿波罗计划里获取的灵感一样,devops的精益是从1980年左右丰田的精益思想里借鉴出来的。精益的核心首先是向客户交付价值,其实是要减少浪费,我们知道在软件开发过程中,包括很多浪费,包括传统的精益7+1的浪费,也包括流程及开发过程中的低效和浪费,都需要根据精益的思想进行解决和避免。

监控指标(Metrics):没有测量,就没有管理。DevOps希望更快的将产品或服务尽快地导入到生产环境。提交更多的管理价值,这就需要管理测量与技术测量。管理测试是站在整合端到端的客户视角来看,例如:交付周期,前置时间,技术测量更多我的从IT视角进行测量,包括开发速率、缺陷率等指标。

分享(Sharing):DevOps的核心就是要把开发和运维整合在一起,并进行信息的分享。在组织变大时,组织管理中最大的问题是如何进行高效的沟通。在DevOps中核心必须是基础小团队应用小敏捷及大敏捷的方法,实现企业内部信息的共享。同时,信息的共享不应限于组织内部的共享,还应包括与客户的信息进行共享,解决信息端到端的共享问题,即及时地收到客户的信息,并反馈内部信息给客户,加强管理的透明度。即让用户了解组织,也让组织了解用户。

对devops有兴趣的同学可以看下这三本书: 《DevOps Handbook》(主要提了三步工作法)、《Effective DevOps》、《持续交付》。

所以从上面的的devops和SRE出现的时间也可以看出,SRE出现的比devops更早。其当时是被业务倒逼出来的产物。而且其更适合于大公司。

二、二者的异同

上文我们已提出过SRE的对应理念,而devops对应的理念也可以归纳为以下几点:

  • 不再各自为政
  • 意外及兵家常事
  • 变更要小步快跑
  • 工具与文化休戚与共
  • 准确的度量至关重要

单纯从字面意思理解上来看,二者之间还是存在一些相同点的。两者都谈到了改变—只有改变才有进度、协作、提到小步快跑做变更、使用正确的工具、提到度量指标、对事不对人等。当两者之间也存在一些差异:

  • devops是种更宽泛的理解和文化,它选择集中精力打穿组织间的壁垒。而SRE会涉及到一些操作的细节,所以从影响上devops从发现影响更大。这点也可以看到devops的普适性更强;
  • SRE职责提出了是面向服务的—最终用户,而不是面向整体业务,其职责定义相对狭窄,但也造就了其更专注对应的服务对容,其对激励性更强,只对团队的SLO负责。在SRE的理念里,产品开发团队和SRE团队是不同的团队。其提出的理念是,互相促进发展。产品成功,会促进SRE的扩张,SRE的维护导致产品的稳定,也会促进产品的健康发展。

三、其他理念

下图左边是chatops,右图是aiops。chatops就是把运维和聊天软件结合起来了,通过聊天的方式可以进行一些运维交互。而aiops是基于大数据,结合算法形成一定的产品和结果。在运维中常见的根因智鉴和动态阈值分析都是属于aiops的范畴。这两种也可以视为devops理念的延伸。

我的观点:无论SRE、devops、chatops、aiops、混沌……,所有的运维理念之间的界限都不是清晰的明确的。很多理念都是互相影响互相应用的。在团队实施过程中,可以以一套适合自己的理念为框,辅以其的理念杂糅,最终形成公司自己的文化。按古话所说,集百家之长,为我所用。