CNUTCon2016全球容器大会江松专访 容器平台之存储

9月9日,CNUTCon 2016全球容器技术大会在北京拉开序幕。有容云如约而至,热情接待了前来交流的广大新老朋友,研发副总裁江松先生带来的主题分享“面向容器平台的存储系统”备受关注。本文主要给大家分享一下,有容云联合创始人兼研发副总裁江松在容器大会的演讲视频及访谈视频。

访谈内容如下

Infoq:大家好,这里是全球容器技术大会的专访间,我们邀请到了有容云的江松,江松您好。

江松:您好。

Infoq:您这次的演讲是面向容器平台的存储系统,那能谈一谈容器平台给存储带来哪些挑战呢?

江松:这个问题基本上我这么理解,就是每一次这种上层的技术变革肯定会对底层的,比如说存储网络都带来很多的一些挑战。当然这也是一种机会,那么从容器的这个特性来说,它就是适应微服务的,所以它具备这种微服务的这种小、独立、轻便、快速迁移的这些特性,那么它自然对底层的存储也是带来很多挑战。挑战大概存在三个层面上。

我认为,第一,对于原来的存储系统,其实它对这种创建删除卷这样操作的频率响应需要很强。因为引入一个虚拟机的话,可能30秒才启动,所以如果我虚拟机要一个卷的话,我可能20秒能创建一个卷也OK;但容器不一样,可能你的系统里跑了一千一万个容器,那么每个容器它都可能需要卷的资源,那相应的你的存储接收到的这种创建删除的这种性能,或者是创建删除这种请求就会很多。那么怎么管理这些请求?怎么能适合的为这些请求找到最合适的资源,而且能很快的反馈?要不然的话,容器启动的时候,它会因为等待存储而滞后;那这样就是不可接受的,所以第一点就在于创建删除这种启动速度上,不要影响容器启动速度上对存储来说是个挑战。

第二个挑战在于容器随时在迁移。那么就需要一个全局的一个命名空间,就是容器迁移的时候,你带的卷信息和数据也要到另外一个主机上,容器对存储要求就是一个数据持久化,即你的数据也是跟随它走的,或者是说你可以在另外一个机器上很快就可以挂上,那么你要能应对这个容器迁移的这种工作。

第三呢,可以说第三点挑战是带来最大的挑战,也是面向容器存储可以给容器,就是给整个的微服务带来一个很大提升的在于:以前的存储是很难做到应用感知的,因为以前存储最多就对着虚拟机,或者是某一个专门的应用;但是一个通用的存储平台上面有各种各样的应用,你是很难做到应用感知的,那么很大层面上造成的问题,你分配存储资源的时候,恐怕会造成浪费,恐怕就没有按照这个应用的特性来分配这个存储资源;那么这个面向容器的存储的话,那我想它最核心的一点还是做到应用感知。那么容器出现可以让容器就相当于一个微小的应用,那么它对这个这存储的要求,它可以是千变万化的,这个千变万化的应用可以在一个平台上,存储系统就要应对所有的这种,可以说定制化的。可能举一个例子,你就像你,原来的存储可能是说,你要一份饭的话,大家都是固定统一的,甚至是样式只有三份,你去一个餐厅可能菜单上只有三种饭,你就点这三种,你没有选。容器就不一样,根据你个人要求,你就要定制化:你就需要“我点这个”,我今天心情好了,可能我点这个菜;心情不好了,点那个菜。

容器应用感知也一样,对于可能不是很关键业务的这个持久化存储,可能你需要这样的一种存储资源,对于性能要求很高,或者是说很关键业务的应用,那你可能需要不同的存储资源。那么这样一个统一容器存储平台的要满足这样的对应用感知,或者是叫做存储定制化上需要做很大量的工作,甚至是说存储应该把很多的能力开放出来,能用API的方式让应用能够直接来操作,这就是我的一些思考。

Infoq:那传统的云存储它要对接容器需要进行那些改变呢?

