Docker和PaaS间的抉择
Docker通过将应用程序打包成Docker文件或者镜象,发布在整个容器当中,能够实现应用环境的快速迁移,屏蔽了很多开发者在管理上的复杂度。但刘伟光同时说道,Docker只是容器。一旦企业需要PaaS,目标一定是解决大规模复杂应用的需求。目前来看,Docker容器虽然开发者众多,但在企业应用所最看重的稳定性上仍然不能让人放心。就需要管理构建成百上千个Docker,这是非常复杂的。Docker的编排与管理一直有所缺失,所以在其之上已经发展出众多容器生态参与者,如 Mesos、Kubernetes、Marathon、Swarm等,都在帮助Docker成长。但是这个生态圈在发展的过程当中也不能避免相互之间的竞争。企业追求的是时间和效力,对于如何选择、组合使用这些Docker编排和调度工具,对企业来说不仅非常困难,也大大增加管理和维护成本。
PaaS 平台的原则是“app-centric”,以应用为中心,而不是容器为中心。企业PaaS平台容器服务如果管理成百上千个应用,就需要再支持应用层面的持续发布、持续集成、安全服务、路由管理、灰度管理、配置管理等等功能,目前这个Docker生态体系仍然没有任何一家的功能可以满足这些需求,要选择五到八种工具去手工打造组合成这样的功能。同时支持这些功能的平台,自身的升级、扩容、容灾备份机制又会变成企业的又一道难题。当然,Docker的进步非常快,在不断解决各种问题。Docker和Pivotal同是OCI容器标准的成员,未来的容器技术一定会走向统一的标准runC,就如同当年J2EE的标准一样。Cloud Foundry就已经支持使用Docker镜像。而Cloud Foundry作为主流的开源PaaS,已经在多个大型企业的关键生产应用中经过验证。
PCF是Pivotal基于开源PaaS平台Cloud Foundry打造的商业版软件,致力于通过定义PaaS功能规范,为企业带来开箱即用的企业级PaaS服务。谈及如何看待Docker与Cloud Foundry之间的关系,刘伟光这样认为:“Docker和Cloud Foundry的关系应该是包容,而不是竞争。Cloud Foundry基金会有几十个成员,Docker公司也是成员之一,也在不断关注Cloud Foundry的生态圈的发展。Pivotal也在和IBM、Google、Amazon等公司一起建立OCI(Open Container Initiative),制定整个Docker容器未来的标准。
PCF通过构建以容器为核心,面向数据的企业级的PaaS平台,使企业既满足使用Docker的需求,又能实现Pivotal CloudFoundry提供的易用的企业级安全管理、应用管理、数据服务的特点。PCF只将容器作为平台当中的一层服务,在这个容器层当中有一条线,叫作“价值链”,在它下面是容器的管理、编排、镜像、文件、容器仓库等;上面是面向企业级的应用,如Jenkins等持续集成、持续发布等服务,对 DevOps提供直接的支持。










