首页 -> 新闻中心 -> 云计算 -> 正文
京东云产品部总经理郭理靖:京东云容器服务实践
2017-04-25

W020170419594301056567

大家下午好,很高兴来到这里跟大家分享一下京东在容器方面的经验。我分四个主题,第一、云计算的下一个时代,第二、怎么做容器云的,第三、我们安全怎么做的,第四、容器云经典的应用场景。为什么我取云计算的下一个时代是容器的时代。其实从虚拟化的实现,在1999年推出虚拟化产品到现在接近20年了,我们伴随着虚拟化走过了很长的年头。我们慢慢把大部分的应用,早在几年前大部分应用都搬到虚拟机上面去了。

但是我想给大家讲的观点是什么?我觉得时至今日,也许我们世界应用达到80%的应用都跑到虚拟机上了,再过五年后,全球应该有50%的应用都会跑到容器上面去,容器其实就是下一个时代,它代替QEN、代替虚拟化的。

我们先看一组数据,这组数据稍微有点过时,这是2016年的数据,docker而应用程序数量有46万个,这个数据低估的,全球Docker应用数量绝对超过46万的。另外几个数据都是Docker官方公布的,Docker化相关的开源项目数,包括Docker镜像下载次数是41亿次。以及Docker项目贡献的人数3万。

在2015年的时候,2015年跟2016年Docker使用率从8.2%增长到10.7%.我预估今年增长超过45%,万事开头难,前面你要教育客户,让用户接受这个东西都是比较困难的,但是随着教育普及之后,我觉得大家应用起来更能接受。这是容器关注度趋势分析,大家看到接近80%的用户对容器技术非常关注的。再看一下2015年跟2016年的对比,最下面两个数据,在一个企业里面同时运行容器的最大量是13万,这个数据在2017年肯定被刷新的,我们京东同时运行数量超过20万了。有很多容器并不代表同时运行,这个数量有能达到400多万的。相信2017年肯定出现一个让大家更震惊的数字出来。

讲完这个趋势,我们讲讲我们京东怎么做容器云的?京东是怎么使用容器的?京东使用容器非常早,我们早在2013年当时,Docker没有出来我们想自己搞,想搞一个类似Docker的东西,我们做到一半发现Docker出现了,我们发现这个方案特别适合我们京东,所以我们京东大胆拥抱了容器这个技术,时至今日京东大部分都容器化了,而且跑得非常稳定了,也可以说京东是容器技术的最大实践者。京东云去年7月1号正式对外服务,但是我们容器服务是今年才上线的。虽然京东是容器技术的实践者,为什么我们公有云上这么晚才提供容器服务,这有很深层次的原因的。

这个我简单介绍一下,我觉得强调两点,我们讲Docker的时候,讲容器,其实我们一定要把Docker的组成部分好好解释一下。Docker在我看来有两部分组成。第一部分是它的轻量级的隔离技术。另外一部分是Docker自身的Image体系。大家很多时候把Docker和容器混为一谈,容器是轻量级的技术,底层还有非常重要的Image的体系,那个体系才是最关键的我们看来。隔离的技术我不用这个我用其他的也行,我们之前内部讨论要不要容器化的时候,我们有很大的争议,我们有自己的部署,我们有自己微服务治理,我们有自己的统一配置管理等,什么都全了,我为什么用容器把底层开源代替,看起来价值不高。当时采取Docker生态,最大价值是Docker的Image体系给我带来的优势非常大的。容器很小,一台机器可以起很多机器,但是对我们而言,实际工作刚才当中不可能在一台容器起几千个场景,反而几百个是相对来说比较常见的。

讲讲我们京东云提供的容器服务是什么样子的?其实容器在我们看来,容器公有云提供服务最大问题在于它的安全性的问题。因为大家都知道Docker用的是一个轻量级的隔离技术,轻量级隔离技术带来的问题就是说如果我两个Docker的应用,跑在一台物理机上,很有可能A应用通过一些手段容易获取B应用的数据,这个在公有云里是不可接受的。我们做了一些事情,我们用虚拟化的技术支持Docker的页面,让KAM跑起来像一个Docker,实际上它的用得是虚拟化的技术,它带来最大好处就是非常安全,而且它也非常快,传统起一个虚拟机需要一分钟两分钟,我们起一个容器服务只需要几百毫秒,这是一个示意图,我们在KAM上做很多裁减工作。

