ITIL、DevOps 和 SRE 如何为您的组织协同工作

已发表: 2020-03-02

当有人问你的组织是什么类型的“商店”时,你能自信地回答它是 ITIL、DevOps 还是 SRE?

也许有些人可以,但如果你是一家大型企业,答案可能是其中几种运营模式的组合,特别是因为 SRE 已经成为 DevOps 的关键实现。 ITIL 可以与 DevOps 和 SRE 原则一起有效地工作,尽管乍一看它们似乎是不同的物种。

诀窍是确保无论您的组织有不同的运营模式或工具链,跨团队共享可见性、沟通和协作。 这将使您的不同团队在使用每种方法的最佳实践时保持一致。

什么是 ITIL? 如果你不熟悉……

ITIL 代表信息技术基础设施库,是一种方法论,旨在创建信息技术最佳实践的单一来源。 根据 Sarah K. White 和 Lynn Greiner 的说法:

“ITIL 由英国政府的中央计算机和电信局 (CCTA) 在 1980 年代开发,最初由 30 多本书组成,随着时间的推移开发和发布,这些书籍汇集了从许多来源(包括供应商的最佳实践)在世界各地。”

ITIL现在已经更新到第四版了,做法浓缩成九本书。 虽然这些书反映了现代技术时代,但它们仍然非常集中地关注 ITIL 最初的核心理念。 这些理想包括“自动化流程、改进服务管理以及将 IT 部门整合到业务中”。 ITIL 传统上是一种非常自上而下、高度结构化和流程驱动的方法,并且它仍然是当今采用最多的 IT 框架之一。

ITIL 的一些关键实践包括服务目录和设计、监控和事件管理、事件和问题管理、发布管理、配置管理等。 无论运营模式如何,所有这些实践都适用,但在不同的架构需求和工作流程的背景下,它们可能会以不同的方式表现出来。 即使对于强烈认同 DevOps 或 SRE 商店的组织而言,这些实践通常也很有价值。

ITIL 和 ITSM 之间有什么关系?

ITSM 或信息技术安全管理是公司如何管理其 IT 服务的过程。 这个过程非常以客户为导向,通常包含 5 个步骤:

  1. 服务策略
  2. 服务设计
  3. 服务过渡
  4. 服务运营
  5. 持续改进服务

ITIL 是实施 ITSM 实践的框架。 该框架是组织中立的,因此可以应用于几乎所有业务,即使 IT 关注的唯一客户是内部客户。 由于它们之间的联系如此紧密,因此 ITIL 和 ITSM 在许多问题上保持一致也就不足为奇了。

根据 itiltraining.com:

“我们非常重视持续改进。 这涉及持续测量和改进流程、IT 服务和 IT 基础设施。 这样做可以最大限度地提高他们的效率、效力和成本效益。”

ITIL 如何与 DevOps 协同工作

当您遵循 ITIL 流程时,您的重点是使 IT 与您组织的业务目标保持一致。 这与打破整个组织孤岛的 DevOps 理念非常吻合。 此外,通过打破这些孤岛,您可以消除沟通瓶颈,让团队能够更快地交付客户想要的功能,并更紧密地遵守 CAMS 模型(文化、自动化、测量、共享)。 但是,当应用于组织时,这实际上看起来如何?

什么时候用哪个?

您的组织可能会在不同的情况下依赖 ITIL 和 DevOps,为不同的场景提供最有效的解决方案。 例如,在开发和运营团队之间利用 DevOps 最佳实践可能是有意义的,这需要在工作流、代码推送、自动化和监控方面保持一致。

然而,当组织的不同部门之间可能以不同的速度运行时,比如销售和 IT,ITIL 实践可能会派上用场。 下图仅给出了如何在不同情况下应用这两种方法的几个示例:

ITIL 和 DevOps 图

IT 与组织其他部门之间的一致性

