我今天从社区角度跟大家讲一下,Kubernetes、Docker、DC/OS这三者的关系,澄清一下如果大家在生产环境面对客户做选择或者做任何未来预期的前提下,怎么样去做自己的规划。
容器时代我们谈得更多是Docker,Docker只是容器的一种,如果没有容器管理,那容器只是这种纷乱的形状,大家在很多演讲的时候也可以看到,这张图以我的理解来说,换句话说容器只是(英文),没有管理就像(英文)、(英文)、(英文),没用之前应该是这种形状。用以后井然有序,把你业务系统用容器方式进行革命性的改变。怎么做到?大家都在说Docker和Kubernetes之间是这样子,大家在打架,互相拼得不可开交,我们理解是这样DC/OS,大家实际上推共同的容器管理大的一张图,DC/OS在最下面,Kubernetes和Docker是最上面。DC/OS包括(英文)和马拉松的封装,(英文)总得来说做二次调度和资源管理,在IAAS和PAAS之间,他们关系是这样的。
DC/OS位置是这张图,不管是私有云、公有云大家共通是一个大的资源池。在CaaS类似于(英文),DC/OS在最上面,在谈论中或者你使用过程当中,DC/OS定位就在这里,你可以通过这张图选择你应用的场景。为什么做到这?大家知道(英文),还是基于(英文)做了很多应用,对于无状态支持不够,相对支持比较差,对容器适配也有,没有那么好。在CaaS相当于这个生态做得不是很好。DC/OS包括最上面那层次,现代应用,我们认为现代容器非常火,但是很多东西不能被容器化,很多应用不能被容器化后生产化。我们认为现在应用应该包括所谓的有状态和无状态总共的集成,包括大数据,生产环境,包括DevOps的集成,这是现代应用的场景。
现在讲DC/OS,实际上就是这张图,如果你自己在你环境里面你有open Stack等,相对来说都是隔离的,DC/OS就是把所谓的资源真正做到了非常平了,它把所有资源进行统一管理,它可以做到生产环境、大数据分析。
应用包括微服务,以前容器化出现之前相对来说它走得比较慢,因为离岸这种方式很重,不可能立刻实现微服务效果,有了容器之后促进了微服务得到推广。不管是streaming、Batch等,加在一起我们称之为现代应用组成的架构图。
DC/OS的价值和架构,我简单说一下,我说一些干货,如果大家在你的现在生产环境里面已经有了类似于基于平台,你如果选择任何一个技术的话,你存在风险。我不是做这个之前一定选择(英文),你做自己技术选型把平台选择好,传统应用还是隔离的,不管你选择任何一个技术都不会把你整个场景吃通。我们谈最右边的DC/OS的案例,给你这样一个方式,给你适配的方案,你可以把你现在的各种资源池进行很简单的规整,这个规整不需要做很多的事情,你只需要把你操作系统,把DC/OS部署上,你可以在上面玩各种的平台,这种方式。这边仍然是包括PaaS,就是Docker和Kubernetes这些东西了。
是DC/OS的Mesos的关系,Mesos有四年的历史,就是在2012年左右,Mesos实际上在国内相对来说场景非常多,而且客户相当多,总得来说是用户比较多。Mesos是资源管理、资源调度的框架,DC/OS做了封装,上面有一个PaaS平台,再上面就是生态,因为有了这样一个资源类的平台,你就会把DC/OS的这种以(英文)方式部署到我们平台上。还有大数据比如说Sbak、KAFKA等这些东西部署到你自己的环境里面。
什么是资源二层调度,为什么Mesos能做到这种方式?总得来说大家实际上整个屋子可以形容为一个资源池的话,每一个座位空着就是空闲,坐着就是有人,这个被利用了。所谓二层调度,就是我如果是Mesos资源汇集一方,大家向我汇报资源使用状况,比如说现在有一百个人,实际上一百个人都向我汇报资源是什么状况,我怎么做到我自己各种各样的框架,各种分布式系统统一的规整。这边有(英文),这边有Mesos,大家共存情况下,资源汇总给我以后,我知道现在有80个资源在空闲,20个资源被使用,Hadoop和Mesos同时问我,我有2TB数据计算,3TB存储,你能给我50个CPU,我知道整个资源使用情况,我告诉它我有,它直接通过我把资源调度起来,这样做到真正资源的集成和规整,对于很多分布式系统来说,大家相对隔离,并且能够把自己的任务进行分布式的计算,所以它能达到资源利用率上极大的提升。我给大家说一个例子,不管是中国的用户还是美国用户,有一个(英文),很早以前用(英文),当它使用完DC/OS以后资源利用率达到90%的提升,以前使用100台机器,现在就使用10台,这是资源极大提升,怎么做到,就是通过二层调度,把资源相对调度更加高效,把各种系统进行密集的规整,对下面资源进行统一调度,这是它的一个实现方式。
刚才说到二层调度,它的资源又是怎么做到的我们叫做Fair Sharing,大家以公平方式分配资源,我给到不同的系统,对于Fair Sharing下面大家公平的使用资源,我有KAFKA等,大家都以公平的方式使用资源,你可以通过优先级等给相对高的分布式系统,进行资源的优先调度,所以叫做Fair Sharing。
这是DC/OS的一个比较详细的图,尤其是中国用户有了(英文)马拉松你为什么还做DC/OS?我是这样回答的,因为(英文)和马拉松可以认为我们形容一辆车是DC/OS,(英文)和马拉松就是架子加上离合器加上引擎,很多人说(英文)和马拉松出来那么早,DC/OS刚出来,我已经有我自己的分装了,DC/OS做得更多是运维等各种各样的东西,像open Stack,大家起步点不一样,但是最终大家获得是一样的,你要融入社区,最终得到在这个基础上获得更多的方案,我有一些东西我不用做了,我有一些东西让社区帮我做,这是你享用DC/OS的好处。如果用Mesos很长时间人,直接用DC/OS很难适配。大家做DC/OS的选型,实际上这是比较好的时间点,你可以快速把知识进行相对公平,对你未来发展比较公平的选择,给自己机会,也是给自融机会。
在开源的DC/OS里面包含企业现代需要的所有功能都是具备的,除了安全和多租户,安全和多租户是(英文)企业发行版提供的,其他对于容器调度,容器编排,有状态、无状态的管理都是有的,还有(英文),类似于app store,用户把场景布置好,一键式可以部署一个(英文)。
这是区别,跟亚马逊、Kubernetes、Docker等区别,区别比较明显。你DC/OS有的东西我们也可以做到,你有二层调度,我可以自己写一个调度,我回答是你什么都可以做,只是时间成本和你未来场景实现的规划问题。在这张图里面我可以说不管是Kubernetes、还是Docker,你只要通过各种各样的叠加都可以做到DC/OS一样的功能,这个问题在于你有没有精力去把它拼装出来,你如果是有,我很高兴祝贺你,你可以用,如果你没有这个精力没有这个人员没有这个资本,这是很好选择,因为它起步比较低,而且你可以很快把这个用起来,对你整个发展是一个促进。
这是中国社区一个现状,这是2017年现在大家谁在用DC/OS和(英文)的统计,大家看到三大运营商,BAT,包括很多的银行,都在用这种方式用。实际上我很多不知道,我那天跟电信天云说,你们用没有Mesos,他们说我用很长时间而且一千个节点在用,很多人不知道,如果大家在这个屋子里面可以继续添加,希望把DC/OS这个技术推广给用户,让中国用户继续受益。
这是Mesoscon北京,在6月20号到21号是全球的峰会,在这里面包括多的三大运营商,很多的用户和贡献者都会去,也希望大家积极参与这个会议。我就不耽误大家那么多的宝贵时间,这是我的微信,欢迎大家多了解DC/OS的技术,Mesos在中国做市场做得很烂,社区做得也不太好,我们希望通过我们微薄的宣传和推广,帮助各位,能够把自己不管你业务系统还是未来规划,能够做得好一点。