使用 Docker 的现代 DevOps

还没有读者喜欢这篇文章。
open source button on keyboard

Opensource.com

Docker 是否已准备好投入生产?

Avi Cavale 称,Docker 不仅已准备就绪,他的公司每周已经在生产环境中运行数千个 Docker 容器。Cavale 是容器化持续集成 (CI) 平台 Shippable 的联合创始人兼首席执行官,他说 Docker 为 IT 部门“重新设计公司”的 DevOps 流程提供了大幅加速的机会。

在我们在 ApacheCon 北美系列 中的这次采访中,Cavale 探讨了 Docker 如何融入 DevOps。他还解释了持续集成和持续开发如何改变开发人员的工作方式,以及为什么 Docker 特别适合 CI/CD 应用。

对于那些不熟悉持续集成/持续开发的人来说,您会如何描述它?这些流程如何改变开发人员创建和开发软件的方式?

持续集成是一种开发实践,要求开发人员每天多次将代码集成到共享存储库中。每次签入都会通过自动化构建进行验证,从而使团队能够及早发现问题。持续交付 (CD) 是一种软件工程方法,团队在短周期内不断生产有价值的软件,并确保软件可以在任何时候可靠地发布。它用于软件开发中,以自动化和改进软件交付过程。自动化这些流程提高了软件开发和部署的效率,帮助公司降低成本并防止错误。

我们看到这些自动化流程如何改变开发人员创建和开发软件的方式的最显著变化是:

  • 由于每次签入时自动触发的 CI/CD 几乎消除了将代码合并到主分支的开销,因此开发人员以较小的增量进行开发和发布。
  • 由于每个单独的签入都会立即进行评估,因此花费在确定谁的代码“破坏了构建”上的时间更少。因此,团队消除了每周运行一次单一集成构建,然后执行耗时的调查来调试哪些代码引入错误的实践。
  • 调试花费的时间更少,因为开发人员可以立即收到关于他们刚刚处理的代码的反馈,而细节仍然清晰地记在脑海中。每当发现错误的时间延迟时,调试就会花费更长的时间,因为重要的细节可能已被遗忘,开发人员必须重新熟悉代码。

是什么让 Docker 特别适合 CI/CD 应用?

CI/CD 应用特别适合 Docker 有以下几个原因:

  • Docker 非常适合瞬态工作负载,因为您可以在几秒钟内启动和关闭容器,这只是配置 VM 所需时间的一小部分。这使得 Docker 非常适合 CI 流程,例如每次签入代码时启动的构建/CI 验证周期。使用 Docker,每个周期都可以在其自己的容器中按需启动、执行,然后关闭容器,释放资源。事实证明,这比为此目的使用 VM 更有效率(Shippable 在从 VM 转换为容器时,将其开发/测试环境成本降低了 70%)。
  • 在容器中,应用程序的所有细节都放在一起——即代码及其运行环境——使得完全复制开发人员代码将要运行的环境变得容易。这解决了“但在我的机器上可以工作”的问题,即代码在开发人员的本地机器上可以工作,但在后续环境(即测试或生产环境)之一中却无法工作。
  • 一旦定义了应用程序镜像,它就可以轻松地存储并在任何安装了 Docker 的地方重复使用,从而轻松消除开发人员经常经历的耗时任务,以在本地创建他们的环境。这些镜像也可以被 IT 运维部门提取,用于部署活动。
  • 一个好的 CI/CD 系统还将启用这些镜像的缓存,因此为开发人员启动环境可以快速而轻松地完成。

您是否认为 Docker 会在 CI/CD 领域取代传统的虚拟化,还是更多地是增加新功能并加快流程?

VM 在短期内不会被淘汰,但在长期来看,我们认为基于容器的虚拟化将完全取代 VM。

Apache 项目在 Shippable 中扮演什么角色?您和/或 Shippable 如何参与 Apache 基金会?

Shippable 最近才开始参与 Apache。我们目前最感兴趣的是 Kafka 项目。我们已经开始在内部 POC 中对其进行评估,以查看它是否可以替代我们为消息服务运行的 RabbitMQ。这背后的驱动因素是 Kafka 的可扩展性。

在不透露太多信息的情况下,与会者可以期待在您的 ApacheCon 演讲“2015 年使用 Docker 的现代 DevOps”中学到什么?

  • Docker 已准备好投入生产——Shippable 每周在生产环境中运行超过 25,000 个容器
  • DevOps 生命周期的关键要素随着容器的使用而完全转变,从而可以对生命周期进行重大的重新设计。DevOps 正在为 IT 部门“重新设计公司”,而 Docker 提供了大幅加速这一进程的机会。
  • 使用现代 DevOps,您应该每天多次部署到生产环境。我们将解释 Shippable 如何每天部署 10-40 次。

要了解有关使用 Docker 的现代 DevOps 的更多信息,请参加在奥斯汀 ApacheCon 上的 Cavale 的演讲

ApacheCon 2015
演讲者访谈

本文是 ApacheCon 2015 的 演讲者访谈系列 的一部分。ApacheCon 北美 汇集了开源社区,以了解推动开源未来及其它方面的技术和项目。会议于 2015 年 4 月 13 日至 16 日在德克萨斯州奥斯汀举行.

User profile image.
Rikki Endsley 是 Red Hat 的开发人员计划管理编辑,也是 Opensource.com 的前社区架构师和编辑。

评论已关闭。

Creative Commons License本作品根据知识共享署名-相同方式共享 4.0 国际许可协议获得许可。
© . All rights reserved.