江松:传统存储,比如说一个传统的分布式存储,它要对接一个容器平台的话:首先需要有一个全局的命名空间,当然现在很多的分布式存储也有这种全局命名空间,但是它主要是针对虚拟机的;那么如果是需要面对容器的话,你需要针对容器的挂卷,driver这种特性来实现一个全局的命名空间。 因为现在比如说容器是Docker的话,那么Docker就提供这个Volume Plugin这种方式,你就要在这个Volume Plugin上做很多工作。比如说Docker如果,因为Volume Plugin的作用就是说把这个挂卷或者把存储这个创建这一部分交给你来做,那你就需要在这个写单独的Volume Plugin。那这个Volume Plugin能够说当系统出现创建存储卷的要求时,能够迅速的创建出资源,而且这个资源要被比较合适的分配,那跟有一些传统的存储的做法就不一样了:传统做法会是,一个固定的东西迅速的分配,分配好以后,然后要有一个整体的调度策略。可以这么理解,如果要把一个存储资源也看成一个一个的微服务,需要有一个统一的存储的调度体系,在一个统一的命名空间里去调度:如果你能做到这一点,你就能充分的发挥了容器的这个就小、快、轻、独立这种特性,可以很好的支撑这个应用;如果你没有做到这点,系统可能也能工作,但是它没有会充分发挥出能力,有可能会在某些应用情况下因为存储而受限。

Infoq:在容器和微服务的配合当中,有的人说我们也一定尽力做到微服务的无状态化;但是你认为在哪些条件下,你建议使用有状态的这种容器?

江松:我是这么觉得,在一些接口比较固化的,不大变动的一些场合,或者是说在某些这个用Rest API的方式做得效率会比较低的,甚至不如直接访问,直接调用比较方便的情况下,接口变化不大的情况下,我觉得它还是应该做到,可以做到这个微服务;但是不一定全是无状态化,因为很多的我知道很多的这些设备是企业应用,如果全部做到这个微服务化几乎是非常难的,而且哪怕可能做到了以后,你会面临着其他的一些挑战。所以我认为首先大家都在说,微服务化,可能最难最难的点、或者是说最重要的一个点,就是说你要识别出哪些组件或哪些应用应该走微服务化,那些不应该做:我觉得可能做好了这一点,你的微服务化基本就成功了一半。

Infoq:那关于持久化数据能力的这一块应该怎么考虑?

江松:比如说在一些通过文件来进行状态交互的,或者是说一个,比如说一个producer,比如说一个日志一直在产生这个日志文件,那可能有些处理的这个容器,或者处理的应用,一直在取这个日志来做处理或分析展示,类似这种应用已经做好了,或者是说已经从传统的应用转过来,就是这样做得,那么也可能在某种情况你就不需要去改成全部restful这种。因为改的代价实在太大了,尤其在数据量非常大的情况下,文件也是比较好的一个传输的方式;另外可能在一些这种分布式的这些数据库,类似于这样子的,可能它比较适合于容器化以后,可能需要更关注持续化的一些存储。

Infoq:那在容器存储的实现和研发当中,有容云都踩过哪些坑呢?

江松:我们其实也是从去年就开始来做这个面向容器台的一个存储系统,那么我觉得主要踩的坑可能是说,因为这个我们要做得系统,不只是说自己要有个容器存储平台,这个平台是要对接其他企业现在现有的,比如说Ceph、 GlusterFS这些系统的,那么你还要中间做一套这个调度的一个体系。这套调度体系怎么和你现有的容器的调度体系能够做一个有机的结合,就是这个是一个比较大的一个难点。

我觉得踩的坑的话,我觉得踩的坑的话,其实很多是碰到Docker的坑。因为我们都是用GO开发的,很多GO的包可能也没有经过太多的检验;所以呢,我们用的话很多坑用过很长一段时间才发现。另外呢,就是说我们也试图的去把一些用C语言原来做得一些包,全部改成Go来写:因为我认为我们的存储系统要适应以后的这种发展,或者应用感知;这种调度的话,可能还是用统一的GO语言来写会好一点,所以我们也是做了大量的工作。

在这上面,所以就说总的来说这个坑还是蛮多;但是呢,我觉得后面的坑可能会更多一。因为我觉得我相信这个领域还比较新,我们有不错的理解,而且也专注的在这个领域也耕耘了快一年的时间,我们也有客户对这个很感兴趣,在试用的过程中可能会有更多的需求、更多的反馈、甚至更多的坑出现,那我们也是很有信心把它一一去解决。

