梁胜:用户是 Docker 最大的筹码

阅读数:4761 2015 年 9 月 21 日

Rancher Labs 是由梁胜(CloudStack 创始人)创立的一家提供容器服务的云计算公司,产品包括 RancherOS 和 Rancher。近日,Rancher Labs 和东网科技宣布在国内成立合资子公司,全面开展 Rancher 在华的业务。InfoQ 记者采访了 Rancher CEO 梁胜,与他探讨了容器、OpenStack、CloudStack 等技术的发展和变革。本文根据采访整理而成。另外,梁胜还是ArchSummit 全球架构师峰会的主题演讲嘉宾,欢迎关注。

再谈 CloudStack 和 OpenStack

CloudStack 项目已经贡献给了 Apache,目前发展很健康。之前,大部分的开发其实都是思杰在做,而现在,社区也参与了很多功能的开发,社区这块,CloudStack 已经逐步稳定,有了自己的开发节奏。现在的基础设施云也比较成熟了,并且性能增加的速度也没有之前那么快了,这块我觉得对用户和客户来说都非常有好处。很多的 Apache 开源项目,已经有 5 年或者 10 年的历史了,它们都很稳定,CloudStack 也差不多进入了这个状态。就目前来看,如果用户想快速搭建一个稳定的基础设施云,除了 CloudStack 以外,其实也没有太多的可以选择的技术。OpenStack 更适合一些比较大规模的项目,它和 CloudStack 的受众用户和应用场景并不完全一样。

提到 OpenStack,很多人都会关注它和 CloudStack 的对比。OpenStack 最初是由 NASA(美国国家航空航天局)和 Rackspace 合作研发并发起的,这两个机构非常开放,并且他们既不是软件厂商,又不是硬件厂商,所以 OpenStack 早期就获得了很多厂商的支持。OpenStack 在社区和生态方面建设的确实比 CloudStack 好很多,他们做开源的思路比较特别,以厂商为最初的切入点。CloudStack 走的是另外一条路,我们想建立一个基于用户的社区,吸引更多的开发者来贡献代码,所以 CloudStack 的核心思路是简单和好用,从这方面来讲,CloudStack 就非常成功,我们也获得了很多的用户。

但从 CloudStack 和 OpenStack 的初衷来看,我觉得这两个开源软件都不是特别成功,因为当时它们都是受亚马逊的启迪,想成为企业搭建公有云或者私有云平台的基石。但现在放眼整个工业界,不管是国外还是国内的几个公有云,很少有基于 OpenStack 和 CloudStack 做的,大部分厂商反而是选择自己研发。私有云这块的市场,在我看来,并没有真正起来。就其原因,我觉得并不是技术的问题,而是产品和市场的问题。具体到美国来看,私有云市场基本上已经等同于服务器虚拟化,大部分的公司把 OpenStack 之类的技术看作是一种自动部署虚拟机的技术。尽管 OpenStack、CloudStack 提供了 API,但很多用户并没有把云和 DevOps 流程联系到一起,像软件定义网络、软件定义存储、负载均衡之类的特性也没有真正用起来。

为什么离开思杰?

简单来说,是容器技术吸引了我,我认为它是一个新兴的发展方向。特别是从私有云的角度来看,容器技术让我眼前一亮。再回来去想 CloudStack 当时碰到的一些问题,不管是市场还是产品,归根结底还是它并不能把企业的产品研发流程、DevOps 流程、大规模应用的部署流程联系起来,而容器却可以。之前 CloudStack 想拿下的客户,它们也是最早采用容器技术的团队,这也让我更坚信自己的判断。另外,对于容器技术,最吸引我的地方并不是它的效率有多高,技术有多先进,启动速度有多快之类,而是它庞大的用户群。

离开思杰后,我开始做 Rancher,Rancher 想帮助客户搭建属于自己的基于容器的私有云平台。容器技术很简单,但是容器云并不简单,Rancher 想把容器云做的简单易用,以帮助企业更好的利用工程师资源和机器资源。

容器和 OpenStack 的关系

容器和 OpenStack 应该是互补的关系。因为 OpenStack 可以解决一些容器现在不能解决的问题,特别是基础设施这一层。容器需要一个效率高、安全、隔离度好的基础设施,而这正是 OpenStack 可以提供的。反过来,容器又可以帮助管理 OpenStack 之上的应用。当然,这两个技术在某些维度上又有一些功能重合,这也很正常。比如 OpenStack 有 Heat 项目可以管理上层应用,但是当应用容器化之后,用户就不需要使用 Heat 来管理了,取而代之的可能就是 Kubernetes 之类的项目。虽然功能有重叠,但基本上来说还是互补的。