为什么我们这么做?为什么我们兼容Docker页面的体系?最重要我们考虑点就是在标准化和兼容性上。我支持容器整个镜像体系的,所以所有容器的原生的image,天然可以跑到我平台上面去的,然后我们兼容了DockerAPI的管理工具。另外我们用开源的虚拟化技术,所以跟我们现有虚拟化的技术完全兼容,我可以用我们传统提供的SDN,在线迁移工具,包括用我们分布式的存储,以及我们提供容器应用的通用化。

然后我们配置非常丰富,KAM做不到最小内存做到64兆,传统公有云上看到最小云主机是1G的,对于我们蜂鸟容器而言,我们最小颗粒度做到一核64兆,大家跑一个小应用用我们这个最划算的,因为我们成本是别人的十二分之一,我们比别人便宜多了。当然我们也支持超大类型的容器,包括32C128G的,接下来我们提供更大内存的容器服务。

讲讲我们安全怎么解决的?这是一个简单的示意图,大家在座都用Docker,我不详细介绍了,这是一个Docker跟VM的区别。

我们看了一下业界的厂商怎么做容器云服务的,左边这些图都是业界厂商的标准做法,因为我们解决不了Docker带来的隔离性问题,怎么办?我用传统的隔离办法解决。大部分厂商在公有云上提供容器服务,或者你在公有云搭建自己的容器的时候,你采取做法就是我买很多虚拟机,在虚拟机我在去做容器,我把虚拟机当做物理机来用,这样我就把安全屏蔽掉了,因为我们不可能在物理机上直接给用户提供容器服务,这样不安全了。右边是我们做法,我们可以在一个物理机上起不同用户的容器服务,而且能做到安全隔离,这样我比其他厂商而言,我们的容器颗粒度也小,用于管理容器管理工具的损耗也很小。

现在讲讲典型的应用场景,前面嘉宾也讲了很多,做容器跟微服务,我跟大家分享一下我们怎么看待容器和微服务的?微服务概念出来的时间也不晚,2004年就有人提出微服务的概念,我们以前讲敏捷、微服务、DevOps,微服务+敏捷+DevOps一定带来便捷吗?这个观点不对的,敏捷、微服务、DevOps提供一些工具和理念,关键组织是不是很敏捷,组织有没有同样的文化,同样的思想,有没有接受这样的概念,如果一个组织没有这样的概念,用了再多的微服务、敏捷、DevOps,其实对于你开发生产并没有多少提高。

Docker出现给微服务带来了契机,微服务带来的部署成本、运维正本、服务治理成本非常高,刚好容器Docker的出现弥补了微服务的缺点,所以时至今日我们讲微服务的时候一定会讲到容器,我们讲到容器一定会讲到微服务,感觉这两个东西天然在一块一样,其实不然的,其实微服务的概念出现时间比容器早很多,早十年。只是说容器出现之后把微服务那些弊端基本上都解决掉了。然后容器发现微服务是它最好的服务场景,所以我们讲容器一定会讨论微服务,讨论微服务一定会讲容器。

下面是讲一下DevOps,DevOps不仅是在部署生产上容器有它自己的优势,更重要我们开发者在当前进行开发带来的便利性非常关键的。我自己研发出身的,我们以前开发过程中最痛苦的事情就是我要跟别人进行联调,我要别人的联调环境,我进度依赖别人给我提供的联调环境,整个公司整个组织一个部门,整个应用全部联化,在一个开发者笔记本上我能部署一套比较完整的DevOps环境。别看这是很小一个进步,其实对整个研发效率提升很大,至少提升了50%,因为你在大型企业你开发跟其他部门有很强烈的依赖关系。

以上是我们京东云的实践,我总共给大家讲一个关键,第一个我觉得容器是一个未来。第二个在公有云上提供容器云服务的话,我觉得采取像我们服务方式是比较合适的。也可以给开发者带来更多的便利。谢谢大家。

新闻搜索

覆盖全国各省会城市及海外城市的网速测试
→选择要测试的地区
→选择目标测试点