Infoq:那所以当时是看到的GO的,你刚才提到了看到GO的优势才选择的GO,虽然它很年轻?

江松:可以这么说,我觉得GO的优势是非常明显的,特别在这种容器平台这种领域,就是无论它的资源调度,还是对整个Linux用户态这种控制,还有它的这个社区、它的易用性,易学性都是。而且它有channel、Goroutine这种概念是其他语言,起码其他传统语言没有的。虽然有一段学习曲线,但是我觉得对我们来说还是收获要远远大于我们付出的成本,我相信未来云平台基本上是这个以GO语言和Python为主。

Infoq:那有容云所指的:“企业级容器云平台”和“企业容器超融合一体机”这两个有什么区别吗?在技术层面上和业务应用上?

江松:技术层面就是说,我们的企业容器云平台,我们主要突出的是云平台。那么我们很看中的是说,和现有的企业的系统去对接,比如说我们的网络要对接现有的企业的网络,存储要对接现有企业的存储,包括监控系统,所以我们这个容器云平台更注重的是跟企业现有业务对接,甚至是说企业现在就有它的CI/CD这些流程,我们的云平台怎么去跟它对接,主要专注于这个上面。

那么超容一体机那就是说把我们自己做的这套存储系统,加说我们实现的这种网络,把它合并在一起做一个开箱即用的一套系统。那么它也不是说一个适用于所有场景的一个一体机,一定是说我们根据某些行业,我们可能跟行业,这个伙伴一起把它的应用直接就放在云平台上去运行,可能它的应用也需要改造。从我们角度来说是一个超融合的云平台一体机;从客户角度来说,可能看上去是一个以容器技术为支撑的一个更方便使用的应用一体机,是这样一个概念上不同。

Infoq:那PaaS现在是你们主要的领域吗?然后还有企业应用商店这块是否可以看作你们是在提供一个SaaS的服务?

江松:是这样的,PaaS是我们很重要的一块领域,但是我也决不是仅限于PaaS,我们更多的是PaaS和合作伙伴一起,我们提供各种各样的,包括研发、咨询、方案的这种服务,来基于我们的云平台,基于这个服务。这个我们更是说,根据每个行业的不同,因为PaaS这个层面是很多是一些很大的企业需要,那我们还有很大一块工作是这个行业应用,对行业应用进行一些改造,直接让行业应用运用容器技术能够做到这个一个革新,给用户带来更大价值,那么就是说我们是这个行业应用的技术支撑,这个是很重要的一块。

关于你说的应用商店呢,它也是我们的一个解决方案,但是我们并没有说现在就提供,这是未来的一个可能方向,提供一个基于这个容器的,基于公有云的这种SaaS服务:我觉得这个还需要一段时间,需要把很多应用全部容器化以后,可能才会出现这样的一种服务。首先我们在整个市面上或者市场上在走第一步,就是把应用微服务化,利用容器技术来更好的部署、更好的运维。

Infoq:那么安全在你们的容器云这块是怎么做得呢,能谈一谈这个方面技术的研发吗?

江松:安全是这样子,我就是现在整个来说,整个一个容器云平台是往往生产系统在转。我觉得安全带来的挑战是巨大的,其实这个用户也都是一直在很关注这个问题;所以我们是和硅谷的公司合作,然后把它们有些安全技术对接到我们的平台上。具体的技术细节,主要是要监控这个容器的网络,在网络层提供一层很强有力的这种监控,包括所有的数据包,他首先要有一个自学习的能力,要能够把容器的这个互联的拓扑要自动的能够学习,因为容器的拓扑也是随时在变的,它能够随时能掌握;然后根据这些拓扑来设定,当然再结合用户设定的报警或者是安全策略来提供一整套的这种监控、安全,这个防护的一种措施;当然还有另外一部分安全的工作是镜像扫描,就是针对你的镜像进行各种安全漏洞的查找和扫描,甚至推送一些这个已经成熟的一种这种升级方案。

