Shippable 发布 2.0 版本,支持基于 Docker 的应用

  • Rui Miguel Ferreira
  • 侯伯薇

2015 年 1 月 2 日

话题:DevOps语言 & 开发架构

Shippable 最近发布了它在虚拟化领域的新平台,现在已经支持容器化的工作流。他们在发布会上提到,这是第一个完成该项功能的平台,它被设计为完全支持Docker容器。

InfoQ 采访了 Shippable 的联合创始人及 CEO Avi Cavale,以了解产品的更多细节。

InfoQ:请你简要描述一下 Shippable 这个产品?

Avi Cavale:Shippable 是一个持续交付平台,通过“尽早且频繁”地发布软件,帮助企业更快创新。我们帮助企业把他们的 DevOps 工作流程容器化,并从“代码到产品”的角度把应用程序的生命周期自动化。这包括持续集成和部署、自动化拓扑测试和功能测试、使用一键升级和回滚对应用程序的容器进行版本管理和打包、开发 / 测试实验室管理等等。我们期望,使用我们的即时的、按需而变的、容器化的实验室,可以帮助 DevOps 团队把他们的开发测试实验室轨迹减少 50%。我们的平台以原生的方式构建在 Docker 上,运行超过一万两千个容器,这使得它成为 Docker 上最大的部署产品之一。即便公司还没有准备好正式转移到 Docker 上,在开发和测试流程中支持容器也会带来很大价值,Shippable 正是专注于帮助 DevOps 团队达到那个目标。容器化在去年风头正劲,由于我们从 Docker 开源的那一天就开始采用,所以正处于这个趋势的最前沿。

InfoQ:对于云托管来说,现在有多种解决方案。你们将会提供何种附加价值呢?

AC:Shippable 实际上是托管提供商的有力补充,因为它在一端上符合版本控制提供商,在另一端符合托管提供商,目标是把其间的所有工作自动化。我们的价值不仅仅是上面所说的托管。在编写代码和实际交付产品之间有很多步骤,我们提供了“从决策到交付”所要采用的通道。我们可以帮助业务减少 50% 以上的开发和测试试验室轨迹,因为我们可以以即时和按需的方式设置(取消)容器化的环境。这些环境可以完美复制到生产环境上,所以所有代码变更都是针对真实的拓扑结构测试。这有助于自动化功能 / 拓扑测试,从而找到传统过程中只有在手动测试才能够找到的缺陷,这会减少对静态测试实验室的需求。开发者测试会变得比传统的单盒持续集成(one box CI)更有效率。我在 Gluecon 会议上针对这个话题做了演讲,你可以在这里找到幻灯片:www.slideshare.net/avicavale/gaming-aws-with-docker-gluecon-2014

InfoQ:可否请你从技术角度说明一下容器化到底意味着什么?

AC:传统意义上的 DevOps 是关于以编程的方式在另一个环境中重新创建已经存在于一个环境中的内容,比方说从 Beta 测试环境到生产环境。这非常低效,容易发生错误,而且最重要的是不可重复。不可重复的主要原因在于应用程序的依赖包并非是不变的,例如,脚本可能会根据安装的时间而安装不同的版本。容器化会解决这个问题,它会创建不变的应用程序容器,其中有基本的操作系统镜像以及完全测试过的特定版本的代码。一旦提交了一个容器,那么它就永远保持不变,可以发布到不同的托管计算机上,而不需要重新部署。这既有助于提升部署的速度,也有助于保持可移植性。然而最好的是,这些容器可以彼此分层放置,这和在虚拟机的情况下从头构建是不同的。我们把这些超级功能都变得简单,从而为想要更快创新的企业实现和管理这些功能。我们相信第一波的采纳在于开发和测试工作流程上,而 Shippable 正是专注于帮助企业做出该项转换。我们帮助团队更有效率地“决策到发布”他们的应用程序。

InfoQ:你们的解决方案支持哪些平台?

AC:Shippable 与 GitHub 和 Bitbucket 完全整合以完成版本控制,和 Docker 整合完成容器管理,和 Chef 以及 Puppet 整合以完成在生产环境中部署并进行虚拟机管理。我们还支持部署到任何 PaaS 平台,我们是 Google 的合作伙伴,可以把 docker 化的应用程序部署到任意由 Google 的开源项目 Kubernetes 支持的云平台上。

我们为客户提供两种不同的平台:一种是多租户和专门的托管主机,其中协调是通过运行在客户的托管计算机上的托管服务和容器完成的。还有一种内部部署的平台,它还处于内部 beta 测试阶段,可以和内部部署的 git(像 GitHub 企业版)协作。

InfoQ:可否请你提供更多关于扩展计划的信息?

AC:我和联合创始人 Manisha 从 2013 年开始创建 Shippable,迄今为止已经拥有超过 15 名员工。我们拥有超过两万客户,并且每周都会增加上千个。我们的任务是要为容器化的应用程序提供完整的应用程序生命周期管理(ALM)。对于我们专注提供的托管服务非常自豪。这个模型让客户可以使用一个或多个专门的主机在几分钟内设置开发 / 测试实验室。这些机器可以是内部部署或者位于云中,可以是物理机,也可以是虚拟机。我们在每个主机上设置 Shippable 节点,你就会拥有一个端到端的、专门的持续交付平台,可以再几分钟内上线!我们很快会提供第三方的内部部署解决方案,或者“立即可用的 Shippable”,客户可以自己进行托管。当前它还处于内部 beta 测试阶段,关于 GA 版本的时间,我们会在稍后发布更多细节。

InfoQ:你们是否使用 Shippable 来支持产品的新版本? 可否请你分享更多案例?

AC:是的,我们使用 Shippable 来构建 Shippable。我们对当前的 2.0 版本感到很高兴,自从我们 9 月 9 日发布了新版本以来,用户几乎翻了一番。我们会在不久的将来分享更多关于客户的故事。我们有一个针对 StockTwits 所做的案例研究,那是在他们从 Jenkins 迁移到 Shippable 之后做出的。

查看英文原文:Shippable Launches Version 2.0 Leveraging Docker-Based Applications

DevOps语言 & 开发架构