EMC前任总架构师,DaoCloud联合创始人陈齐彦谈Docker的技术优势

1

近期,InfoQ组织了QClud Docker专场活动,国内Docker爱好者们济济一堂。DaoCloud联合创始人陈齐彦也应邀出席,并在会后接受了InfoQ编辑郭蕾的专访。以下是采访实录。

Q: 请先做一个自我介绍。

  • 大家好,我是陈齐彦,在IT行业这么多年,主要是做云平台技术,之前在Oracle和EMC工作了大部分时间。2015年决定创业,就是DaoCloud。人生经历就是这样。

Q: 您能从您的角度聊聊虚拟化和容器化的区别吗?

  • 我职业生活的大部分都是从事虚拟化的工作,不论是在EMC、VMware,还是后来的Pivotal,我的工作不仅仅是存储相关。我在EMC时负责EMC中国研究院,隶属于EMC CTO Office。这个办公室不仅仅关注EMC自身业务,还会关注新技术,所以很早就参与VMware的虚拟化技术。EMC后来收购了Pivotal,其实就是最早一批做容器技术的。也正是这样的经历,让我对虚拟化和容器化有了自己的理解,并且做了相应的工作。
  • 在我自己看来,虚拟化和容器化是出现在我们这个时代的不同阶段的产物。在应用向早期互联网架构迁移的阶段,我们关注如何优化、如何更好地隔离、如何把传统应用迁移到分布式系统。在这个过程中,虚拟化是最好的切入点。他几乎不需要对原来的系统做改造,更多关注对原来的基础架构的资源做打包、整合和切分。
  • 容器技术的出现标志着我们在这波技术变革中走到了新阶段。现在大家都在讲互联网、互联网+,或者各种互联网应用的驱动下的业务变革。在这种环境下,客户更多地关注应用层面、业务层面。早期的提高基础架构资源利用率的问题已经不是主要的痛点了。现在关注的是如何去部署一个原生地跑在互联网架构上、大量利用云服务来快速响应的业务。这些业务背后需要新技术来驱动,容器技术应运而生。
  • 在我看来,容器技术和虚拟技术目前还是一个很好融合的状态,但未来的发展充满想象发展。

Q: Docker目前来说是容器技术的代表,那你是如何看待Docker呢?

  • 我觉得Docker特别有意思。我做第一代容器Warden的时候,Docker也就刚刚出现,但是我看Hacker News上的demo,第一反应就是震惊。我一直认为Warden是一个非常先进的技术,但是Dokcer的出现一下子把这个门槛拉低了,让容器技术变成了一个人人都可以消费的技术。他从另一个角度切入容器技术,完全是一个新的思维、新的方法。
  • 对于Docker,一开始我有些排斥,毕竟我在做我自己的容器技术,而他是另一种思路。时隔一年,在相同的节点再看,他已经大不相同。他切入的角度决定了他对社区更友好。他在推动标准的同时推动了容器技术,是一个通过社区推动技术发展的思路。
  • 我不认为Docker与别的容器技术相比有高明之处,但是他能成功主要在于:
    1. 耕植于社区,以开源的力量去推动。
    2. 它有一个生态社区,同时这个社区以人类没见过的IT发展速度爆发。
  • 这些让人惊奇的表现也是促使我们投身Docker创业的最大动因。

Q: 与你以前做过的容器技术相比,Docker有什么优势?

  1. 对开发者友好,他把容器技术的使用、功能和操作统一成一套标准的API接口,开发者可以很便利地把现有的技术栈过渡到容器栈上。
  2. 整个Docker生态社区,包括Docker公司,出现了很多基于这套接口的新的项目,在容器的产业链上,不同阶段都有好玩的项目,使得整个Docker项目具有更大的想象空间。

Q: 大家都在聊Docker化,你认为什么样的应用适合Docker化?

  • 首先,我们这个时代遇到的应用场景都是适合Docker化的,比如:
    1. 我们昨天聊过的微服务的架构
    2. 现在移动应用越来越轻量化。轻量化的根本原因在于用户多需求在不断变化,如果你的东西很笨重,迭代速度慢。
    3. 移动互联网的技术也是越来越轻量化,包括互联网开发中的前后端分离、分层架构。这些都适合被Docker容器化。
  • 另一方面,在传统业务方面。原来的很多应用是在虚拟机里的,只要他们对系统底层、kernel的部分没有过分的要求,他们迁移到容器进行Docker话其实非常容易。我遇到过一个客户,使用的是十年前的Java技术,他自己对迁移都没有信心。但是我们看了一下,用了大约一天的时间就弄好了,彻底容器化了。我们可以看到,容器化是门槛非常低、并且对应用非常友好的平台。

