写点什么

构筑成功之桥:从组织文化到 SRE 实施

  • 2023-06-27
    北京
  • 本文字数:3267 字

    阅读完需:约 11 分钟

构筑成功之桥:从组织文化到SRE实施

AI 大模型超全落地场景&金融应用实践,8 月 16 - 19 日 FCon x AICon 大会联诀来袭、干货翻倍!

引言


西门子健康集团的 teamplay 数字健康平台和应用是一个大型的分布式组织,由 25 个团队组成,拥有医疗领域不同的众多数字服务。


该组织经历了一次 SRE 转型,这是一次深刻的社会性技术变革,改变了生产经营的技术、流程和文化。在本文中,我们将重点讨论:

  • 在 SRE 转型之初,如何在生产经营方面评估组织文化?

  • 如何创建一个随着时间推移不断累积小规模文化变革的路线图?

  • 领导层如何推动必要的文化变革?

评估组织文化的必要性


在引入 SRE 时,很容易直接跳到变革的技术部分,并开始着手实施新的工具、基础设施和仪表盘。

毋庸置疑的是,这些制品本身不足以动摇一个组织的生产运营方式。SRE 转型在很大程度上是一个社会性技术(sociotechnical)变革。


变革的“社会(socio)”部分需要从 SRE 转型的一开始就发挥同样的作用。


在这种情况下,从生产运营的角度评估组织目前的文化是很用的。这会带来如下的好处:

  • 它能够让推动转型的 SRE 教练了解当前组织中对生产运营的态度。

  • 它能够揭示组织在信息共享、决策制定、协作、学习和其他方面有可能加速或阻碍 SRE 转型的运营方式,这些方式可能是非常微妙且难以察觉的。

  • 它能够激发组织转向 SRE 的热情,并且能够首次预测演进的速度。


既然存在这些收益,那么该如何从生产运营的角度来评估组织文化呢?这就是下一节的主题。

如何评估组织文化?


有种流行的组织文化拓扑学是由 Ron Westrum 提出的 Westrum 模型。该模型根据组织处理信息的方式,将文化分为病态型、官僚型和生机型:

  • 病态型文化是以权力为导向的

  • 官僚型文化是以规则为导向的

  • 生机型文化则是以绩效为导向的


基于 Westrum 模型,谷歌的 DevOps 研究和评估(DORA)项目通过严格的研究发现,生机型文化会促成高效的软件交付。根据 Westrum 模型,生机型高效文化包含如下六个方面:

  1. 高度合作

  2. 训练信使

  3. 共担风险

  4. 鼓励交流

  5. 失败时追根溯源

  6. 接纳新颖的想法


这六个方面可以用来评估一个组织的运营文化。要做到这一点,需要将这六个方面映射到 SRE 中,以了解文化的目标状态。基于我的图书“Establishing SRE Foundations”,下表提供了如下的映射。


#Westrum的生机型文化与SRE的关系
1高度合作SRE能够使组织在运营方面的关切保持一致。只有在产品运营、产品开发和产品管理之间建立起高度的合作,这才有可能实现。管理人员与软件交付组织进行协作,支持采用SRE作为主要的运营方式。这对于实现标准化,从而达到规模经济,以及为SRE的投资正名都是必要的
2训练信使SRE使用SLO来量化可靠性。一旦相应的错误预算耗尽,拥有服务的团队就要接受如何提升可靠性的培训。此外,待命人员也要被训练成高效的待命人员,这包括在停机时迅速采取行动以减少错误预算的消耗。停机后的事后分析会被视为组织的一个学习良机。
3共担风险产品运营、产品开发和产品管理在SLI和SLO方面达成一致,SLI很好地从用户角度表述了服务可靠性,而SLO则代表了良好可靠性用户体验的阈值,以及在规定的SLO内运行服务所需的待命设置。这样会形成一个共同的决策,以判定何时在可用性上进行投资,何时在新特性上进行投资,以交付最大的价值。因此,投资的风险是共担的。
4鼓励交流在组织内,SLO和SLA的定义是公开的,每个服务的SLO和SLA遵守情况的数据也是公开的。这会促成团队之间就依赖服务的可靠性,产生数据驱动的可靠性对话。SRE实践社区(community of practice,CoP)会在团队间交叉传播SRE的最佳实践,并在组织内举办关于可靠性的午餐学习会议。
5失败时追根溯源停机后的事后分析会对发生的事情进行无责审查,以便于产生有用的学习成果,并在整个组织内传播。
6接纳新颖的想法从正在进行的产品运营、停机和事后分析中获得新的见解,这会促成新可靠性特性的及时实施,并根据错误预算消耗率优先安排相关的工作。


