没有开源,就没有 DevOps

还没有读者喜欢这篇文章。
A sunrise

Opensource.com

你可能认为我会谈论为什么你应该使用开源工具作为组织中有效 DevOps 文化的基础,但这并不是本文的重点。并非要轻视 我所在的团队 所面临挑战的复杂性,但我相信工程师们会解决工具问题。信不信由你,真正令人望而却步的部分是文化变革。

我花了大量时间阅读关于 文化变革、如何拥有一个 有效的 DevOps 社区、如何 建立高效的团队,以及提出问题,“我该如何 DevOp?”。我读到的这些想法给我提供了一些新的工具。然而,没有什么比以下内容更能引起我的共鸣:

开源之道是...

开放交流

当信息开放时,我们可以从彼此身上学到更多。自由的思想交流对于创建一个允许人们学习和利用现有信息来创造新想法的环境至关重要。

参与

当我们能够自由协作时,我们就能进行创造。我们可以解决任何人都无法独自解决的问题。

快速原型

快速原型可能会导致快速失败,但它会导致更快地找到更好的解决方案。当你能够自由尝试时,你可以用新的方式看待问题,并在新的地方寻找答案。你可以通过实践来学习。

精英体制

在精英体制中,最好的想法获胜。在精英体制中,每个人都可以访问相同的信息。成功的工作决定了哪些项目会崛起并聚集社区的力量。

社区

社区是围绕共同目标形成的。它们汇集了不同的想法并分享工作。一个全球社区可以创造出超越任何个人能力的东西。它可以成倍增加努力并分担工作。在一起,我们可以做得更多。

这就是你如何获得有效的 DevOps 文化。你拥抱开源之道。

如果你没有兴奋地挥拳,请回想一下你过去曾经有过的工作,让你感觉像这个人一样,然后重新阅读一遍。

开放交流、参与、社区

我在 Red Hat 之前的工作经历充满了“做好你的工作”和“事情就是这样,你无法改变它”之类的说法。我曾发自内心地感受到那种可怕的感觉:不得不告诉别人他们不能提出自己的想法,不是因为这个想法不能解决很多问题,而是因为他们不认识合适的人,或者不知道以最好的方式表达他们的想法。

当你拥有 开放交流 并且每个人都被鼓励 参与

  • 人们互相交谈,并在彼此的集体经验基础上进行构建。
  • 人们在共同工作时赢得彼此的尊重。
  • 当人们了解并尊重彼此时,他们不太可能说“这是某某的工作,不是我的”。

如果有人说“一起工作,否则...” 那么任何团队都不会相信他们处于最佳工作环境中。是的,他们会一起工作,但是难道你不希望给他们一个想要一起工作的理由吗?这个理由可以简单到帮助两个人建立在相似兴趣上的联系,也可以困难到让长期以来一直不喜欢彼此的团队一起工作。但这里的关键因素是通往同理心的道路,以及尊重你一周都在一起的人。归根结底,你需要营造一种可以表达观点、可以拥有想法...可以分享的环境。

即使在我工作的 团队 中,开源之道的价值观也得到了个人的拥抱,我们仍然必须努力继续培养全球社区和协作意识。即使在 Red Hat,这也很难。我每天都在努力尽可能地展示我们团队正在做的事情,无论它看起来多么微不足道。结果是什么?人们分享他们的想法,并帮助构建我们可以引以为豪并支持的东西。

快速原型和精英体制

我和我正在合作的工程师团队早期发生了一件很棒的事情;他们提醒我完成一些事情的重要性。我们花了很多时间试图理清我们可以做的大量事情,结果是什么?坦率地说,就是大量的谈话。

能够向别人展示你正在做的事情,并收到关于这件事的反馈,比谈话更有意义。 快速原型? 能够 看到代码,而不是让一个想法消失在需求漏洞中并在 QA 中重新出现,这真是太令人满意了,我都无法说够。在我过去的项目经验中,我没有看到代码被交付、收到更改的输入以及随后被快速修改。所以,这对我来说仍然是变革性的。

