写点什么

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

  • 2015-09-21
  • 本文字数:3168 字

    阅读完需:约 10 分钟

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 全球架构师峰会中为您讲述云计算在容器时代的发展趋势。

2015-09-21 21:035729
用户头像

发布了 219 篇内容, 共 129.8 次阅读, 收获喜欢 186 次。

关注

评论

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

克制文章长度

changyou

Java并发编程系列插曲——对象的内存结构

孙苏勇

Java 内存模型 面向对象 ClassLayout

随手记备忘录的好习惯

changyou

聊聊苹果公司技术部门的宫斗和冷战

赵钰莹

程序员 外包 apple

除了负载均衡的算法,你还应该知道这些

松花皮蛋me

Java 负载均衡 分布式

程序员5分钟:你了解32位带符号的整型吗?

顾仲贤

程序员

程序员陪娃漫画系列——看医生

孙苏勇

程序员 生活 陪伴 漫画

我为什么选择infoq写作平台

三爻

最近的一些人生感悟

小智

人生 哲学

加班能解决交付的期望么?

拖地先生

项目管理 领导力 管理 时间管理

很不幸,自动化测试永远只能是必要非充分条件

刘华Kenneth

DevOps 敏捷 自动化 测试 金字塔

敏捷开发 | 张三与需求管理

Worktile

敏捷开发 需求管理

基于Kubernetes的多云和混合云

倪朋飞

云计算 架构 Kubernetes 微服务 Service Mesh

世界知识产权日碎碎念

Yin

成长 随笔 知识产权

「超级右键」

非著名程序员

macos 程序员 效率工具 软件 Mac

程序员5分钟:你的程序占用了多少内存?

顾仲贤

程序员

微信朋友圈为什么没有阅读数?

彭宏豪95

微信 产品 产品设计

程序员都应该了解的运维知识经验

松花皮蛋me

DevOps 分布式 运维

决定我们认知深度的究竟是什么?

石君

深度思考 方法论 连接

知乎开发了一个搜索引擎

红泥

搜索引擎 百度 知乎

在谈判中,你有哪些属于自己的独特的方法和技巧?

Yolanda

从【炉石传说】到矩阵运算

IT蜗壳-Tango

Python 学习 矩阵 数学

漫谈哲学与编程

keelii

编程 哲学

Java并发编程系列——线程

孙苏勇

Java 并发编程 线程

程序员陪娃漫画系列——修龙头

孙苏勇

程序员 生活 陪伴 漫画

如何阅读源码?

武培轩

Java 源码 面试 进阶 后端

爱他,就让他走?

Selina

团队管理 领导力 团队协作

小论互联网项目管理

南方

项目管理 互联网 个人成长 碧海潮生曲

回"疫"录(3):让人怀念的普通一天

小天同学

疫情 回忆录 现实纪录 纪实

别总说CMS、G1,该聊聊ZGC了

猿人谷

CMS G1 ZGC JVM

前端如何搞监控总结篇

大前端洞见

大前端 监控 全链路监控

梁胜:用户是Docker最大的筹码_DevOps_郭蕾_InfoQ精选文章