有了上表中定义的目标状态,SRE 教练就可以分析他们的组织目前距离目标文化状态还有多远。

随着时间推移积累小规模的文化变革


SRE 教练了解现状之后,就可以开始 SRE 转型的活动了。这些活动将会包括技术、流程和行为的改变。为了推进这项运动,SRE 教练需要寻找小的行为变化、对此进行庆祝,并按照这样的方式缓步前行,随时间推移进行积累。


例如,如下所列的小变化可以逐步促成更大的行为变化,随着时间的推移,将组织的文化逐步推向上一节中所描述的目标状态。


#变化文化影响随时间推移累积的文化影响
1将SRE列入组织工作中更大的倡议清单中在组织的所有层面中,能够感知SRE和它的承诺接受SRE潜在的作用,对SRE持开放态度
2建立SRE教练认为SRE是一个严肃的、更大的倡议,由组织中专门的负责人员进行推动在组织中,人们开始认识从事SRE工作的人
3设定初始的SLO首次量化可靠性,将可靠性的量化作为一种新的思维方式引入进来SRE有自己的概念。现在,SLO的中心概念是我们定义服务的一部分。
4对违反SLO的告警做出反应开发人员不再只做编码相关的工作,还会花时间监控生产环境中的服务违反定义的SLO会导致告警,开发人员要花费时间分析这些告警。因此,SLO需要非常仔细地进行设计,以反映客户的体验。如果出现大量违反SLO情况的话。将会导致大量时间花费在分析上面!
5设置告警升级策略违反SLO的告警非常重要,它必须要传递到能够对其做出反应的人手里对违反SLO的告警要及时处理,否则,就会启动升级策略!
6实施事件分类事件需要进行分类,以推动组织内的人员进行适当的调动。根据事件分类,调动人员来解决事件的问题。
7开展事件的事后分析针对发生的事件,需要花费时间了解到底发生了什么、原因是什么以及如何避免同样的事情在未来再次发生。事件不能解决完就过去了,相反,在解决之后,需要进行细致地分析,从而在组织中形成一个学习的循环。
8设置错误预算策略对错误预算的消耗进行跟踪。一旦达到特定的阈值,就会受到预先定义的行动策略的约束。大量违反SLO的情况会导致消耗大量的错误预算。应该有一个策略来确保错误预算的消耗不会超过某些阈值。
9建立基于错误预算的决策在可靠性的优先级决策方面,要基于生产环境的跟踪数据,也就是随时间推移的错误预算消耗。组织中不同级别的人员会使用错误预算的消耗数据来引导可靠性方面的投资。
10实现基于SRE的组织结构SRE在组织中广泛落地,建立了包含角色、职责和组织单元的正式结构现在,SRE是一个标准的运营方法,甚至反映到了组织结构和流程中。


上表中的文化变革是通过正式领导和非正式领导的相互作用来推动的。我们将会在下一节描述这种推动力。

正式领导和非正式领导的相互作用


在每一个层级化的组织中,都会有一些领导者,他们因为在组织结构图中的位置而获取相应的权力。如果这些领导者在更广阔的组织内得到信任,那么他们努力的成果就会成倍增加,因为在组织内,他们有大量的追随者。


同时,在很多层级化的组织中,都存在非正式的领导者,他们并没有正式的权力,因为在组织结构图中他们没有正式的位置。但是,他们已经赢得了整个组织的信任。这种信任也能使他们努力的成果得到成倍增加,因为组织中有大量的人自愿跟随他们。


在下表中,我们总结了正式领导和非正式领导类型。


#有利于SRE的转型不利于SRE的转型有利于SRE的转型
领导类型正式领导享有组织的信任正式领导缺少组织的信任非正式领导享有组织的信任
追随情况在组织中拥有大量的追随者,这些追随者既是自愿的,也是基于组织权威的在组织中拥有基于权威的追随者在组织中拥有大量自愿的追随者


