@levinzhang
2023-05-07T14:13:57.000000Z
字数 5718
阅读 237
by
SRE的采用在很大程度上受到当前组织文化的影响。本文描述了在SRE转型之初,如何从生产经营方面评估组织的文化。它提供了一个随时间推移不断累积的小规模文化变革的路线图,并展示了领导层如何推进必要的文化转变。
西门子健康集团的teamplay数字健康平台和应用是一个大型的分布式组织,由25个团队组成,拥有医疗领域不同的众多数字服务。
该组织经历了一次SRE转型,这是一次深刻的社会性技术变革,改变了生产经营的技术、流程和文化。在本文中,我们将重点讨论:
在引入SRE时,很容易直接跳到变革的技术部分,并开始着手实施新的工具、基础设施和仪表盘。
毋庸置疑的是,这些制品本身不足以动摇一个组织的生产运营方式。SRE转型在很大程度上是一个社会性技术(sociotechnical)变革。
变革的“社会(socio)”部分需要从SRE转型的一开始就发挥同样的作用。
在这种情况下,从生产运营的角度评估组织目前的文化是很用的。这会带来如下的好处:
既然存在这些收益,那么该如何从生产运营的角度来评估组织文化呢?这就是下一节的主题。
有种流行的组织文化拓扑学是由Ron Westrum提出的Westrum模型。该模型根据组织处理信息的方式,将文化分为病态型、官僚型和生机型:
基于Westrum模型,谷歌的DevOps研究和评估(DORA)项目通过严格的研究发现,生机型文化会促成高效的软件交付。根据Westrum模型,生机型高效文化包含如下六个方面:
这六个方面可以用来评估一个组织的运营文化。要做到这一点,需要将这六个方面映射到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转型一线获取的真正经验。
我们得到的最深刻的经验之一就是让产品所有者从一开始就参与到SRE转型中。对于产品所有者来说,SRE的价值在于减少客户因为数字服务没有达到预期效果而导致的问题升级。这些问题升级是令人讨厌的、耗时的,并且会导致管理层不必要的关注。这为产品所有者参加SRE会议提供了动力,在这种会议上会定义SLO并讨论相关的流程。
在SRE会议上,产品所有者需要:
对于刚接触软件即服务的组织来说,主要的问题在于,开发人员不习惯关注生产环境。相反,在传统方式中,他们的世界以特性描述为始,以特性实现为终。在生产环境中运行特性并不在他们的关注范围之内。这就是我们的组织在SRE转型之初的情况。
在这种情况下,SRE转型之初最具影响力的里程碑事件就是让开发人员将注意力转移到生产环境上。这是一个80/20类型的里程碑,20%的努力带来了80%的改善。
对于开发人员来说,定义完美的SLO和错误预算策略并没有那么重要。相反,重要的是为开发人员提供基本的工具和初始的动力,让他们将注意力转移到生产环境中。在获取运维软件的新习惯时,定期花费时间对生产环境进行分析就成功一半了。
做到这些之后,应用SRE方法的准确性就可以逐步实现了。
按照我们的经验,在定义最初的SLO时,团队一开始会倾向于高估其服务的可靠性。他们倾向于设置比服务的平均水平更高的SLO。同样的,他们倾向于设置比服务可以达到更严格的延迟SLO。
在这个初始阶段,试图说服团队放松最初的SLO是徒劳的,即便是历史数据有时候也无法说服团队。我们发现,快速失败的方式实际上是最有效的。
我们按照团队的建议设置了SLO,没有进行过多的争论。毫不意外,团队被大量的SLO告警淹没了。下一次SRE会议的主题不可避免地变成了团队无法处理大量的告警。
这使团队充分理解了他们的SLO决定的后果。于是,重新定义SLO的过程开始了。这正是我们需要的:一个来自生产环境是否满足SLO的强大反馈循环,这促成了对SLO的重新评估。
我们发现,由正式领导者和非正式领导者组成的联盟在组织中倡导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知识:https://www.informit.com/store/establishing-sre-foundations-a-step-by-step-guide-to-9780137424658
查看英文原文:Assessing Organizational Culture to Drive SRE Adoption