DevData Talks | 胡涛:拥抱开源 DevOps 工具链

上周的 DevData Talks 直播活动中,我们邀请到了 Dell EMC VxRail,高级主管软件工程师,Dev Ops 架构师——管俊老师和 DevStream PMC Member,思码逸 DevOps 专家——胡涛老师,与我们分享从 DevOps 工具到实践,高效能团队的建设策略。

以下是胡涛老师讲座内容的文字版干货回顾,如需查看 PPT 或直播回放,请在文章末尾获取。

内容提纲

  • 一站式 DevOps 平台
  • 微服务化趋势的思考
  • DevOps 背后的价值
  • 开源 DevOps 工具链
  • DevStream 横空出世

一站式 DevOps 平台

当 DevOps 工具链选型时,许多团队会考虑一站式 Devops 平台。来自国内大厂的一站式方案包括云效、CODING、DevCloud等。

有没有觉得这些一站式 DevOps 平台都很高大上?有没有觉得给了钱就能马上落地大厂的最佳实践?

一站式 DevOps 集成了研发各个环节的软件功能,让团队无须在工具落地、工具间打通等事务上花费实践,对新人非常友好,工程师们也可以少在工具上花时间,更加专注实现业务逻辑。

或许这些产品上手简单且功能强大,但别着急掏腰包,听我讲完或许你会有一些不同的想法。

微服务化趋势的思考

微服务这个概念近些年风很大。但我们是否思考过选择微服务化背后的逻辑是什么?

因为敏捷?灵活?拓展性?更加精准的资源分配能力?还是因为潮流?一种技术成就感?

我们看到了微服务化带来的各种优势,但同时是否仔细权衡了它的技术风险、网络开销、维护成本等问题?

在回答之前,我们回头看一下微服务的初衷。以下几幅图讲述了《人月神话》中的定律:我们经常美好地以为有更多人员参与就可以更快交付,但在现实、复杂的软件系统开发中,往往不是如此。
DevData Talks | 胡涛:拥抱开源 DevOps 工具链_第1张图片而微服务的初衷,就是为了这个问题。微服务的“微”,我理解更多不是在软件层面,不是把应用做得多小、代码行数上限是多少;而更多是在团队层面,能够拆分成精干且相对独立的小型团队。这些小团队可以独立完成各自服务的开发、测试、发布,等等过程,进而实现交付效率最大化。

当然这也要求在软件层面控制住复杂度,能够合理拆分并分配给各个小型团队独立负责。所以“微”的本质是将服务拆分成 “two-pizza teams” 就能够推进的粒度。

DevOps 背后的价值

前面我们重新梳理了微服务的价值。那在微服务的语境下,我们如何去看待Devops平台呢?

全组织通用的一站式 Devops 平台,相当于把所有小团队绑在了一起,被捆成一个木头水桶互相迁就。此时即使最长的板子——某个小型团队对 DevOps 工具链有独到理解和最适合自身的建设思路,也只能让位于组织统一治理的需求,难以发挥价值。

长板具有巨大潜力,而用一站式 DevOps 平台去限制他们,也是某种程度上的浪费。所以如果我们认可“微服务”的价值,有什么理由将多个 “Two-Pizza” Teams 绑到一起?

开源 DevOps 工具链

假如我们选择 Devops 工具链,那么事情会不会变得更有趣一些?GitHub、Argo CD、GitLab 这些 logo 大家都很熟悉。使用开源 Devops工 具链是不是意味着灵活(每个团队都能搭建起最适合的工具链)、省钱?

这个方案确实是灵活,但未必省钱。软件研发生命的任意一个环节都可以自定义,但是调研、试错、落地、打磨……其中隐含大量非直接成本,或许“免费”的开源工具实际上成本更高。

除了一站式 DevOps 平台和开源 DevOps 工具链,可能你还想聊聊自研 DevOps 平台?

恭喜你,事情更复杂了。不管是一站式 DevOps 平台,还是自研一套 DevOps 平台,其实里面都或多或少依赖开源工具。

想象一个没有 YUM/APT 等包管理工具的 Linux 发行版,我们在里面安装配置开源工具、部署自研工具、还要让自研的软件和开源软件流畅协作。这样一套方案的运维成本是相当高的。

在 Linux 世界,我们有了 YUM/APT 等工具来统一管理各种软件的部署逻辑,不只是开源软件,自研软件也能以 RPM/DEB 等包规范来封装。

那么在 DevOps 世界,有没有这样一个开源工具能够解决痛点,帮我们轻松部署各种开源 DevOps 工具、企业自研工具,打通工具链,并内置一些可参考的最佳实践,使 DevOps 工具链能够灵活配置易上手呢?

DevStream 横空出世

什么是 DevStream?

DevStream 是一款解决 DevOps 工具链管理的开源工具。
DevData Talks | 胡涛:拥抱开源 DevOps 工具链_第2张图片
中文官网:https://www.devstream.io/zh/

英文官网:https://www.devstream.io/

如何开始使用 DevStream?

通过 DevStream 的官网可以找到代码库,其中有我们每次发布的历史版本,目前已经是 release 版本 0.4.0,有 “dtm-darwin-arm64”、“dtm-darwin-amd64”、“dtm-linux-amd64” 三个版本可以使用。

我们需要下载可执行文件与支持插件,并根据需要进行配置修改。

DevStream 到底是什么?

其实我也不知道 DevStream 最终会是什么样,但 DevStream 选择一开始就开源,我们希望尽早听到用户的声音。

DevStream 的发展离不开社区用户的支持,DevStream 欢迎所有人参与社区建设,一起完善 DevStream 的功能,让 DevStream 越来越强大!

看完了文字回顾还意犹未尽?欢迎观看直播回放与 PPT 。期待与你交流!

你可能感兴趣的:(DevStream,研发效能)