所以我们基本上关注这两点:一个是网络的,就是拓扑的,自动化的根据容器的网络拓扑,进行网络之间的传输的监控;第二就是说容器的这个漏洞扫描,主要现在集中在这两块。

Infoq:那当时为什么去选择就是要从安全这块做起呢,就是与这个Rancher Labs合作的这个前后研发的这个经历合作的事宜大概是怎样的过程?

江松:是这样的,我们公司原来是做,我们是2010年成立,原来做虚拟化方面的工作的。当时做虚拟化的时候,正好因为Rancher Labs的总部也在深圳,其实也是类似于像InfoQ举办的大会这样子的,我们就建立了关系。
们对这个容器带来的革新,感同身受、或者是被它所吸引。因为我是搞技术搞了很多年,我觉得它绝对是下一个浪潮,那我们公司就迅速的转向了容器的这个领域;那么安全这一块呢,也是我们感觉到就是,因为我们是做企业级容器云平台的公司,我们跟客户的交往或者是说调研的过程中,也的确发现安全是用户非常关注的一个点;所以我们很早就开始研究或者是说就是整合这种安全的这种方案,是这样。

Infoq:那你们是怎么继续合作研发的呢?比如说在各种安全一块在添加的时候,这个研发和整合是怎么做得?

江松:研发整合主要是就是他们提供的API。他们因为,就是这个安全也是通过这个微服务化的方式来实现,因为你要需要被容器平台所调度,因为你也要需要访问容器平台的原容器,容器平带也要访问这个安全这个微服务的原数据,所以基本说是一种API的互相调用的一种关系。

Infoq:那这个数据安全当中的数据加密,然后这个过程是怎么样一个过程,有没有数据加密这一块,还有没有特殊的专门特制化的那种协议呢,传输协议?

江松:我们如果是说,你需要数据加密的话,网络加密,我们这块并不是在安全里面。因为我们的安全刚才说了,主要是监控漏洞和监控非法网络访问,加密这块我们是有自己的网络,就是有这个平台是网络方案,这个网络方案就是采用IPSec这种技术来做这个网络,就是容器互联时候的网络加密。

Infoq:那我看有容云就是提供的三类案例,就是金融、保险、互联网+,互联网金融,就是这个现在是你们所关注的三个领域吗?那么为什么是这三个,没有其他的行业呢,没有考虑其他行业?

江松:首先我们认为这三个行业的竞争非常激烈,其实业务驱动IT的变革。容器这种新技术,对金融、保险、还有互联网、金融互联网企业,给他们带来的这个价值是最大的。所以呢,这些企业都非常愿意去投入来研究新技术,来和合作伙伴一起构建自己的基于容器的一套解决方案,或者一套PaaS平台,或者是应用商店,或者是CI/CD的这个工作流。所以我们会重点的现在关注于这个三个行业,但是我们也看到是有很多其他的这个领域,其实已经在追赶,或者是说已经开始实施的就是很关注这方面,那么我们也是在不断的扩展之中。

Infoq:那么能不能简单的谈一下这三类情况下,在技术上的实现有没有什么共同点,差异化又是怎样的?

江松:关于金融就是我们所指的是银行。作为银行来说,就是我只能说我接触到的客户,或者是说我们实施的一些案例来说,我觉得银行它要的东西,或者是说它的技术点就是他要的东西很全,它倾向于可能会倾向于一个大平台解决它所有的问题,其实就是有PaaS有应用商店,有各种各样的东西,可能是因为银行的这个业务,或者是说它本身就是个大平台的业务,所以我们基本上是说,这个可能银行的这种全面性是最高的。

如果保险来说是,它也除了关注这些,还有就是有些管理公司要有平台。但是可以说有些这个分开的这种案例,可能它不需要一下子上一个大平台,可能根据业务的不同,可能保险公司的业务会分类更多一点,或者更细一点、或者变化更快一点,它可能会一步一步的来实施,它可能会先选一点去切入。

那么互联网金融这个领域呢,互联网公司也是非常懂容器的,或者是说它们本身天天在做这个,但是互联网基本上非常关注的很重要的一点就是CI/CD,所以互联网的这个客户对我们来说,基本上就是全部是CICD的需求。

