【编者按】本文作者为 Kevin Goldberg,主要介绍要想成功部署 DevOps 模式,企业所需应对的5大挑战与问题。文章系国内 ITOM 管理平台 OneAPM 编译呈现。
要给 DevOps 下个简明、准确而又恰当的定义真不是件容易的事儿。不过,以前看到过一句话,似乎能较好地解释什么是 DevOps——“DevOps 是一种文化、运动或者实践,它强调软件开发人员和其他 IT 专业技术人员之间的沟通与协作,以共同促进软件交付流程和基础设施变更的自动化。”
现在,你明白了什么是 DevOps,什么不是 DevOps,那么你又要思考,为什么你的企业应该使用 DevOps?除了打破两个分散部门之间独立的工作模式,你还可以期待怎样的显著变化和成果?根据 Puppet 最新的《DevOps 现状报告》,他们发现“高效能的IT组织比低效能的IT组织经历的故障要少 60 倍,故障恢复速度要快 168 倍。而且,他们的部署时间要短 200 倍但部署频率却高出 30 倍。”简单地说就是,成功的 DevOps 组织能在更短的时间内实现更快的产品发布频率,而且出现的问题更少。
要实现更具有协作性的 DevOps 转变,在开始前,必须搞清楚公司可能会面临哪些潜在的挑战。
1. 切记不要由上而下发起
这是很多企业试图在内部实现 DevOps 时最常遇到的问题之一。在实际过程中,任何高管都不可能直接将一个成功的 DevOps 模式生搬硬套,一声令下就开始在整个公司内实施。因为这根本不可能由上而下地推行。
成功的 DevOps 运动应该由“草根”发起,然后演变成一场全公司的文化变革。最完美的情况是,几个开发和运维人员凑在一起,共同处理一些小事件,并在合作过程中建立起良好的默契。然后这种新式的团队氛围逐渐升温,自然而然地向双方部门渗透,最终形成步调一致的反馈流程和工作节奏。
2. 从正确的项目开始
很多大中型企业的员工和办事处遍布全球。毫无疑问,这给协作带来了巨大的挑战。因为无论是语言障碍还是时差问题,又或者只是因为各部门之间的分散独立,总之公司越大,就越难形成一个完善的 DevOps 模式。这就是为什么使用正确的工具促进协作至关重要(后面再详细讨论这个问题)。同样重要的是,开始部署 DevOps 时,必须选择正确的项目。
通过使用各种工具,如果你的 DevOps 团队一步一个脚印地向前迈进,虽然一路进展缓慢,但是确实取得了实质性的成果,那么全球的团队成员就会更加关注这个新的工作模式,并且迫切地想要加入其中。运维和开发团队通力合作完成的产品,其质量也会更好,而且所有的团队成员都会为此感到骄傲。尤其是看到了自己的工作成果以后,每个成员将会更有责任感,接下来的工作也会更加努力。
3. 策略、云和工具的革新
“遗留”,在这里指的是那些阻碍 DevOps 运动的策略性和工具性挑战。首先最重要的是有关团队氛围和文化的遗留问题。我们经常听到管理层说:“我们一直都是这样做的”。没错,这就是笔者为什么开篇就强调要从公司的技术层而不是管理层推动 DevOps 运动。因为下面的人既需要也想要向 DevOps 发展,一旦他们取得了成效,上面也就不会有太多的反对意见。
第二个遗留问题是关于现有的工具。如果你的团队还在使用一些发布缓慢且不敏捷的古董级工具,那么你可以借此开始讨论工具的迁移问题。越来越多的企业已经在云和集成产品上投入了大量的资金和信任。你在决定要购买哪些工具时,一定要考虑它们是否和应用程序的生命周期相匹配,以及它们和其他工具是否能共同发挥最大的效用。
4. 量化成果与影响
我们经常听到的另一个挑战是,企业里很多成功的 DevOps 团队很难得到管理层的支持,因为他们的成果难以量化。虽然Puppet的调查报告显示 DevOps 成绩斐然,但是公司的管理层未必这么认为。作为 DevOps 团队的领头羊,你需要考虑以下几个问题:
- 你的团队多久发布一次更新?
- 发布更新后,获得了多少支持票?
- 平均多久发布一个应用?
- 每次发布的应用带来了怎样的收益,以及/或者形成了怎样的品牌影响?
这些问题有助于评定你目前的发布流程和绩效,并发现哪些地方可以实现最大程度的改进。一旦明确了这些问题,你就可以拿着这份最适合公司情况的 KPI 数据去和管理团队谈你的成果。
5. 选择适用于整个生命周期的工具集
几个星期前,笔者写了一篇关于如何选择最好的工具以及如何将这些工具映射到应用程序生命周期的文章。其实这个策略怎么强调都不过分,因为我们经常看到有些团队选择工具只是因为它们看起来很酷,又或者是有些团队想要这些工具,最后却出于各种原因再也不用了。
如果你有兴趣了解更多关于 DevOps 工具包的内容,请点击此处阅读我们的免费电子书籍。
本文转自 OneAPM 官方博客
原文地址:https://blog.appdynamics.com/devops/5-challenges-for-a-successful-enterprise-devops-model/