Q: 有消息说你们的产品已经开始内测了,那能介绍一下你们的创业项目吗?

  • DaoCloud的产品3月底正式接受内测,现在积累了一定数量的早期用户,既有互联网公司,也有传统企业。我们的产品主要围绕我前面提到的思路——容器是云时代的应用交付件。我们的产品以交付件为中心,帮助用户更容易地把产品变成交付件,然后围绕交付件提供增值服务,包括如何保证交付过程中的代码质量问题,以及如何保证快速迭代中应用的快速集成和迭代是一个完整的过程。我们通过容器技术,使你的应用很快速地接入其它的生态系统。比如你可以在我们的平台开发一个容器应用,然后对接新浪微博API、微信接口,甚至是一些APM接口。这样用户的快速迭代能力得到增强,
  • 我们的独到之处在于,团队有着丰富的PaaS经验,所以产品中集成了对PaaS的支持。你能见到的PaaS功能,比如负载均衡、动态扩展、灰度发布、蓝绿切换等等,这些都在我们的平台上有对应的模块。现在我们可以保证用户在平台上完成从代码到部署的全流程的闭环。
  • 未来我们会与合作伙伴一起,增强对国内不同云平台主机的支持,以及国内的代码托管服务商的支持。这是未来我们需要拓展的两块领域。

Q: 非常酷的项目,那接下来有什么规划?

  • 接下来我们会从生态的角度去切入,包括和InfoQ的合作,推进整个Docker生态圈。我们愿意从技术、媒体和开发者三个方面,构建一个生态系统。
  • 第二件事情还是基于我们的产品。我们的产品是基于云为开发者提供服务,我们希望能尽快优化产品,使之从内测阶段进入生产环境。
  • 第三件事情就是去延展我们服务的价值链。我们会与不同的云服务提供商一起去探讨如何对接Docker容器应用和第三方服务接口。我们也会努力与我们的“衣食父母”——IaaS服务提供商合作,把Docker开发者、Docker社区的诉求对接给IaaS开发。

Q: Docker推出了三大组件:swarm、compose和machine,你如何看待它们?你们的产品中有使用它们吗?

  • 这些是我们进行开发工作的利器,我们也会把这些功能带给我们的用户。我们在开发中大量使用了compose、swarm的功能。最近Docker收购了一家做网络的公司,我们也在看。
  • 从我们的实践角度来讲,它们在很多应用场景下也有不足之处。但是瑕不掩瑜,确实大大增强了我们自己产品的迭代速度。对于如何正确地使用这些技术和工具,我们也愿意把自己的经验与更多的开发者分享。
  • swarm和compose降低了一个团队开发分布式系统的难度。它可能不能让你应对一个上百个节点的集群,但对于基于微服务架构的几十个节点,那是绰绰有余。从这个层面说,swarm和compose已经可以满足绝大多数用户的需求。
  • 目前它还不具备像mesos、kubernates那样应对大规模集群的能力,但是这个命题又属于另外一个场景——资源调度和大规模集群的需求。所以swarm、compose和mesos、kubernates都有自己的生存空间,并不存在取代或替换的可能。这是开源届和厂商共同发力的成果。

Q: 你们在生产环境中使用swarm了吗?

  • 在我们生产环境的集群管理组件中,使用swarm开发功能,当然我们有自己的调度模块,但是核心组件的接口部分还是大量使用swarm。

Q: Swarm是提供API供mesos去接入的?

  • 对,其实你也可以走别的调度模块。这个方面swarm的设计不错的,给你一个扩展的空间,可以根据自己的业务需求调整。由于各家的业务诉求、产品模块不一样,所以会百花齐放。
  • 我们选择swarm,首先它是Docker原生组件,比较简单、接口规范也统一;另外有Docker公司背书。新技术变化太快,我们希望找到一个能够持续更新、规范标准清晰的的技术作为我们技术发展的基础。

Q: 作为Docker创业公司,国内的Docker使用者多不多?国内的Docker发展到哪个阶段了?

  • 这个问题很有意思。我们是国内很早玩Docker的一帮人,刚开始玩蛮痛苦的。Docker其实是一个生态,主战场在大洋彼岸。我开始玩的时候,遇到的第一个问题就是网络。所以我们自己开发了组件,让自己跨过重洋,接入生态系统。经历了这样一个过程后,我们意识到所有想接入Docker生态的千千万万中国开发者也会遇到这样的问题,于是我们试水做了一个服务开发者的小东西。大家第一次听DaoCloud这家公司做了一个Docker加速器,其实是使用Docker官方提供的mirror机制。
  • Docker Mirror非常适合中国国情。有了Docker Mirror,开发者在构建Docker image的时候速度会大大加快。我们推动了Docker Mirror之后,虽然是通过cache来做,但是我们还是能看到用户的pull和push request有多少。他们pull或者push什么我不知道,但是我能看到数据是在不断增加。我们的cache数据也越来越大。我每个月都要付账单,会发现每个月要付的钱越来越多,但是这是一件非常可喜的事情。开发者越来越多,这是一件毋庸置疑的事情。
  • 包括今天InfoQ会场爆满,所有人都是被Docker这个神奇的字眼吸引,这是一个非常有意思也有潜力的市场。

陈齐彦是DaoCloud的联合创始人,也是中国最早的开源云计算布道者和实践者,最近他开通了专栏,取材于DaoCloud孵化器内的实际企业案例,用贴近生活的短文将互联网+的应用开发和交付秘诀与读者分享。欢迎您关注。

本次采访的视频录像,您可以从InfoQ网站获得,请点击链接

Leave a Reply

Your email address will not be published. Required fields are marked *