不要误会我的意思,这并不是一件容易掌握的事情。早些时候,该团队做出了一项技术决定,即继续开发一个 自定义应用程序,该应用程序可以提供某些 系统信息(如正在运行的软件版本),而无需对服务器进行 root 访问。我知道已经有工具可以做到这一点,但该团队想要一些快速的东西来缓解痛苦。完成之后,我们同意开始研究更长期的解决方案来提供帮助。我们仍然能感受到这一决定带来的痛苦;就该项目而言,精英体制 处于全面模式,没有人羞于分享其对服务器的影响的细节。但是,我仍然可以说这项工作是成功的,因为归根结底,它让最需要它的人感到高兴,并且肯定会让人们与我交谈。

考虑一下

如果你认为员工不够自在而无法分享想法,或者被告知不要协作因为它不是他们的工作,或者暗示他们的经济福祉与执行一项功能有关,并且没有强调整体系统思考,那么你认为 DevOps 转型会有多困难?

开源之道并不是成功的简易按钮。然而,它可以做的是为个人和团体提供一套价值观,遵循这些价值观可以将你的组织带上通往有效的 DevOps 社区的道路。帮我一个忙,回去再读一遍那些价值观。你和你的组织是否足够开放以拥抱开源之道?

标签
User profile image.
Jen Krieger 是 Red Hat 的首席敏捷架构师。她 20 多年的职业生涯主要从事软件开发,在瀑布式和敏捷式生命周期中担任过许多角色。在 Red Hat,她领导了一场部门范围内的 DevOps 运动,重点关注 CI/CD 最佳实践。最近,她与 Project Atomic 和 OpenShift 团队合作。

15 条评论

简单而出色。

我不怀疑资金有限且无法负担成熟工具的初创公司会发现开源的价值,但当组织开始成长并取得成功时,开源并不是答案。最好的例子是 Jenkins,它非常适合其设计目的——小型团队,紧密结合。但是当组织成长并且你有多个团队在世界各地工作时,Jenkins 会创建一个非常出名的情况,称为“Jenkins 蔓延”,这会妨碍增长和控制,并且如果不加以控制,可能会导致失败。请记住,在开源中,你得到你所支付的。

专有解决方案带有专有成本,这迫使人们仔细考虑如何使用工具。因此,问题不在于 Jenkins,而在于它太开放、简单和有用了,以至于每个人现在都想使用它,而不是等待中央位置的标准化和受支持的部署。

不,问题不在于商业解决方案的成本或专有性,而在于解决方案带来的价值。 Jenkins 根本不是一个企业级的解决方案,它只是一个团队解决方案。

为了解决您提到的蔓延问题,需要进行治理。 我只是说,闭源工具的使用会产生前期和/或重复性成本,因此该工具从一开始就受到治理。 是的,价值是工具选择的关键,但我不同意 Jenkins 不能用于企业级解决方案。 更多的是企业没有很好地评估以统一和支持的方式使用该工具的非货币成本,这导致了蔓延。 团队可能会发现“真正的”构建工具繁琐、臃肿、缓慢等等,因此会创建一个基于团队的解决方案。 因为它简单、灵活且开放,而不是因为它不适合在企业中使用。

治理是一个独立的概念。 真正的治理是指您意识到您使用的工具与组织的目标不一致。 治理解决蔓延的唯一方法是消除蔓延的原因,并用满足 IT 治理需求的工具取而代之。 开源并不等同于简单或灵活。 这是一个很久以前就被打破的神话。

我看到了组织在经历增长并试图让 Jenkins 做它最初设计没有做的事情所产生的后果。 我看到了需要集中控制、信息访问、跨团队协作的管理层所面临的痛苦,但无法通过 Jenkins 实现。 这就是为什么许多组织完全放弃 Jenkins,或者寻找可以处理摆脱 Jenkins 的文化冲击的商业解决方案,首先吸收它,然后慢慢地从组织的流程中移除它。

