开源开发者可以为任何依赖开源软件的公司创造巨大的价值,因为他们能够指导和影响开源社区的各个方面。这使公司能够塑造他们所依赖的工具,并使其更好地适应公司需求,这种现象也被称为“挠自己的痒处”。
尽管开源开发者的主要技能是编写良好的代码,但他们的价值远远超出技术技能。采用开源实践需要参与到多元化的社区中,这些社区有许多利益相关者,他们都有各自需要解决的问题。开源开发者发现自己处于一个复杂的位置,这要求他们不仅要成为技术领域的专家,还要成为沟通和协作方面的专家。
这类复杂的工作在 DevOps 方面提出了两个问题
- 通常很难量化或表示这项工作的价值。
- 它需要各种各样的工具,这些工具可以进行调整以适应特定需求。
我的工作很大一部分是弄清楚如何在不过度消耗宝贵的编码时间的情况下,提高开源开发者工作中非开发方面的价值。
行业工具
我对 DevOps 的理解是 IT 专注于应用程序而不是基础设施。如今,有极其多样化的 IT 工具可供选择来解决问题,而 DevOps 工作最重要的要求之一是能够选择最适合开发者需求的工具。每个开源项目都会有自己独特的需求,但其中许多项目都会出现一套标准的工具。
沟通
- 实时沟通 (IRC)
- IRC 服务器允许您的开发者处理彼此之间简短、快速的沟通。它还可以为茶水间闲聊提供一个非正式的场所,这有助于在分布式环境中建立社区意识。
- 异步沟通 (邮件列表和论坛)
- 这些可以用于人们提问或讨论与开源工作相关的任何事情。
- 报告和协作文档 (Wiki)
- Wiki 擅长以易于阅读和操作的形式提供信息。在大多数开源社区中,这是了解开源项目内部运作的主要资源。
- 协作编辑 (Etherpad、OwnCloud、代码仓库)
- 很可能会出现多人同时处理相同资源的情况,因此拥有能够满足这种需求的工具非常重要。
- 其他公共网络展示 (WordPress、Drupal)
- 公共网站是传递开源项目最重要信息的最佳平台。这种渠道非常适合分享发布信息、一般社区发展和高层项目发展。
根据您的意愿,这些资源中的每一个都可以向公司内部其他与开源开发者工作相关的团队开放,甚至可以向开源开发者需要合作的外部社区或个人开放。
定制:开源 DevOps 的真正力量
很少有工具能完美地胜任工作,这意味着通过修改代码来自定义应用程序并通过自定义脚本实现自动化是非常宝贵的。这种对定制和自动化的需求是开源在 DevOps 中被证明如此有用的主要原因。虽然 DevOps 工程师并不总是需要具备高级软件工程和系统管理知识,但在 Python、HTML/CSS、PHP 和 Bash 等语言中编写功能脚本的能力将大大减少花费在标准功能上的时间。
在 DevOps 工作中,最大的挑战之一是知道如何为工作选择正确的工具,并调整这些工具以满足开发者的需求。为了在这个领域取得成功,深入研究 IT 工具的内部运作方式是绝对必要的。DevOps 不仅仅是构建开发和生产环境,它通常还涉及许多远远超出支持编写代码的任务。最终,DevOps 的全部意义在于尽一切努力帮助您的开发者在工作中脱颖而出,而积极参与开源社区需要考虑许多软件工程之外的因素。
DevOps
本文是 Greg Dekoenigsberg 协调的 Easy DevOps 专栏的一部分。请通过 devops-stories@redhat.com 联系我们,分享您的故事和建议,这些故事和建议有助于使 DevOps 变得实用——以及您经验中的工具、流程、文化、成功和光荣/不光荣的失败。.
评论已关闭。