什么是 DevOps?

已完成

DevOps 是人员、过程和产品的集合体,可以支持我们向客户持续交付价值。 但这到底意味着什么? 让我们加入团队,听 Mara 阐释 DevOps 是什么、不是什么,并了解绩效精英的成功秘诀。

Mara 请她的团队成员来开一次短会。 每个人都心不甘情不愿地到场了。 她在桌上放了一盒甜甜圈。

Mara:大家好,感谢各位的到来。 我想谈谈我们的价值流图,还有如何让流程更高效。

Mara 在上次会议中使用的价值流图仍在白板上:

显示着价值流图的白板的屏幕截图

Mara:价值流图展示了我们在向最终用户提供价值时哪些地方效率不高。 和其他人一样,我们可以改进,我们可以决定首先解决哪些领域。

Andy:这张图显示了我们哪里存在问题,但没有显示应该如何解决问题。

Mara:是的,这种方法有助于为我们指引正确方向。 至于如何处理我们的问题,我想 DevOps 可以帮助我们。 在我的上一家公司,我们的部署速度大大提高,交付周期缩短,并且操作事故也减少了。 我们花了一段时间才做到这一点,但很值得。 DevOps 并不能快速解决问题。

Tim:我认识的一个人刚找到了一份 DevOps 工程师的工作。 我想它对开发者的用处更大。 听起来就像是为你设计的,Andy。

Mara:DevOps 不是职务。

Amita:有什么软件程序可以帮到我们吗,或者模板? 也许有这样的 DevOps 电子表格。

Mara:DevOps 不是一个软件。

Andy:它更像一种方法。

Mara:不完全是。

Andy、Amita、Tim:那么它是什么?

Mara:我想用下面这句话来定义它:

DevOps 是人员、过程和产品的集合体,它让我们可以向最终用户持续交付价值。

事实上,Microsoft 的云大使 Abel Wang 提供了一系列优秀的视频,可以快速解答我们的一些问题。 让我们看看 Abel 如何定义 DevOps:

咨询 Abel

我们的目标是提供客户喜欢的游戏。 我们要结合一系列共同做法和共享工具来实现这一目标。

Amita:这是什么意思? 有哪些共同做法? 有哪些共享工具?

Mara:下面是我所说的做法:

  • 敏捷规划:我们将一起创建一个积压工作表,让每个团队成员和管理人员都能看到。 我们将对表中各项进行优先级排序,以便了解需要优先进行哪项工作。 积压工作可以包括用户故事、Bug 和其他有帮助的信息。
  • 持续集成 (CI):我们要对生成和测试代码的方式进行自动化。 每当团队成员提交对版本控制的更改时,我们都会运行这一自动化过程。
  • 持续交付 (CD):CD 是我们从内部版本到 QA 或生产环境所使用的测试、配置和部署方法。
  • 监视:我们将使用遥测获取有关应用程序性能和使用模式的信息。 我们可以利用这种信息不断改进。

Amita:我不知道自动测试可不可行。 我的测试是手动的,而且总是在 Andy 给我代码之后开始测试。 我没时间改变我的工作流程。

Tim:我不可能让你们中的任何人部署到生产。

Andy:这只会吓到管理层。 他们从来不考虑下一次发布以后的问题,还总是指责我们交付不够及时。

Mara:我知道你说的关于管理层的意思。 关于如何成为绩效精英团队,我整理出了这份材料。

如何成为绩效精英团队?

下面是 Mara 准备的分发材料。 信息基于 DevOps 研究报告以及与全球各地的技术专家进行的调查。

DevOps 可帮助公司试验各种方法来提高客户采用率和满意度。 它可以提升组织绩效,并且通常还能提升盈利能力和市场份额。

它使用指标创建四个类别,并按照这些类别来比较精英型员工和低绩效型员工

精英型员工:

  • 部署更频繁

    实际上,有些团队每天部署数十次。

    监视、持续测试、数据库变更管理以及在软件开发过程中尽早集成安全性等做法可帮助精英型员工更频繁地部署,并具有更高的可预测性和安全性。

  • 缩短从提交到部署的交付周期

    交付周期是将功能提交给客户所花费的时间。 通过小批量工作、自动化手动流程和更频繁地部署,绩效精英可在数小时或数天内完成曾经花费数周甚至数月的任务。

  • 减小更改导致故障率

    如果一项新功能在生产环境中失败或导致其他功能中断,可能会让你错失留住用户的机会。 随着高绩效团队的成熟,其变更失败率会随时间推移而降低。

  • 加快事故恢复

    当事故发生时,绩效精英能够更快完成恢复。 根据指标操作有助于精英型员工更快地恢复,同时更频繁地部署。

实施云基础结构的方式也很重要。 云可提高软件交付业绩,并且采用基本云特性的团队更有可能成为精英型员工。

外包可节省资金并提供灵活的劳动力资源,但必须用对地方。 与高绩效团队相比,低绩效团队更有可能将全部职责(例如测试和运营)外包出去。

底线

许多绩效精英正是因为使用了 DevOps,才能以新增功能和改进的形式,比竞争对手更快地向客户提供价值。 在这个简短的视频中,Abel 介绍了为何需要详细了解 DevOps:

咨询 Abel

DevOps 不是什么

在思考 DevOps 是什么时,还必须确保了解它不是什么。 DevOps 不是

  • 一种方法。
  • 一款特定的软件。
  • 一种快速解决组织难题的方法。
  • 而只是一个团队或职务(尽管这些头衔在业界相当普遍)。