作为一家提供对多云平台统一访问接口的公司,RightScale 帮助客户管理云计算提供商的 IT 流程。随着 Docker 的流行,该公司也开始关注这一概念。而且随着对 Docker 的了解,RightScale 公司发现了该容器的好处,并准备将软件开发和部署过程迁移到 Docker 中。Tim Miller 是 RightScale 公司的副总工程师,领导着公司的产品开发与部署工作。在 Tim Miller 最近的一篇博客文章中,他讲述了RightScale 决定要迁移到Docker 的原因。
当一种新的技术迅速变得火热时,很多人都会开始“炒概念”。因此,当Docker 在两年前出现的时候,RightScale 就决定迅速跟进。在过去的18 个月,Tim Miller 率领RightScale 的技术团队一步步将软件开发和部署过程迁移到了Docker。
在这个过程中,RightScale 公司已经发表了一些有关 Docker 的博客,并在早期学习中召开了 Docker 在线研讨会,供大家学习和借鉴。由于 Docker 本身仍然在发展,Tim Miller 团队一路走过来面对了很多挑战。尽管如此,他们还是已经证实,容器的确可以带来明显的价值——从减少成本到正价敏捷性。由其研发团队、架构团队和 CTO 参与的实验已经解决了早期的问题和目标。因此,RightScale 现在已经决定全力以赴,全部迁移到 Docker,并开启了一个名为 Project Sherpa 项目。该项目的目标就是在未来若干个月内来,将整个 RightScale 云管理平台(包含 52 个服务和 1028 个云实例)迁移到 Docker 容器。
Tim Miller 将以周为单位来分别记录迁移过程,分享他们的尝试和痛苦、面临的挑战以及解决这些问题的方案。Tim Miller 希望能够将痛苦降到最低,并让其经历帮助到决定跟随(或不跟随)其步伐的其他人。
由于其并没有和 Docker 合作或为 Docker 工作,读者你至少可以得到一个开发团队基于其经历所得出的原始意见。这就像是,你或许可以通过看别人将车开出悬崖掉到湖中,来决定自己是否要继续前进。
原因
过去使用 Docker 的经历让 Tim Miller 团队觉得,Docker 的确值得使用。尽管 Docker 的确还不成熟,还有很多问题需要修复,但其概念很扎实,实现也正在不断改进。在早期使用 Docker 时,该团队就发现,使用 Docker 的开发团队由于迭代速度更快,从而可以明显的加快研发速度。此外,在若干服务中增加宿主机的密度使得 Docker 可以节约花费。公司的运维团队也因为看到了 Docker 带来的效率提升而非常喜欢该容器。
Tim Miller 团队相信,容器在未来的软件交付中肯定会成为主要技术迁移的其中一种。它将影响 RightScale 以及其客户在未来交付软件的方式。其客户群采用 Docker 的速度也非常快。当传统企业客户已经开始注意容器时,倾向于与尖端科技更接近的“数字”客户已经正在深入了解并使用。
由此,RightScale 云管理平台将会需要在现有云负载之外支持容器化的负载。那么,还有什么比直接开始研究并迁移到 Docker 更能精确了解客户的需求呢?!通过在开发、测试和产品中使用 Docker,Tim Miller 团队希望能够扩展现在看到的优势,并在已有平台中加速对容器的支持,使得客户也可以更好的使用 Docker。
预期的结果
RightScale 公司希望能够从 Sherpa 项目中获得如下好处:
- 基于在已经容器化的服务中所看到的情况的开发速度的提升。
- 减少配置框架所需要的 ServerTemplate(RightScale 中模板机制的名字)的复杂度和数量。
- 减少云平台的开销。该团队认为,容器化可以节约开发 / 测试框架中 70% 的花费以及产品中至少 40% 的开销。开发所取得的节约部分是来自现在可以通过笔记本电脑来开发。
- 学习一个新的炫酷技术。
- 了解到团队需要哪些特性来支持 Docker(以及希望在那些特性上得到巨大提升)。
内容和时间
现在,RightScale 公司共有 52 个服务,其中 7 个已经在容器中。所以尚有 45 个服务要容器化。这部分工作包含了特别简单和特别复杂的部分。由此,他们会重新设计开发工作流来使得开发人员可以通过笔记本电脑来设计系统以及开发操作发布的自动化工具。所有这些都将会在 4 周内完成。那么,什么可能会出问题呢?
在夏尔巴人(Sheerpa)帮助登山者登顶珠峰后,Tim Miller 团队将初始项目命名为 Project Sherpa。为了开启 Project Sherpa,团队成员决定开始穿着登山所需的衣服。
其中一个设计人员甚至专门选择了带有 Project Sherpa 图标的背景。那么,印有 Project Sherpa 的 T-Shrit 也不远了吧?
方法
为了未来在未来 4 周内完成这么多工作,所有非紧急特征的开发将会暂停。当然,那些已经向客户保证的工作肯定会继续。但其他工作肯定要等 1 个月左右。
由于公司有九个工程团队分别负责平台的不同部分,这些任务分别被分派了下去。每一个研发团队将会负责若干服务,并配备一个运维工程师进行合作。因此,整个工程团队将会在 1 个月后变成 Docker 专家。幸运的是,在过去 18 个月中已经参与 Docker 迁移工作的工程师可以帮助其他人快速展开工作。
查看英文原文: Migrating to Docker: Why We’re Going All in at RightScale
感谢陈兴璐对本文的审校。
给InfoQ 中文站投稿或者参与内容翻译工作,请邮件至 editors@cn.infoq.com 。也欢迎大家通过新浪微博( @InfoQ , @丁晓昀),微信(微信号: InfoQChina )关注我们。
评论