最左边和最右边的列描述了一个关于领导力的良好组合,它能够提供必要的环境,有利于在组织内自上而下和自下而上地推动 SRE。在 SRE 转型的动态环境中,它能够保持一致性、稳定性并坚定信心。团队会认为正式的领导者支持 SRE,而非正式的领导者则能够帮助推动整个组织必要的心态、技术和流程变革。这能够最大化 SRE 转型成功的可能性。

来自一线的经验


上述的文化评估方法帮助西门子健康集团的数字健康平台组织成功地推动业务向 SRE 方向发展。在本节中,我们将会介绍一些从 SRE 转型一线获取的真正经验。

经验 1:从一开始就让产品所有者参与进来


我们得到的最深刻的经验之一就是让产品所有者从一开始就参与到 SRE 转型中。对于产品所有者来说,SRE 的价值在于减少客户因为数字服务没有达到预期效果而导致的问题升级。这些问题升级是令人讨厌的、耗时的,并且会导致管理层不必要的关注。这为产品所有者参加 SRE 会议提供了动力,在这种会议上会定义 SLO 并讨论相关的流程。


在 SRE 会议上,产品所有者需要:

  • 从业务角度提供关于客户最重要流程的背景知识

  • 根据会议中讨论的成本,评估更高的可靠性所带来的商业价值

  • 通过从一开始就参与 SRE 讨论,进一步了解生产运营

  • 了解如何以数据驱动的方式考虑对可靠性和新特性进行投资的优先级

经验 2:让开发人员的注意力首先放到生产环境上


对于刚接触软件即服务的组织来说,主要的问题在于,开发人员不习惯关注生产环境。相反,在传统方式中,他们的世界以特性描述为始,以特性实现为终。在生产环境中运行特性并不在他们的关注范围之内。这就是我们的组织在 SRE 转型之初的情况。


在这种情况下,SRE 转型之初最具影响力的里程碑事件就是让开发人员将注意力转移到生产环境上。这是一个 80/20 类型的里程碑,20%的努力带来了 80%的改善。


对于开发人员来说,定义完美的 SLO 和错误预算策略并没有那么重要。相反,重要的是为开发人员提供基本的工具和初始的动力,让他们将注意力转移到生产环境中。在获取运维软件的新习惯时,定期花费时间对生产环境进行分析就成功一半了。


做到这些之后,应用 SRE 方法的准确性就可以逐步实现了。

经验 3:不要害怕让团队一开始就快速失败


按照我们的经验,在定义最初的 SLO 时,团队一开始会倾向于高估其服务的可靠性。他们倾向于设置比服务的平均水平更高的 SLO。同样的,他们倾向于设置比服务可以达到更严格的延迟 SLO。


在这个初始阶段,试图说服团队放松最初的 SLO 是徒劳的,即便是历史数据有时候也无法说服团队。我们发现,快速失败的方式实际上是最有效的。


我们按照团队的建议设置了 SLO,没有进行过多的争论。毫不意外,团队被大量的 SLO 告警淹没了。下一次 SRE 会议的主题不可避免地变成了团队无法处理大量的告警。


这使团队充分理解了他们的 SLO 决定的后果。于是,重新定义 SLO 的过程开始了。这正是我们需要的:一个来自生产环境是否满足 SLO 的强大反馈循环,这促成了对 SLO 的重新评估。

经验 4:构建正式领导者和非正式领导者的联盟


我们发现,由正式领导者和非正式领导者组成的联盟在组织中倡导 SRE 是非常有用的。非正式的领导自学了 SRE,对将它引入到组织中充满了热情。为了实现这一点,他们需要正式领导的支持,以便于团队投入 SRE 相关的工作。


非正式领导者需要向正式领导推销 SRE 方案,承诺减少因为服务中断所导致的客户问题升级。这些对话一般会发生在研发主管和运营主管身上。反过来,这些领导者需要向整个领导团队推销 SRE 方案,以便于将该主题列入组织的重大行动清单中。


这样做之后,就会形成一个强大的组合,即有足够多的正式领导者支持 SRE,SRE 列入到了组织的重大行动清单中,还有一群充满活力的非正式领导准备在整个组织内推动 SRE。


这种组织状态有利于使用 SRE 实现成功的生产运营!

总结