Infoq:那么您是否有对超容器有研究呢?

江松:超容器就是指下一代吗?

Infoq:英文是HyperContainer。

江松:这个研究还不是那么多,只是觉得再往后走的话,我觉得容器已经对这个,有了容器技术以后,对微服务化这种冲击,或者对CI/CD容器的变革已经是很大的变革了。所以在这个领域基本上是大家都承认和接受的,把它把容器技术做到能够发挥它的很大的价值也需要一段时间,因为应用要改造,或者是说概念要更新。那么但是容器可能要解决,比如说它的生态问题,因为现在大家也知道这个容器的这个生态是有阵营,或者是这些用户选择会有点茫然所错,要解决这些生态问题;还有呢,容器也要解决安全问题,现在容器安全是一个比较难以解决的问题,还没有好的方案。我觉得可能先解决这两个问题,当然肯定是有前瞻性更好的在研究这些,我觉得恐怕这两个问题解决的过程之中,会出现更好的一个HyperContainer这种技术;但是我不是很相信说,前面这两个问题还没有完全解决,或者是说在没有完全上生产的时候,可能有些尝试但是要走到那个大家都认可一个就是超容器的技术的话,我觉得还是要很长时间。

Infoq:那刚才提到了这个容器的生态这个问题,因为现在有一种观点,就认为Docker它现在开始有一点封闭的趋势,因为它自己推出自己的内容编排系统,但是现在又建立这个Open Container这个组织,你怎么解读这样的一个发展,是会形成一个非常开放的这种继续发展?

江松:要解读的话,我是比较从商业角度来解读这个事情,或者是说,这当然都是有商业驱动的,最终这个也是一种商业驱动。就我感觉来说,当然对技术人员来说,就是好的技术大家都会往这个,大家有评判标准的,什么是好的技术,什么是差的技术,都是有评判标准的。但是为什么会有这种,既然有评判标准,而且是这个全世界都承认的评判标准,为什么还要有生态的纷争呢?那就是因为有这个商业的驱动,因为技术,一个你要解决一个用户的问题远远不是只有技术的一个层面的问题,还有各种各样的商业和这个生态圈这些复杂的问题。就我来看的话,所有的纷争都应该是从商业技术的角度的纷争,而不是技术角度的纷争;技术是很容易分出高下的,但是商业说实在的,你说你的,我说我的,大家都是有可能的。

Infoq:所以说接下来这个发展趋势还不太好从技术角度去评判是吗?

江松:就我来说,很难有人说,这个技术领域这个技术点就是最好,这个技术点就是不好的,这个很难说。

Infoq:那刚才我们谈了技术问题,那么想问一个您个人的问题,就是您有十多年的研发的这个经历,那么您是在怎样的情况下就是选择加入有容云,刚才也提到是因为技术而创业的,这个你创业时会不会有些个人的想法、一些观点?

江松:我的一些感想就是,如果能分享的话,我就说一定要做新的东西。这是我能分享的,就是说它给你带来的这种动力和给你让你感受到的价值还是很不一样的。当然我就说在有条件下,我也不是说所有人都有机会,我正好有这样的一个机会,看到了。因为以前我做了十几年,我不能说我是在做新的东西,我只是说把原来的东西做得更好,在做这样的一件事情,我不是说这样做这件事没有意义,而且也还是很有意义的事情。只是说我忽然看到了容器技术,我忽然觉得这种技术对我来说是一种冲击,那我从这个技术人的角度,如果把我理解为一个用户的话,我会对它真的是说,而不是这种感觉,我是有一见倾心的这种感觉,我是有这种感觉的。当我做了一段时间以后,我发现越来越多的人也认可这个,越来越多的客户会很喜欢跟你去谈,这个互相的交流,这种互动,包括这次大会这么多人,那么充分的说明这个新的领域永远让人激动的。这个建议是给技术业务做了很多年的人。如果你是刚入门的话,或者是说你是初上任不久的话,我是建议年轻人,那么你可以打基础;但是一定起码有一次做最新的技术,你永远不会后悔。

Infoq:好的,谢谢江松,那我们今天的采访就到这里。谢谢。

分享到:更多 ()