社区有人也提到直接绕过 OpenStack 这样的虚拟层,直接在裸机上运行容器。就目前的情况来看,在裸机上运行容器的客户还非常少,如果这是一个趋势的话,那走到这一步还需要很久的时间。容器平台和 IaaS 的关系有点像浏览器和操作系统的关系。随着越来越多的应用可以直接运行在浏览器上,用户对操作系统的依赖越来越少。容器平台使用户更容易从一个 IaaS 云转移到另一个 IaaS 云,就像浏览器使用户更容易从一个操作系统换到另一个操作系统。但从另一个角度来看,没有传统操作系统而只能运行浏览器的电脑(像 Chromebook)还不多见,大部分用户还是选择使用安装在传统操作系统上的浏览器。

另外,我发现在美国,DigitalOcean 也非常受用户喜欢。DigitalOcean 非常简单,直白点说就是 VPS+API,但性价比很高。仔细想想,未来的基础设施云不一定要很复杂,像 DigitalOcean 这样就足够了。如果是这样,反而对 OpenStack 有好处,因为 OpenStack 目前的市场占有率还非常小,所以它可以利用这个时机,布局好容器技术,然后简化产品,尽量做得简单易用。

如何看 Docker?

Docker 这个技术很不错,并且社区也做的很棒。他们的社区基本上是 Docker 一个公司在运营,也没有采用传统的基金会模式,但我觉得他们运转地很不错,也很开放,基本上好的改进都可以被采纳。Docker 的迭代速度非常快,尽管功能不是很稳定,但可以看出这个社区的活力。如果要说以 Docker 为代表的用户社区和以 OpenStack 为代表的厂商社区哪个好,我觉得还是 Docker,因为有了用户,根本不需要担忧没有厂商的支持。当然,技术和社区都是次要的,在我看来,Docker 最重要的地方还是它的用户。

Docker 这个产品给了我很大的启发,如果让我再重新做一次 CloudStack,那我的定位一定是简单好用。之前 CloudStack 做得太重了,大而重的东西,我现在一点都不觉得好。

Rancher Labs 是一家做容器管理的公司,产品包括 RancherOS 和 Rancher,Rancher OS 是一个高效能的轻量级 Linux 分发版本,专门设计来运行容器如 Docker 等。很多人都是从 RancherOS 开始了解到 Rancher。其实为什么做 RancherOS,也和我们看好 Docker 有关系。最开始,我们并没有自己开发 OS,而是使用 CoreOS。但在使用过程中遇到了一些问题,因为 CoreOS 使用的是 Systemd 作为系统和服务的管理工具,而 Systemd 和 Docker 在某些地方配合的却不好,并且很难修改。所以在去年年底,CoreOS 就决定开发自己的容器技术 Rkt,Rkt 和 Docker 最大的区别就是它没有 Daemon,直接基于 Systemd。所以 Rkt 和 Systemd 整合的非常好,在 CoreOS 这样的系统上,Rkt 会相对更稳定。当然,从技术角度,我们也可以理解为什么 CoreOS 要这样做。

但后来我们放弃了 CoreOS,因为我们不能失去 Docker,它有那么大的用户量,这是其它容器技术没办法比的,并且 Systemd 是一个内部技术,没有太多的真正用户。于是我们决定用 CoreOS 相反的思路重新开发一个 OS,去掉 Systemd,保留 Docker。

今年 6 月,Docker 联合其它国际大牌公司成立了 OCI,这对 Docker 来说意义重大。之前很多人总是认为 Docker 是一个厂家标准,并不是一个工业界的标准。OCI 的成立,也暗示着 Docker 公司愿意更加开放,愿意和 Linux 基金会一起推动容器技术的落地,一定程度上消除了大家的疑虑。

在容器技术飞速发展的今天,我们应怎样看待传统的私有云构建思路?在几家独大的公有云世界,是否会诞生新的挑战者?OpenStack 已发展 5 年多了,存在哪些问题?基础设施层应如何更好地支持容器化的应用?云计算和容器技术将会如何融合?云计算先驱,Rancher Labs 和 CloudStack 创始人梁胜将在ArchSummit 全球架构师峰会中为您讲述云计算在容器时代的发展趋势。