之前我们为大家详细介绍了分布式系统环境下,银行运维所面临的挑战与难题,分布式运维建设模式,以及分布式系统下运维工具的落地建议,但工具的建设并不意味着运维的成功转型升级,运维体系的建设需要有科学的指导思想以及体系化的建设理念。
本文我们就以Google经典运维体系理念——SRE为例,通过对SRE的主旨内容剖析,梳理SRE与运维开发之间的联系,同时通过典型SRE落地案例详解,与大家一同探讨SRE在金融行业的落地经验。
首先我们来看看SRE的几个定义:
分别来看,起源于Goole的SRE相对于它的组织来说,定义得是较为契合的,首先Google具备较强实力的人才储备,其次,经过了大量的内部实践,是经得起考验的,同时由内而外的推动使得这一体系的落地情况也比较全面。但对于国内企业来说, 全能型的人才稀缺以及传统理念的固化让这一定义显得并不是那么的完善。
站在国内企业自身的角度来看,我们更倾向于第三种:从实践角度看 SRE 的关键点,就一个词:体系化,我们需要用全局视角才能更透彻的理解它。SRE实际上是需要多个团队、多个岗位分别去承担不同职能,并且各个团队之间能够相互协作合力,同时对外与业务团队、产品团队连接,构建工具去实现日常的运维和运营。
本质上来讲SRE与DevOps没有很大差别,都是伴随着分布式、云原生、容器化、微服务等技术所衍生出来的一些理念,我们可以理解为DevOps是SRE核心理念的普适版。相比起来,DevOps比较抽象,而SRE是Google将DevOps具体实践后所提炼出来的理论体系。
SRE具备以下几个指导思想:
围绕以上指导思想,我们可以将SRE的一些关键概念串联起来,从而对SRE体系有更明确的认知。
关键概念上,主要分为四个层面
了解了SRE整个体系的工作方式与方法以后,SRE具体团队在做什么样的内容呢?主要分以下三个板块:
在这个过程中,我们可以下一个论断,即:运维模式/体系的下一站是SRE,而运维技术的下一站是AIOps。
方法论层面,主要有以下几个重要点:
SRE反复强调运维组织需要大量的参与到运维工具开发中去,来实现SRE的转型。而做工具的开发,传统企业与互联网公司会有较大的区别。
因此对于大多数企业来说,要实现SRE运维开发,需要一个统一的底座——具备通用能力、通用开发框架,同时提供统一的资源纳管,以及资源驱动等能力,借助统一底座,下层资源统一纳管实现数据打通和能力扩展,上层通用能力框架实现工具开发,可控生长,建立基于平台的完整运维开发体系。
其中包括几个典型的场景:
CMDB——SRE运维管理体系的基石,建立消费驱动的,可视、可用、可信、可靠的运维高质量CMDB,支撑运维开发转型。
可观测性——助力SRE实现全链路追踪与问题根因定位。构建trace、log、metric关联分析链路,依赖于平台,实现数据的统一处理。
自动化编排引擎——SRE自动化运维的抓手,自动化场景的建设需要底层引擎的支撑,调用基本能力构建上层自动化体系,支撑SRE工具能力拓展。
以国内某大型银行SRE实践为例,其SRE落地进程有以下几个重要关键点:
① 确定SRE落地的核心理念:
符合长期战略,改善运维手动、重复性工作,建立SRE团队提升运维价值。
② 组建SRE试点团队:
包含团队负责人,轮值团队经理,业务核心技术成员,其他部门协助人员,从不同的团队中抽调相应人员,保证每位人员都清楚的认知SRE的建设目标,力出一孔。
③ SRE工作模式:采取平战结合模式。
战时应急依赖于平时建设的工具、自动化能力、问题总结等,形成平战结合的工作模式。
④ SRE团队OKR:
团队OKR的制定与工作模式紧密配合,通过平战结合的模式,实现全景业务系统可感可见,应急处置可管可控,业务指标可计可析。同时SRE团队建立三会机制,即周例会、月例会、专题会,保证日常工作与专项事宜的快速处理。
目前来看该行的SRE实践是比较成功的,其核心在于SRE团队的组建,一方面需要有开发人员介入,核心业务人员要懂开发,懂架构,具备运维开发能力。另一方面需要具备组织能力,SRE建设目标分解到各个团队中,人员之间实现能力的融合,从而形成体系化的组织,推进整体SRE进程。
除此之外我们对众多企业SRE进程和落地实践也进行了详细的深入分析,包含农业银行、腾讯、美图等,如您感兴趣,欢迎点击了解详情!
① SRE是否适合在金融行业落地?
SRE是一个体系化的过程,从组织架构、到文化宣贯、到工具构建、到人员能力配备都具备以后,才能形成完整的SRE体系。
我们建议可以先针对其中某一方向,例如工具向平台化层面去靠拢,同时如果还有富余的精力的话可以考虑进行一部分运维开发能力的建设,除此之外组织能力也可以适当培养,从而一步一步向SRE迈进,而不是一步登天。
② 如果要落地,需要注意哪些事项?
主要有3个重点:
标准规范制定:标准化、规范化是体系建立的第一步,运维的标准规范需要与开发与业务达成一致。
具备软件开发能力:能够把运维诉求变成运维产品,然后把运维产品,最终落地成为具体的工具、系统。
组织变革:SRE是运维与开发的能力结合,需要一部分懂开发的运维人员,也需要一部分理解运维体系的开发人员,运维与开发需要相互理解,从而将彼此诉求融入到自己的工作中。