Deis 是一款基于 Docker 和 CoreOS 的开源Paas 平台,旨在让用户能够容易地在服务器上部署并管理应用程序。它能够部署任意可在Docker 容器中运行的应用或者服务;在语言和框架层面,除了可以使用Docker 容器之外, Deis 还为 Ruby 、 Python 、 Node.js 、 Java 以及 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 )关注我们,并与我们的编辑和其他读者朋友交流。
评论