七牛容器云技术总监 袁晓沛 : 七牛容器云大规模

时间:2017-11-15 11:43

袁晓沛

大家好我是七牛容器云计算的负责人袁晓沛。因为作为容器技术的负责人和容器技术的布道者,我们认为容器接下来肯定会大放异彩,而容器会在部署、运维对我们服务监控的过程中,能够大幅度提高我们的效率,也能够大幅度提高机器的使用效率。另外一方面让软件工程师兴奋得一点,容器好玩的是以API的方式也就是可编程化的方式操作整个数据中心,这样子的话所有前面的事情都是可以自动化下来的,这是很酷的一件事情。我先简单讲一下容器化的由来,这角度可能不太一样。

我们当前这云应用想要去做计算的云化困扰,首先当前的应用场景是比较多样化,比如说我们区块链人工智能是资源消耗型的应用,物联网是需要传感器特殊的硬件,像AI这一些东西可能需要GPU这一些特殊的硬件,所以应用的场景是比较多样化。另外一点是OS的多样化,现在好多企业服务它们的应用还是在widow的及还有一个开发语言式多样化,我们一个团队内部甚至可能会有不同的语言出现比如说C++还有JAVA还有Python、还有Golang,还有不同公司的语言更是多样化所以导致云化也比较的困扰。最后一个是云平台的多样化,当前云平台其实有蛮多的,有七牛、阿里、腾讯、青云还有AWS、Open Stack。其实我们企业在上云的过程中大家都有一个顾虑,就是说我们很担心企业应用架构被某一个云厂商绑架,这也导致云化有很多的困扰和困难,这是当前主要的一个问题。

另外一个就是当前企业架构云化的立场,早期的话我们企业管理,就是说一个企业内部是所有的事情都是自己管,从下面的网络存储到物理的服务器,到了虚拟化这一层到操作系统,再到这一些数据库缓存的中间键,最后到上层的应用都是我们自己管,而对于我们企业来讲其实各个纬度都需要一些人,比如说在硬件和网络的层面是需要运维方面的人,在上层应用方面又需要应用开发的工程师,所以对他来讲这个链路是比较长成本也是比较高的,接下来到laas层面就是现在大家用到阿里云或者AWS虚拟机服务,用到虚拟机服务就是说下面网络、存储、物理机这一些东西都不要关注,还要关注中间键,以及上层的这一些应用,甚至OS的话我们自己关注一些,我们还要关注操作系统,这一些纬度稍微多操心一点,没有做到完全没有负担的。

到第三个阶段对于我们应用开发者只能关心自己的应用的业务,我只需要关注实现什么样子,我不用关心业务跑在什么的物理架构上,物理机或者虚拟机,我也不用关心监控、运维、日志怎么去管,我只要想要就能给我,这是当前所崇尚,这是当前正在走的一个阶段,所有下层的Runtimn,操作系统、系统化存储网络这一些东西统统有人帮我搞定,我只需要做我的业务。

为什么容器化和这阶段特别契合呢?首先容器左边这一边是谷歌非常重要的基础架构,而谷歌基础架构副总裁展望未来十年软件开发微服务和容器的方式呈现这方式可以改变未来。因为在谷歌没有阶段虚拟机占主导地位,谷歌前两年出了一个论文,内部的所有系统包括GFS都是跑再一个容器系统里面,但是这容器系统本质上还是(Com)不是Docker的理念,在大型的数据中心已经践行了。容器是一个巨大的变革,至少像云计算一样,我们七牛也是这么认同。

左边是虚拟机,整个虚拟机是构建虚拟机一层,所以说我们还是要操心这操作系统,而且这操作的起停还是有一定的成本,操作系统的运行有一定的性能损耗,最重要的一点其实就是它的运维是无法自动化,还有一点它跑在物理机上,我们物理机只能跑几十个虚拟机。但是右边是一个容器的架构,所谓容器的架构就是直接跑在物理机上是没有虚拟化这一层,虚拟化是很薄的应用层隔离来实现的。在这一层上我们只用关心我们的应用,以及我们应用的依赖,而且这一层应用的依赖是可以打包,在这样的环境下我们的容器起停是可以做到秒级,容器的进项的获取是比较快。所以在这种情况下我们一台机器可以运行数百个容器,甚至有可能上千个容器,如果你物理机够强的话是可以做到这样。

所以整个看来容器它在2016年是软件行业几大趋势之首,另外一个就是容器,Docker是比虚拟机更轻量化的虚拟化技术。第三用Docker的方式来实现应用的标准化,可以让我们对应用混合型部署,可以比较容易的迁移,而且我们关注应用这一层面,而不用关注具体它所跑的运行环境,以及下层的基础硬件。