当快速 搜索“jenkins 蔓延”时,出现 CloudBees,一家专门解决大型 Jenkins 部署的 SAAS 提供商,这真是有趣。 在这里,您可以选择为托管环境中的开源解决方案付费 - 购买 Jenkins 贡献者的技能以及那些专注于如何使其为企业工作的人员。 正是您所要求的!

哦? 您认为将 Jenkins 作为 SaaS 托管会消除 Jenkins 设计的局限性吗? 这 - 真 - 滑稽。 哈哈! 对不起,你不明白。

举个例子说明我觉得你的评论有多么滑稽,如果我按照你的逻辑,我应该可以在一堆虚拟机中部署 MS Access,并称之为企业数据库解决方案。:)

开源工具正在为公司提供成熟的价值,其中一些公司正在直接为其成功做出贡献。 已经证明,开源软件的每千行代码中的错误数量少于闭源软件 [1]。 像 NYSE Euronext 这样财力雄厚的公司 [2] 正在拥抱开源,并且已经持续多年。 最好的开源软件吸引更多的用户、更多的贡献者,并创造出更好的软件。

开源软件的贡献者不仅仅是业余爱好者。 专业人士贡献开源代码的核心部分,并负责维护现有软件。[3] 不乏对更好的开源软件有既得利益的人。

Jen 的见解非常出色:拥抱共享、可见性和共同目标的开源文化将人们聚集在一起,使个人贡献社会化,并提高 DevOps 团队的绩效。

您的文章激发了我撰写关于 DevOps 如何放大开源凭据 的文章

不要忘记,没有好的战略的文化总是会失败,但是不一定关注文化的战略可能会成功。

Juan 的评论很有趣... 根据为数百家财富 500 强/全球 2000 强组织提供咨询的经验,我不同意。 当文化不拥抱目标时,战略就会失败。 为了取得成功,IT 战略计划必须推进五个不同的顶级工作流程; 商业模式、基础设施、流程、治理、组织。 如果没有目标和目的的文化一致性,自上而下的战略就会失败。 我已经看到许多 SOA 战略因文化障碍而失败; 缺乏信任、资金模式不一致、团队边界以及缺少服务提供商的心态。 您可以在最近的一篇博客文章 http://blog.cobia.net/cobiacomm/2014/01/27/defining-a-service-oriented-architecture-soa-mindset-big-soa-or-small-soa/ 和一篇专注于 SOA & API 战略和战术的已发表论文 http://wso2.com/whitepapers/wso2-whitepaper-soa-and-api-convergence-strategy-and-tactics/ 中阅读更多关于文化障碍对自上而下和自下而上采用的影响。

这些文章描述了文化如何胜过战略,以及 API 运动如何试图解决导致人们反对 SOA 战略的文化障碍。

Chris,你发布的内容没有一句否认我所说的话。 文化永远不会胜过战略。 没有战略,无论你有什么样的文化,好或坏——组织都会失败,因为没有可以与之对齐治理的目标。 另一方面,很多组织都通过良好的战略取得了成功,但其文化被组织外部的人认为是不合适的。 我要证明这一点的唯一例子是沃尔玛。 任何曾经与他们的 IT 部门合作过的人都知道我在说什么——实力至上的心态,惯性=成功。 我甚至不必引用我自己的博客来证明这一点! 想象一下。 :)

虽然您提到的文化规范对于像开源项目这样的自愿性努力至关重要,但它们适用于许多类型的努力,包括专有软件的开发(无论如何,在内部)。 即使在传统的商业公司中,个人的主动反馈和创造力对于防止僵化也是必要的。 老板仍然是老板,但是一个期望他的员工盲目地服从命令而不贡献自己的想法或以其他方式提供反馈的老板,是在欺骗他自己、他的组织,以及(在商业公司的情况下)他的客户。 好的想法来自各种各样的地方和各种各样的人。 它们不需要商业学位或任何其他类型的教育背景或培训(如果什么都没有,即使是无知的提问也能激发好的想法)。

Creative Commons License本作品以 Creative Commons Attribution-Share Alike 4.0 International License 许可。
© . All rights reserved.