对话:Docker将成主流,未来SaaS都将“容器化”

T 客汇专访:Docker 创业公司时速云CEO黄启功。

T客汇:您能聊聊您心中的Docker技术吗?

黄启功:Docker 诞生之初解决的是开发运维的问题,让开发者可以打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何的 Linux 机器上,也可以实现虚拟化。

之后Docker逐步扩大生态,在解决了“Build”和“Ship”之后,Docker通过收购Tutum,推出了Docker Cloud,进而向“Run”进发。而现在,基于Docker的CaaS(Container as a Service, 即容器服务),被誉为下一代的云计算架构。基于CaaS的云计算架构将为业务应用层面带来质的飞跃,涵盖了应用从开发、构建、集成、部署、运行的完整生命周期,同时在DevOps,CI/CD,微服务,开发测试,轻量级虚拟化等领域有广泛的应用前景。

T客汇:Docker与IaaS、PaaS、SaaS之间的关系是什么?

黄启功:业内我们经常把云计算分为三层,分别是Infrastructure(基础设施)-as-a-Service,Platform(平台)-as-a-Service,Software(软件)-as-a-Service。基础设施在最下端,平台在中间,软件在顶端。

IaaS 可以很方便的让用户获取计算资源,比如CPU、内存、存储、网络等。以前我们运行一些网站或者企业应用,需要去购买服务器或者租赁服务器,去运行业务。

但是有了IaaS之后,你可以按需获取计算资源。 典型的IaaS厂商有Amazon,Microsoft,IBM等。

PaaS平台就是指云环境中的应用基础设施服务,也可以说是中间件即服务。PaaS平台在云架构中位于中间层,其上层是SaaS,其下层是IaaS。在传统On-Premise部署方式下,应用基础设施即中间件的种类非常多, 有应用服务器,数据库,ESBs, BPM, Portal, 消息中间件,远程对象调用中间件等。传统的PaaS有基于CloudFoundry的应用引擎类PaaS,Salesforce,Mendix等。

Docker对PaaS的影响在于Docker是一个容器,并不是一个新技术,十年以来,谷歌邮箱就跑在Docker上。

SaaS是我们最常见的云服务之一,比如目前有提供CRM,客服,即时通讯等SaaS应用。

我们注意到,IaaS解决了计算资源的问题,但并没有解决应用本身的问题;传统的PaaS虽然在应用部署,扩展等方面提供了帮助,但PaaS本身带来的问题诸如灵活性差,隔离性弱,对应用的限制等原因导致传统的PaaS发展并不好。

基于Docker的容器服务(Container as a Service),实际涵盖了IaaS和PaaS两者的优势,它是一种更轻量级的虚拟化,可以解决应用部署,DevOps,微服务等问题。而且未来的SaaS也都将逐步容器化,因为容器比虚拟机更轻量灵活,对于SaaS的交付将会带来质的改变。

在SaaS领域,Docker现在没有广泛铺开。应用Docker的SaaS用户主要是为了解决应用交付问题。Docker在颠覆交付模式上对SaaS的影响则是,未来的SaaS有可能都会容器化。

T客汇:您能具体解释下“容器化“的含义是什么吗?这种容器化对业务的具体影响可能有哪些?

黄启功:简单来说,“容器化”就是把应用代码打包封装成Docker镜像的过程,能让应用以标准的镜像方式运行在Docker Engine之上。同时容器为应用程序提供了隔离的运行空间:每个容器内都包含一个独享的完整用户环境空间,并且一个容器内的变动不会影响其他容器的运行环境。Docker利用了诸如 Linux namespaces来进行空间隔离,通过文件系统的挂载点来决定容器可以访问哪些文件,通过cgroups来确定每个容器可以利用多少资源。

此外容器之间共享同一个系统内核,这样当同一个库被多个容器使用时,内存的使用效率会得到提升。原有应用的容器化几乎不需要进行改造(大型中间件除外),而仅需要定义它的Dockerfile描述文件。

T客汇:Docker 技术有哪些应用场景?

黄启功:

1,DevOps。打破开发和运维之间的壁垒,提高应用从开发、构建、部署、集成、运行等生命周期的效率。具体来讲,通过标准的Docker镜像作为应用的交付件。

2,CI/CD。通过持续集成和持续交付,能够让开发人员快速的开发和测试应用。

3,微服务。微服务提倡把传统的单块结构的应用拆分成多个组件, 每个组件放到一个独立的容器里运行。这样的好处对于容灾容错,高并发等都有好处。

4,提高系统资源利率。Docker 容器的运行不需要额外的 hypervisor 支持,它是内核级的虚拟化,因此可以实现更高的性能和效率。

其他应用场景包括开发测试,高并发,大数据等。

T客汇:Docker使用的技术门槛高吗?

黄启功:Docker作为目前业内最受欢迎的开源技术,不少国内厂商也开始参与进来。技术的成熟是一个循序渐进的过程,在基础功能层面的完善需要不断的打磨,并非一蹴而就的,另外是对于用户的理解,以及在实际中积累的应用经验,客户经验等都将会对技术的理解和运用产生影响。

Docker一直以来对容器集群管理并不是很完善,即使有Swarm的出现,它比起成熟的容器编排系统Kubernets和Mesos还有一定的距离 。将Docker落地到实际的生产环境中除了Docker本身,容器集群管理系统之后,还需要有分布式存储,网络,镜像仓库等一系列的工作,以及根据实际的客户需求的改进与完善。这是一个比较复杂庞大的工程。对于传统行业及非技术主导的公司来说,采用专业的容器云服务厂商的产品性价比会更高。

T客汇:Docker Con 2016大会,让您比较印象深刻的是什么?

黄启功:(1)Docker将提供内置的编排(Orchestration)能力

Docker CTO Solomon Hykes宣布Docker将提供内置的编排(Orchestration)能力,从而能使得Docker Engine原生支持集群管理和服务生命周期管理。然而前者相对于成熟的Kubernetes和Mesos方案,似乎为时已晚。

(2)Docker发布应用商店。

云计算不仅仅是卖资源,未来更大的赢利点会落到软件服务上。AWS的Marketplace有非常多的商用软件,这给AWS带来了可观的收入。 Docker hub上虽然有几十亿的下载量,但是因为质量良莠不齐,用户很难辨别出哪个应用是可靠的 。Docker发布内测版应用商店,表明Docker开始寻求商业化,这也是目前Docker厂商们迫在眉睫的问题。同时,也将伴随越来越多的SaaS应用Docker化。

T客汇:Docker和OpenStack是什么关系?

黄启功:OpenStack偏IaaS层,Docker偏向于PaaS层。实际二者很难比较。

Docker目前是单机版的继承,需要成为像OpenStack这样成熟的解决方案。OpenStack也在支撑Docker,在OpenStack的虚拟机里,可以装Docker,快速调度容器集群。

Docker往IaaS层发展,会推翻OpenStack,可以直接做面向低层的虚拟化服务。

OpenStack和Docker是一个相互融合,一个相互博弈阶段,OpenStack要融合Docker,而Docker 有自己的优势——轻量级的虚拟化,不受制于虚拟机。Docker类似和虚拟机是同一个级别的虚拟化。Docker希望推翻技术栈,给客户提供轻量级虚拟化。

K8S中文社区微信公众号
分享到:更多 ()

评论 抢沙发

评论前必须登录!