近来,DevOps 似乎成为了 IT 界的热门话题——而且理由充分。DevOps 简化了 IT 开发和运营的流程和生产。然而,在时间、精力、知识和财务投资方面,采纳 DevOps 理念也存在前期成本。大型公司可能拥有带宽、预算和时间来进行必要的更改,但对于兼职、资源匮乏的社区来说,这是否可行?
兼职社区是由志同道合的人组成的团队,他们在正常工作时间之外承担项目。这些社区的成员受到热情和共同目标的驱动。例如,ALM | DevOps Rangers 就是这样一个社区。在全球范围内有 100 名游骑兵参与,DevOps 解决方案似乎令人望而生畏;尽管如此,他们还是接受了挑战并拥抱了这种理念。通过他们的例子,我们了解到 DevOps 不仅在小型团队中可行,而且是可取的。要了解他们的转型,请查看“DevOps 如何消除开发瓶颈”。
“DevOps 是人员、流程和产品的结合,旨在为我们的最终客户实现持续的价值交付。” - Donovan Brown
DevOps 的成本
如上所述,DevOps 存在前期“成本”。成本以多种形式体现,例如开发、运营和其他利益相关者之间的时间和协作,规划交付持续价值的顺畅流程,寻找最佳 DevOps 产品,以及培训团队掌握新技术等等。事实上,这与 Donovan 对 DevOps 的定义直接一致——交付持续价值的流程以及实现这一目标的人员。
精简 DevOps 需要大量的计划和培训才能创建流程,这甚至还没有考虑到测试阶段。我们也不能忘记需要转换为新系统的现有在途项目。虽然转型越普遍,成本就越高——例如,如果一个组织旨在将整个开发组织统一在一个流程下,那么与转型单个试点项目或整个产品组合的子集相比,这将花费更多——但无论规模如何,都必须解决这些前期成本。已经有很多资源和产品可以用来实现更平稳的过渡——但同样,我们面临着时间和精力,仅仅为了研究哪些资源和产品可能最有效。
以 ALM | DevOps Rangers 为例,他们不得不暂停所有项目几个迭代,以建立初始流程。许多组织将无法做到这一点。即使是兼职团队也可能有非常充分的理由保持项目推进,这只会增加复杂性。在这种情况下,需要额外的切换计划(以及因此产生的额外成本),并且社区的整体状态处于波动和变化之中,这增加了风险,而您猜对了——这需要更多的成本来缓解。
团队在 DevOps 思维模式下还将面临持续的“成本”:系统的简单维护、培训和过渡新团队成员以及跟上新的、改进的技术都是流程的一部分。
兼职社区的 DevOps
虽然大型公司可以安排一名经理甚至一个团队来专门负责监督持续集成和持续部署 (CI/CD) 管道的任务,但兼职社区团队没有足够的带宽来做到这一点。面对如此庞大的任务,我们必须问:对于资源较少的团队来说,为他们的社区采用 DevOps 真的值得吗?或者他们应该完全放弃 DevOps 的想法?
答案取决于几个变量,例如团队的自我管理能力、每个成员愿意投入到转型中的时间和精力,以及社区对流程的奉献精神。
示例:DevOps 在兼职社区中的优势
幸运的是,我们并非没有例子来证明 DevOps 如何使较小的团队受益。让我们再次快速看一下 ALM Rangers。他们转型的结果帮助我们了解 DevOps 如何改变了他们的社区

如图所示,兼职社区团队有巨大的好处。计划从漫长而艰巨的设计会议转变为快速原型设计和故事板制作流程。构建变得自动化、可靠且具有弹性。测试和错误检测是主动的而不是被动的,这转化为更快乐的客户。多个全职项目经理被自我管理团队取代,只有一个兼职经理来监督项目。团队变得更小更高效,这等同于更高的生产率和更高质量的项目交付。有了这样的结果,很难反驳 DevOps。
尽管如此,前期成本和持续成本并不适合每个社区。任何 DevOps 转型最重要的方面都是参与人员的心态。对于任何团队来说,采用自主管理团队的想法(而不是传统的指挥链方案)可能是一个挑战。成员必须愿意在没有过多监督的情况下独立工作,并对其功能和用户体验负责,但同时,要在对社区其他成员完全透明的环境中工作。DevOps 战略的成败取决于团队。
通过 4 个步骤实现 DevOps 过渡
另一个要问的重要问题是:低带宽团队如何进行如此大规模的转型?好消息是,DevOps 转型不需要一次性完成。通过较小、更易于管理的步骤,任何规模的组织都可以拥抱 DevOps。
- 确定为什么 DevOps 可能是您需要的解决方案。您的项目是否遇到瓶颈?它们是否超出预算和超出时间?当然,这些担忧对于任何社区(无论大小)都很常见。回答这些问题将我们引向第二步
- 开发正确的框架以改进工程流程。DevOps 的核心是自动化、协作和简化。框架不应试图将每个人都塞进同一个流程框中,而应支持社区的工作习惯、偏好和交付需求。应建立一些广泛的标准(例如,所有团队都使用特定的版本控制系统)。除此之外,让团队决定他们自己最好的流程。
- 如果当前可用的产品满足您的需求,请使用它们。为什么要重新发明轮子呢?
- 最后,实施并测试实际的 DevOps 解决方案。当然,这才是 DevOps 的实际价值得以实现的地方。可能会有一些问题和一些令人头疼的事情,但最终一切都将是值得的,因为一旦建立起来,社区工作的成果将对用户来说更加灵活和快速。
重用 DevOps 解决方案
创建有效的 CI/CD 管道的一个好处是这些管道的可重用性。虽然没有万能的解决方案,但任何人都可以采用流程。有几个预制模板可供您查看,例如 VSTS 上的构建模板、用于部署 Azure 资源的 ARM 模板以及技术出版商提供的“食谱”式教科书。一旦确定了有效的流程,社区还可以通过定义和建立标准并使整个社区易于发现该模板来创建自己的模板。有关 DevOps 旅程和工具的更多信息,请查看此站点。
总结
总的来说,DevOps 的成功或失败取决于社区的文化。社区是资源丰富的大型企业还是资源匮乏的小型兼职团队都无关紧要。DevOps 仍然会带来实实在在的好处。区别在于采纳的方法和采纳的规模。既有前期成本,也有持续成本,但价值远远超过这些成本。社区可以使用当今可用的任何强大工具来构建他们的管道,他们还可以利用可重用性(例如模板)来降低前期实施成本。DevOps 对于兼职社区团队的成功绝对是可行的是——甚至是至关重要的。
[请参阅我们的相关报道,“ DevOps 如何消除开发瓶颈”。]
1 条评论