对于刚刚接触数字化服务运营的软件交付组织来说,SRE 转型是一个巨大的社会性技术变革。变化的速度在很大程度上取决于目前的组织文化。人们对生产环境运营的态度和看法才是需要搬掉的最大绊脚石,而不是人们日常使用的工具和仪表盘。


因此,在开始 SRE 转型之前评估组织文化是一项非常有用的工作。它能够让推动转型的 SRE 教练了解组织目前在运营文化方面的情况。它进一步点燃了一个有价值的思考过程,也就是如何将文化发展到 SRE。

作者简介:

Vladyslav Ukis 博士毕业于德国 Erlangen-Nuremberg 大学的计算机科学专业,后来又毕业于英国曼彻斯特大学。他在每次毕业后都加入了西门子健康集团,并一直从事软件架构、企业级架构、创新管理、私有云和公共云、团队管理、工程管理、产品套件管理、合作伙伴管理以及数字化转型等方面的工作。他目前担任西门子健康集团 teamplay 数字健康平台的研发主管。2022 年,他在 Addison-Wesley 出版的“Establishing SRE Foundations”一书中分享了他的DevOps知识


原文链接:

Assessing Organizational Culture to Drive SRE Adoption

2023-06-27 08:001782

评论

发布
暂无评论
发现更多内容

springboot整合pagehelper

小鲍侃java

11月日更

javaScript基础篇说一说循环应该怎么用

你好bk

JavaScript 大前端 ES6 html/css

数据流水线架构

俞凡

架构 数据

QA应该更新的测试工具-2013

刘冉

软件测试

重点人员管控系统开发方案,重点人员动态管理系统

电微13828808271

质量基础设施一站式服务平台方案,NQI一站式公共平台开发

电微13828808271

博文|Apache Pulsar 在自研数据管道中的技术实践

Apache Pulsar

大数据 分布式 云原生 中间件 Apache Pulsar 消息系统

模块三 架构文档

Asha

数据校验

卢卡多多

参数校验 11月日更

意外发现,原来你不知道自己每天都在用门面模式

Tom弹架构

Java 架构 设计模式

测试策略实践之序篇-软件缺陷,测试计划和测试架构

刘冉

测试计划 测试策略 测试架构

🔄 这些JS数组遍历是否都用过 🔄

空城机

JavaScript 大前端 11月日更

安全测试之XCodeGhost随想-2015

刘冉

软件测试 安全测试

告别晦涩难懂的物理,《张朝阳的物理课》了解一下

脑极体

和12岁小同志搞创客开发:手撕代码,做一款人体感应灯

不脱发的程序猿

少儿编程 DIY 智能硬件 创客开发 Arduino

2022 年 9 个最佳 JavaScript IDE 和代码编辑器

devpoint

JavaScript vscode IntelliJ IDEA 11月日更

KoP 2.8.0 新特性前瞻(内附视频)

Apache Pulsar

kafka 架构 分布式 Apache Pulsar KoP 2.8.0

听说你还在写双层for循环解两数之和?

老表

Python LeetCode 11月日更 两数之和 算法与数据结构

一个基于web服务器的PoW案例(一)

Regan Yue

区块链 共识算法 11月日更

模块四作业-考试试卷-Redis存储方案设计

沐风

TDD之让我们再聊聊TDD

刘冉

TDD

测试策略实践之分类漫谈

刘冉

应届生学的java,转自动化测试拿到15k薪资,送给大家的经验积分

六十七点五

Java 程序员 软件测试 自动化测试 测试工程师

TDD之让我们再聊聊TDD(续)

刘冉

TDD

13 K8S之Pod资源操作

穿过生命散发芬芳

k8s 11月日更

测试策略实践之测试自动化与自动化测试

刘冉

测试管理 测试策略

一场大戏!央行数字人民币被“点燃”!

CECBC

shell原样输出字符串

WindFlying

🏆【Alibaba中间件技术系列】「RocketMQ技术专题」帮你梳理RocketMQ相关的消费问题以及原理分析总结

洛神灬殇

RocketMQ 消息队列 11月日更 重复消费

TDD之让我们再聊聊TDD(终)--正其思,规其行

刘冉

TDD

敏捷开发:川中校友登记小程序解决方案

CC同学

构筑成功之桥:从组织文化到SRE实施_团队搭建_Vladyslav Ukis_InfoQ精选文章