通过站点可靠性工程(SRE)转变文化

站点可靠性工程(SRE)宣称分布式系统具有许多优势。 它改善了基础设施的自动化,提高了可靠性,并改变了事件管理。 但是,SRE经常被忽视的好处涉及文化转型。 阅读Google的《网站可靠性工程》一书时,您会看到许多章节中提到的文化。 但是,讨论的技巧和过程并不多。

为什么我们忽略了SRE带来的文化变化? 好吧,通常情况下,我们习惯于尊重技术知识而非人员技能和文化。 在IT领域尤其如此,我们仍将熟练的工程师称为摇滚明星和忍者。 但是,我们最终形成了一种以个人而不是团队为中心的文化。 就像脆弱而脆弱的软件很糟糕一样,脆弱的组织也要依靠少数人的行动。

那么,这个问题有什么解决方案? 对于初学者而言,SRE除了推动流程的变化外,还推动文化的变化。 它包含风险,讨论难题,并从失败中学习,而不会让自负自负。 以及这种文化如何运作? 让我们来看看。

拥抱风险

SRE文化的很大一部分包含风险,但这对于团队和组织而言并不总是自然而然的。 甚至许多声称自己承担风险的团队也没有完全接受风险的可能性。 这是从哪里来的?

它来自分布式系统的固有风险。 正如Google SRE书的作者所描述的,目标并不是要提供100%可靠的服务。 实际上,它过于昂贵且不值得,无法将可靠性提高到需要的程度。 此外,用户通常不会注意到差异-他们习惯于偶尔掉线和不是100%的手机服务。

因此,SRE承担了系统崩溃的风险。 应对风险的后续措施是管理风险。 一旦我们知道一切都会崩溃,我们将如何保护客户和我们自己? 我们需要添加哪些自动化流程来确保我们仍然可以交付价值?

这就是拥抱风险所在。

减少IT教条

过去,公司依靠系统管理员来运行其系统和基础架构。 尽管是可重复的,但许多任务一次只能手动执行一次,而很少考虑自动化。 应该使用有效的技术解决方案来解决问题。 但解决它们时也应考虑文化。

当今的组织需要务实的工程师,他们愿意改变流程和程序。 他们需要超越剧本,为自己的软件生态系统做最好的事情。

例如,许多组织都有治理流程,以允许在生产中使用新的软件或基础架构工具。 此过程旨在保护组织免受限制性许可证,低效工具或安全威胁的侵害。 但是,此过程实际上为团队造成了瓶颈。

由于无法使用合适的工具来解决问题,因此团队浪费时间在圆孔中安装方钉,因为他们需要使用预先批准的工具。 否则,由于无法通过补丁发布具有已知安全威胁的库版本而导致更多的安全威胁。 务实的工程师着眼于原始问题,并致力于自动化更好的解决方案。 她将研究自动扫描许可证,软件存储库和基础结构补丁的方法。

SRE文化强调变化,自动化以及对许多人所珍视的教条过程的质疑。

从失败中学习

过去,团队感到有必要隐藏失败。 毕竟,他们的下一个奖金或报酬提高可能依赖于显示更多的成功而不是失败。 不幸的是,这种文化上的污名导致人们害怕表现出虚弱或暴露失败。

但是,在SRE文化中,我们鼓励彼此学习失败的经验。 我们公开透明地分享我们的失败。 以下做法有助于建立这种学习文化:

  • 举行无可指摘的事后调查:以团队为单位对事件和中断进行剖析,以发现哪些自动化和流程可以防止或解决将来的问题。 攻击问题,而不是人。
  • 与其他团队共享验尸报告:对其进行审查并使其对所有人可见,以便所有人都可以学习。
  • 潜在的角色扮演灾难:提高团队的解决问题能力,而不必依赖孤立的专家。
  • 主持回顾过去事件的午餐和学习:允许公司周围的团队互相学习。

雇用团队球员

许多公司在招聘方面遇到困难。 这并不容易。 通常,我们不愿雇用具有适当技术技能的人员,而不是适当的团队技能。 这可能会在短期内有所帮助,但随着时间的流逝,可能会导致负面影响和困难的工作环境。

这就是SRE文化要求聘用团队成员和合作者的做法的原因。 我们需要候选人抛弃自我,共同努力,以改善产品。 因此,在寻找潜在员工时,不仅要考虑技术技能。 确保候选人具有协作能力。 寻找谦虚,学习的意愿以及同情心。

教育您的雇用

聘用了最新的工程师后,下一步是什么? 传统上,培训系统管理和操作团队采用“逐次尝试”方法。 但是在SRE文化中,您需要更加谨慎的接触。

看起来像什么? 让我们看一下SRE文化带来的一些入门概念。

首先,我们应该考虑为您的新员工创造一种顺序学习的经验,使他们为成功做好准备。 这将使他们比分门别类的预备和警报更为准备,并将向他们展示他们应该期望并得到他人的尊重。

您可以采取的另一种做法是鼓励新员工使用逆向工程和基础知识解决问题。 这使工程师对系统和问题有了更深入的了解。 这也减少了他们对教条程序和清单的依赖。

最后,我们应该停止一种古老的做法-让新员工辛苦工作。 从历史上看,我们为新员工提供琐碎而轻松的工作,直到他们真正证明自己为止。 但是,如果我们希望他们早日感到主人翁感,那么我们也应该投入一些琐碎而复杂的工作。 那里有很多东西要学。

Google的SRE书中还存在许多其他想法和启示。 我们将在ASPE培训中讨论它们,并进一步深入研究它们。

练习并扮演成功的道路

编程katas和故意实践背后的想法并不新鲜。 但是,SRE文化通过各种实践为他们带来了新的生活。 例如,我们谈论了一些无罪的尸体解剖。 更进一步,我们还可以根据过去的事件创建可重复的练习。 在这里,我们可以召集一个小组来讨论过去的失败和事件,并扮演该小组要采取的行动来识别和解决问题。 原始事件中涉及的站点可靠性工程师可以帮助并告知小组是否朝着正确的方向前进。

另一个大习惯涉及练习消防演习。 与在工作场所或学校进行的消防演习类似,团队通过演练和调试问题来练习在实际中断或事件中会发生的情况。 使用混乱工程学中的原理,我们可以确保我们的团队已准备就绪,可以停下来,跌倒并滚动以提高可靠性。

干扰自己

中断是SRE生活的一部分。 那么,我们该如何解决呢? 坦白说,不多。

但是,我们可以做的是围绕中断来改变思维方式。 例如,在通话中,我们应该将打扰作为我们的主要工作重点。 我们应该迷失它。 我们应该将我们的项目工作视为中断。 这是一个调查性的探索,不仅要发现问题,而且要开发短期和长期的解决方案,并进行实验以证实这一假设。 不应期望通话中的SRE在项目上取得进展。

结论

那么,我们需要做些什么来改变我们的文化? 仅仅说您要更改它是不够的。 改变我们的方式不可能是自上而下的命令。 幸运的是,我们可以采纳一些SRE想法,并开始在我们的团队和组织中实施SRE做法。 这些想法将使您的企业文化更上一层楼。

是否正在寻找有关SRE实践的正式培训? 看一看我们的课程: 实施站点可靠性工程 这个为期三天的训练营将教您如何在组织中成功实施站点可靠性工程。