写点什么

迁移到 Docker:在 RightScale,我们为什么要全部迁移?

2016 年 7 月 04 日

作为一家提供对多云平台统一访问接口的公司,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 )关注我们。

2016 年 7 月 04 日 17:011650
用户头像

发布了 268 篇内容, 共 100.4 次阅读, 收获喜欢 16 次。

关注

评论

发布
暂无评论
发现更多内容

Java并发编程:任务执行器Executor接口

码农架构

Java并发

Python进阶——什么是描述符?

Kaito

Python

金融科技 | 建设中台能力,助力开放生态

xcbeyond

金融科技 中台战略 中台架构

《逻辑和计算机设计基础》第五版(英文原版)PDF免费下载

计算机与AI

计算机基础 计算机组成原理

FORSAGE智能合约矩阵系统软件APP开发

开發I852946OIIO

系统开发

区块链发展前景广阔,要紧跟时代步伐

13828808769

区块链发展 时代发展

第八周课后练习

jizhi7

Java虚拟机科普系列—元空间Metaspace的内存结构

Java老k

Java JVM Java虚拟机 metaspace

Week_12 作业

golangboy

极客大学架构师训练营

生产环境全链路压测建设历程之九 淘宝网全链路压测的原理

数列科技杨德华

shell脚本的使用该熟练起来了,你说呢?(篇四)

良知犹存

shell脚本编写

新增原创标签相关改动

yinhaixiang

测试 个人 aa bb

第八周-总结

jizhi7

ISP芯片:如何让数字之眼“看清”真实世界?

脑极体

跨越“数字鸿沟”,日本老年智能化服务的解法

脑极体

新增原创标签相关改动

yinhaixiang

aa bb cc

【架构师训练营 1 期】第十二周作业

诺乐

时序数据库DolphinDB和TimescaleDB 性能对比测试报告

DolphinDB

大数据处理 分布式系统 时序数据库 DolphinDB 数据库开发

Python最会变魔术的魔术方法,我觉得是它!

Python猫

访问者模式及其在Java Parser中的应用

maijun

ReactNative | 项目复盘,涉及环境、RN版本升级、安全等方案

梁龙先森

前端 混合应用开发 React Native

以理性不断的崇敬 - 对DDD之后复杂业务软件系统设计的思考

Winfield

领域驱动设计 DDD 架构设计

你心目中高级程序员的印象是什么样子的?

Java架构师迁哥

mongodb 源码实现系列 - mongodb详细表级操作及详细时延统计实现原理(快速定位表级时延抖动)

杨亚洲(专注mongodb及高性能中间件)

数据库 mongodb 性能调优 源码刨析 分布式数据库mongodb

记一次神奇的MySQL死锁

双儿么么哒

spring MySQ

Spring Boot 过滤器

噜噜猫

Spring Boot

甲方日常 67

句子

工作 随笔杂谈 日常

【架构师训练营 1 期】第十二周学习总结

诺乐

数据类型· 第1篇《元组和列表的性能分析、命名元组》

清菡

测试开发

学习笔记4

Qx

还在手写Operator?是时候使用Kubebuilder了

Java架构师迁哥

迁移到Docker:在RightScale,我们为什么要全部迁移?-InfoQ