混合使用 ITIL 和 DevOps 最佳实践的结果是更好地与组织范围的目标保持一致。 当 IT 和组织的其他部门作为完全独立的实体运作时,一方可能总是会感到工作过度和支持不足。 在“凤凰计划”中,这部小说着眼于虚构组织与 IT 集成的斗争,这成为了中心冲突。

在书中,IT 部分负责研发和销售计划的成功。 研发需要准确的数据和库存报告,以便及时补充库存并将新产品推向市场。 销售需要有效的 CRM、电话/语音邮件和 MRP 系统。 否则,他们将无法添加或更改客户订单,也无法管理客户健康。

如果没有跨职能的沟通,就无法为这些必要的变化制定计划。 反而是各部门互相提出不合理的要求,经常丢球,公司收入一落千丈。

当 IT 部门与组织的其他部门保持一致并进行沟通时,这种冲突得到了解决,其他部门负责人为 IT 计划提供了高层次的支持。 通过打破孤岛并共同努力,许多问题都得到了解决。

有时,IT 计划和业务计划的时间安排似乎是异步的。 但是,通过利用 ITIL 和 DevOps 最佳实践,组织可以创建一个有凝聚力的时间表。 下图显示了这些流程如何同时工作以满足整个组织的需求。

ITIL 和 DevOps 最佳实践

共享所有权和持续改进

除了流程改进之外,在您的组织中创建 DevOps 和 ITIL 框架之间的一致性还会带来另一个显着的好处:思维方式的转变。 DevOps 通过鼓励共享所有权和持续改进为 ITIL 框架带来了新的创新。

当组织孤岛最小化时,组织的目标就变成了个人的目标。 每个人都拥有企业的成功和失败,因为他们都是同一个团队的成员,以相同的结果为导向。 部门不再相互竞争。 持续改进成为公司文化的一部分,失败被庆祝并被视为学习机会。

发现:随着您的浏览,了解软件可靠性如何成为贵公司的首要任务!

ITIL 如何与 SRE 协同工作

既然我们已经介绍了 DevOps 和 ITIL 是如何协调一致的,那么是时候谈谈 SRE 和 ITIL 是如何协调一致的了。 由于 SRE 是 DevOps 的一种实现,因此其中许多对齐方式是相似的。 可以使用所有三种方法的最佳实践来帮助组织以最高效率运作。 在实践中,ITIL 和 SRE 实际上可以很好地结合。

第一个原因很简单:每个组织都想要满意的客户,而 ITIL 和 SRE 可以帮助不同的职能部门协同工作以实现这一目标。 在整个软件生命周期中嵌入可靠性可以确保更高的客户满意度。 随着 ITIL 的最新修订版引入了七项指导原则,SRE 和 ITIL 更加紧密地结合在一起。

ITIL 4 的七大原则

以下是 ITIL 4 的七个原则。让我们更详细地讨论它们。

1. 从你所在的地方开始

采用 SRE 最佳实践并不是万能的,每个人都从某个地方开始。 迈出第一步并在执行过程中进行实施和迭代是最重要的。

2.保持简单实用

在 Google SRE 书中关于简单性的章节中,它指出:

“与生活中的其他事物不同,‘无聊’实际上是软件的积极属性! 我们不希望我们的节目是自发的和有趣的; 我们希望他们坚持剧本并以可预见的方式实现他们的业务目标。”

软件和业务运营的简单性简化了通信,提高了速度,并有助于确保可靠性不受影响。 少即是多。

3.优化和自动化

SRE 的目标之一是自动化繁重的流程,并让开发人员有时间专注于创新而不是计划外的工作。 这优化了工作流程并允许更快地发布新功能。

4. 通过反馈迭代进步

SRE 为最重要和以用户为中心的指标设置警报。 它们所关联的指标、警报和 SLO 都经过迭代以满足客户需求。

5. 合作并提高知名度

SRE 在文化上是协作的。 它专注于一种无可指责的工作文化,重视从失败中学习,并相信每个团队成员都在做他或她认为对组织最有利的事情。

