云计算的下一个时代——“容器时代”


内容来源:2017年4月21日,京东云产品部总经理郭理靖在“K8S技术社区”进行《云计算的下一个时代——“容器时代”》演讲分享。IT 大咖说(Id : itdakashuo)做为独家视频合做方,经主办方和讲者审阅受权发布。docker

阅读字数:2329 | 4分钟阅读安全

嘉宾演讲视频地址:suo.im/4OjYfk网络

摘要

随着容器技术的发展,容器成为了目前最受欢迎和关注的项目。京东在容器的实践过程当中,结合虚拟机,对容器技术作了优化和改进,他们是怎么作的?架构

容器趋势分析

在容器和服务发现相关的内容里,docker和kubernetes排在前面。在整个工具链里,docker、jenkins和kubernetes比较受用户的关注。框架

容器是将来的一个趋势。我在2013年的时候就开始接触容器,后来发现docker开源以后很是合适咱们,因此咱们就开始在内部尝试容器化。微服务

咱们坚信容器是下一个将来,是未来的大主流,因此容器上面的编排是很是重要的。据数据显示,用容器的公司在九个月以内都会把本身容器的规模double一下。将来容器占有率的增加速度可能会比咱们想象的还要快。根据咱们内部以及用户的数据来看,用容器比用VMS的成本下降约50%。工具

经过这么一组数据,我想表达一个观点,计算的下一个时代已经来临了。测试

京东云上的服务解析

京东作容器有很长一段时间了。咱们从2003年开始应用容器,到2006年的时候,京东内部已经大规模容器化。优化

传统的虚拟化技术就是在宿主机里套一层虚拟机管理软件,让虚拟机去作全部的安全隔离修复。而容器的优势就在于启动快体积小,应用发布方便。网站

在虚拟化时代,它的安全是强隔离的,生态也比较完善。通过十年的发展,虚拟化的网络存储都至关成熟。咱们把虚拟化和容器结合了起来。

“蜂鸟”特性一——安全隔离

容器最大的问题还在于隔离性。虽然咱们相信本身开发出的应用比较安全,能够在公司内部用传统的容器部署方案,但在公用云上不行,由于咱们永远不知道各类各样的用户有什么目的,公用云用户的应用是不可信的。咱们要在公用云上给咱们的用户提供完整安全的服务。

“蜂鸟”特性二——快速启动

有时启动一个虚拟机会更慢,可能由于是拉一个镜像就使它变慢了,或者给本身的镜像作备份的时候里面装一些应用。应用和镜像大了,总体的启动就会慢一些。咱们启动VM工做进行了一些简化,改写了KVM,让KVM适配docker标准的镜像。既利用了虚拟化的安全、生态和它的成熟度,同时要保留容器启动速度、体积和应用的优点。

“蜂鸟”特性三——生态兼容

咱们也提出了不少标准化的东西。咱们的接口、模块都是标准化的,并兼容docker的API管理工具,有很好的兼容性。

“蜂鸟”特性四——多样化配置

蜂鸟的容器云服务核心是多样化配置。传统最小的云主机通常是1核1G,但在蜂鸟容器云服务里,最小的配置能够作到1核64兆,成本缩减了1/12。

“蜂鸟”容器服务的K8s应用解读

JCLOUD容器和咱们在京东云上建立的云主机能够放到同一个VPC里,也就意味着咱们支持VM和容器相互通讯。

存储的插件也是咱们本身作的。京东云借鉴了OpenStack全部API的设计和架构。存储这一块咱们用的是本身的云硬盘。在京东云里,容器和主机是对等关系,它们共用底下的网络和存储。

京东容器云服务和传统的一些业界作法不太同样。咱们把虚拟机和容器融为一体,和网络深度结合。

咱们保留了Kubernetes的原生组件,换了POD,还有网络和存储。

京东的容器实践之路

京东有世界上最大的容器集群之一,能保证京东61八、双11的大促。咱们内部99%的应用已经作好了容器化。刚接触容器的时候,为了减小损耗和风险,咱们把VM换成容器。但尚未利用到docker的精髓。由于Docker不只提供隔离的方案,还有提供应用分发的解决。直到2.0版本的时候,才变成一个真正的容器kubernetes集群,应用也能够double到镜像里。

在容器工具层内部,咱们开始用的是docker。若是直接用docker的话,在公用云里面是无法直接提供服务的,因此咱们把这个容器工具改造hypervisor,这样就能给用户提供安全的隔离。内部咱们用的网络比较简单,在外部咱们组建了一个很强网络团队,去开发CDN网络,毕竟公用云环境跟内部的环境是彻底不同的。在公用云里稍微有一些定制化。内外部容器最大的不一样主要是这些。

容器云有一个很是典型的应用,就是数据采集,咱们也能够叫爬虫。对于爬虫最大的问题仍是ip。咱们提供了丰富的ip池,包含了一百个C的ip。每一个用户来申请ip的时候,都会给它分配均匀。每一个用户爬取采集的网站是不同的。因此咱们对每一个用户都有一个黑名单的ip,这样就能保证每一个ip都是可用的。

对于微服务的概念你们可能已经耳熟能详了。咱们在京东云上面提供的电商云服务,就是电商云标准的一个微服务框架。咱们先是把电商中心、用户中心、商品中心、客服中心这些拆成一个微服务,经过容器部署上去。

微服务是docker很是好的应用场景,也是业界用得最大的应用场景。

不少企业里微服务仍是用得最多的一个场景。容器恰好解决了微服务的好多痛点。容器够小,微服务也小,恰好能够匹配,解决部署微服务对机器数量的要求。每一个容器都是独立的,并且是和应用绑定,容器恰好能解决微服务多语言的问题。

作微服务的时候不该该强制每一个服务用一样的语言实现。每一个服务有本身不一样的使命,对于不一样的服务,应该采用不一样的语言去解决,反而可以提升效率。

容器的横向扩容和纵向扩容跟微服务息息相关。

不论是微服务仍是容器服务,最终目的仍是要提升整个团队开发和部署效率。

其实用容器和用虚拟机省下来的钱可能只有一点点,可是在这我的工上省的钱是很是多的。因此微服务和容器主要的优点不是节省的机器成本,而是节省管理和能源上的成本。

DevOps的开发环境、测试环境和市场环境统一化以后带来的好处就是,若是有一个相对比较完整的开发环境,不依赖于别人的进度,对每一个开发者而言,效率可以提升升不少。

不论是容器也好,微服务也好,这种理念须要整个团队全部人都承认以后,才能产生这个工具应该产生的效率和效用。

今天的分享就到这里,谢谢你们!

相关文章
相关标签/搜索