Deis v1.0 发布

  • 孙镜涛

2014 年 11 月 19 日

话题:语言 & 开发架构

Deis 是一款基于 Docker 和 CoreOS 的开源 Paas 平台,旨在让用户能够容易地在服务器上部署并管理应用程序。它能够部署任意可在 Docker 容器中运行的应用或者服务;在语言和框架层面,除了可以使用 Docker 容器之外, Deis 还为RubyPythonNode.jsJava以及Scala等语言提供了 Heroku 构建包。Deis 能够被部署到所有支持 CoreOS 的系统上。最近,Deis 发布了第一个稳定版本v1.0.0,该版本包含了稳定的 API,广泛的特性以及固定的组件架构,标志着它已经可以应用于产品环境。

1.0 版本包含的主要产品特性包括:

  • 平台质量——为了能够应对企业级产品负载,开源社区对 Deis 做了广泛而深入的测试。
  • 安装便捷——用户能够通过一个简单的命令行工具在 30 分钟之内将 Deis 安装到一个 CoreOS 集群上。
  • 高可用性—— - 整个 Deis 平台是高可用的,它实现了集群容错机制。
  • 久经考验的流程——Deis 提供了 3 种部署流程:Heroku 构建包、Dockerfiles 以及原生 Docker 镜像。
  • 全面的文档 ——扩充、改善、合并了相关的文档,并提供了一个独立的文档网站。
  • 随处运行——Deis 可以运行在公有云、私有云和裸机上,支持 Amazon Web Services、Google Compute Engine、Digital Ocean、Rackspace、OpenStack 和 VMware 认证。

需要注意的是新版本也有一些已知的问题,例如,到目前为止 Deis 仅支持 Docker 1.3.0,因为从 Docker 1.3.1 开始所有的注册中心通信都需要使用 TLS,但是对于私有注册中心而言这会引发一系列的问题。此外,如果从之前的 Desi 升级到 1.0 版本,那么可能会丢失平台日志数据,所以在进行升级操作之前最好做好备份工作。

对于后续的计划,Desi 官方网站上指出将来会增加交互式的管理命令和服务网关。如果你想了解更多与 Desi 相关的信息,那么可以查看其官方网站

作为一个新的基于 Docker 的开源 Paas 平台,Deis 的发布在 Hacker News 社区上引发了广泛的讨论,有很多 Deis 的用户在肯定该开源平台的同时也提出了一些问题。例如,用户mmcclure认为“在 Etcd 和 Fleet 这些底层的基础设施并没有产品就绪之前何谈 Deis 已经产品就绪了”。对此gabrtv回复说:

“我们使用的一些底层技术依然在积极的开发中。在 Deis 的产品部署方面我们做了大量的工作,Etcd 和 Fleet 运行的比很多人想象的要好很多。作为这些技术的早期采用者,我们与相关团队保持着紧密的联系。通常,我们是第一个报告问题,也是第一个测试问题修复的团队。”

用户willcodeforfoo 的问题则是有关于存储和性能的,他说:

“非常好的项目,我从几个月之前开始使用 Deis,它是第一个我可以安装成功并运行起来的 Paas。但是有两个问题:第一,我们知道 Docker 注册中心使用的是 ceph,那么它对外暴露么,应用该如何使用它?第二,在使用过程中我发现它的性能有一些问题,例如推送应用或者修改配置的时候。这是由于我硬件的限制(使用 3x2GB DigitalOcean 节点)还是系统本身的问题?”

对此,Deis 项目的维护者bacongobbler回答说:

“我们在路由(router)中暴露了 ceph,因此你的应用可以使用它。但是这样你必须自己进行管理,因为到目前为止我们并没有遇到需要从‘deis config:set’之外将应用插入支持服务的用户故事。

性能方面我们正在努力。当使用 Heroku 构建包部署一个应用的时候,你的应用会被编译成一个基于 Heroku cedar 栈的容器,大小约为 800MB。因为稍微有点大,所以 Fleet 部署该镜像的时候会花费一些时间。但是只是在第一次将其部署到一个新主机上时才会这样,因为以后会使用该镜像的缓存,部署时间会提升很多。如果你使用 Dockerfile 部署应用,同时文件得到了正确的优化,那么部署会非常快。”

另外,还有很多用户将 Deis 与相似的开源 Paas 平台做了对比,感兴趣的读者可以点击这里


感谢郭蕾对本文的审校。

给 InfoQ 中文站投稿或者参与内容翻译工作,请邮件至editors@cn.infoq.com。也欢迎大家通过新浪微博(@InfoQ)或者腾讯微博(@InfoQ)关注我们,并与我们的编辑和其他读者朋友交流。

语言 & 开发架构