6. 关注价值

没有客户,软件就没有价值。 当客户想要并且正在从产品中获得他们需要的东西时,就会创造商业价值。 SRE 最佳实践确保产品足够可靠,可以为客户提供价值,从而为组织提供价值。

7. 整体思考和工作

通过打破孤岛并在整体层面上关注可扩展性和可靠性,SRE 能够为组织的成熟提供显着优势。 业务范围内的成功掌握在每个团队成员手中,SRE 致力于确保公司的产品、系统和程序具有足够的弹性,不仅能够满足而且超过客户标准。

灵活快速的变更管理

ITIL 的最佳实践之一是由变更授权委员会 (CAB) 监督的协调变更管理。 然而,正如 Mindbridge Kaimar Karu 的合伙人所指出的:

“让 CAB 审查每一个变更请求效率不高,而且绝对不是常识,尤其是当他们的成本在某些组织中达到每小时数万次部署时。 但是,当部分业务因为可能受到影响而需要咨询时,让 CAB 审查未知风险的变更请求是很有意义的。”

SRE 可以帮助解决这个问题,其核心原则有助于促进更加灵活和快速的变更管理。 随叫随到的做法使团队能够全天候地对生产中的代码负责。 作为快速修复的一部分,回滚可以自动化。 事件事后分析有助于关键的学习洞察力,例如 SLO,可帮助团队在重要事项上保持一致,并消除现代服务管理爆炸式增长的复杂性。

此外,错误预算为开发团队制定了何时可以安全发布新功能的指南。 如果错误预算中有足够的空间,则批准更改,但如果错误预算已耗尽或接近耗尽,则更改将推迟到下一个窗口。

这种增加的灵活性也受到 SRE 领导思维的启发。 SRE 不是命令和控制的理念,而是认识到在不断变化的环境中需要灵活性,并专注于控制的上下文。 这意味着,如果必须交付关键业务功能,它将交付。

ITIL、DevOps 和 SRE 梦之队

虽然一些组织仅在其中一种方法的背景下运作,但许多组织发现将这三种方法混合使用是协调业务和 IT 目标以创建安全、可靠服务的最有效方式。 下面是每种方法的优势图表。 虽然它们可能基于相同的原则并试图达到相同的结果,但方法实际上是不同的,并且非常互补。

ITIL 开发运维SRE
哲学与文化

使 IT 与业务需求保持一致,建立共生关系

指挥控制和流程驱动以降低风险

改善团队合作并消除孤岛

旨在建立一致性并最大限度地减少开发和运营之间的孤岛

通常旨在帮助团队提高部署的速度和质量

免去繁琐,设计可操作

将运营视为软件问题以最大限度地提高效率

非常适合支持需要超可靠的大规模分布式服务

关键实践和工具

容量规划

服务目录/CMDB

问题管理

变革管理/顾问委员会

容量规划

随传随到

微服务

CI/CD

基础设施即代码

监控和记录

通讯与协作

匹配 DevOps 关键实践:渐进式部署、SLO 和错误预算

可观察性

混沌工程

团队合作集中式流程和可见性的传统模型。 工作通常排队(“瀑布”)。
通过中央 NOC 团队传递的事件

在整个服务生命周期中,开发和运营越来越多地共享相同的流程和工具。

通常,这意味着开发人员会随叫随到他们构建的内容,但可能会与操作人员合作以获得 L2 支持

SRE 通常充当顾问以建立以可靠性为导向的实践


软件工程师和 SRE 的角色融合在一起,围绕共享的流程和成果保持一致

关键措施可用性、# 个事件、# 个升级等。 可用性、部署频率等

SLO 以及可用性、部署频率等。

错误预算

结论

通过确定哪些实践对您的团队最有意义,并通过反复试验,您可以找到确保您的组织以最高效率运作的最终组合。

更多内容:继续学习。 了解您的公司如何从无可指责的文化中受益。