京东云、新浪微博等专家畅谈Docker未来格局:开放与竞争(下)
在上次推送的文章中(传送门),田琪老师分享了他的DockerCon 2015峰会见闻。在“QCon高可用架构群”中,田老师分享之后,几位专家也参与了讨论。他们是:
- 闫国旗:京东资深架构师,京东架构技术委员会成员,负责京东云基础服务建设,也参加了DockerCon 2015峰会。
- 王渊命:技术极客,协作IM服务@Grouk联合创始人,也是Docker深度实践者。
- 陈飞:微博资深架构师,微博平台Docker容器项目负责人。
首先,闫国旗也分享了他的参会感受:
这次DockerCon 2015主要围绕着这四大方向:开发平台、扩展、开放标准和商业支持。具体而言:
开发平台如田大师前面提到的内容,回顾近两年Docker在这一方面的努力,及一些产出。Docker Container/Docker
Registry/Docker Compose/Docker Machine/Docker
Swarm等。这些产品其实在去年都已上线。其实我们大家都也了解,本质上Docker的优势就是生态,所采用的技术都是各平台所提供的,充其量在这里Docker只能算一个“服务编排者“的角色,当然这个比喻可能不是很恰当。没有技术竞争力,被替代的可能性就会很高,正像Docker同CoreOS的竞争一样,在这里都没有太多的话语权。也许正是因为如此,才会走向开放之路。Docker将自己的runtime贡献给了runC项目,将appc合并进OCF。表面看起来是走向融合,但本质上如何,Solomen和Alex或许会有更多的感触.
不过Docker令我个人最不爽的就是Projet
Orca项目,基本上把会场外面那些基于Docker的创业公司逼向绝路。这是个人最不喜欢的地方。在DockerCon
2015会后,我们也有幸前往CoreOS的公司做了技术交流。对于Docker向CoreOS隔空喊话,他们也只能表示”呵呵“。
微博平台Docker容器化项目负责人陈飞也谈了他的看法和感受。
这次DockerCon,之前也只是通过PPT有些简单了解,今天田大师分享后,收益颇多。下面,谈谈个人粗浅的感受:
一是Docker的扩展机制,这个还是挺激动人心的,刚才田大师也提到,目前已经有network plugin和volume
plugin走在前面了。相信大家在这块是比较纠结的,一方面Docker本身可能不能满足一些场景,需要做一些定制扩展,如果改它源码的话,可能会造成与社区脱节的问题,相信有了这个机制,后续扩展会更加方便。二是Open Container
Project。在一定程度上“应该”会避免容器runtime标准的分化,以后应该可以放心来做容器的调度管理,而不用担心某一天底层运行时闹革命。不过感觉是各家貌合心不合。三是Shopify使用DNS来做服务发现,以及libnetwork的进展。不过libnetwork提到服务发现会是其基本功能,也是基于DNS实现的,非常cool,不过感觉它是不是有点想多了。
还有一个就是这次大会,貌似没有提Mesos和Kubernates,记得上次大会有提到Swarm和Mesos会有一个亲密接触,不知道现在进展如何了。大规模集群调度管理,Swarm还是处于pre-production的状态。Docker解决了单机namespace,cgroup等容器技术组合的复杂性问题,集群技术如何简化,这里机会应该蛮多。
Grouk联合创始人王渊命也谈到了他对这次大会的看法和感受。
大家好,我们是初创团队,主要在DevOps方向使用Docker,和持续集成流程打通。Docker给我们最大的便利是可以快速地复制出一整套系统,方便几套环境同时进行自动化测试。所以我的关注点也比较偏实践方向。主要关注网络以及容器编排工具。
看这次DockerCon,感觉这几方面很快应该会有成熟的解决方案出来。既然有了标准和插件扩展机制,可以各厂商,各社区一起努力了,自己DIY也容易些。这个很让我激动。
另外看到田大师分享的Docker
networking方面的抽象,感觉非常符合分布式系统架构的抽象。各种语言的分布式框架可以在Docker之上大有作为,或者分布式的概念在Docker之上也逐渐标准化?
讨论之后是问答环节,几位专家回答了观众的提问。
Q & A
请问Docker什么时候可以放心用在生产环境?需要先解决什么关键问题?
田琪:如果是私有云环境,我觉得现在放在生产环境是ready的,网络和存储问题相对需要多考虑,网络这块国旗可以给大家分享下,国旗是网络方面的专家。
陈飞:就像田大师说的,Docker基本已经相对成熟了,对于计算型服务的话,应该没什么问题。有状态服务需要考虑一下存储方面的问题。Projet Orca是个什么项目?国旗能否进一步介绍下。
闫国旗:Project Orca是一套自上而下的整合方案,上层提供面向用户的GUI,下层管理Docker Engine/Docker Swarm/Docker Compose等等。功能上支持服务编排、查看集群或容器状态、日志等等,大部分功能基本上和一些Startup的产品一致了。Docker在当前市场前景以及应用价值如何?
闫国旗:就当前环境来说,基于Docker生态的工具链,能极大提高生产力,build & ship。在类似的研发生产流程中,都可以引入。对于IO Bound类的业务,个人认为Docker还是没有准备好的。当然这里也不主要是Docker的问题,首先对于底层来说,IO的隔离,目前做的还不够。因此也导致了上层的Docker无能为力,说到这里,感觉又引出了那个话题。容器的未来究竟是OS Container还是App Container?方向不同,就决定着技术的走向不同。我相信国内大多数的小伙伴是因为Docker Image的特性,才对Docker感兴趣的吧。“Image特性”,可以理解为Docker镜像。但是oveylayfs/dm的介入,会引入更多IO层面的问题。从现在的生态圈来看,大家目前都把方向瞄准了APP Container。
王渊命:国旗的这个问题好,我刚开始用docker的时候就比较迷茫,既然已经在云上了,云也支持镜像,支持API调度,为啥还要Docker?不过现在我觉得Docker应该是 App Container。
闫国旗:但在这个场景,所谓的OS env,貌似就没那么必要了。
陈飞:个人觉得应该是App Container,内核容器技术出来的时候本身目的就是为了解决App间隔离问题。但是因为容器本身创建速度快,所以也有当做OS Container的,但是OS Container要解决的网络、存储等问题,恰好又是内核容器技术不具备的,所以Docker肯定也是弱项。
闫国旗:OS Container的网络,可以引入SDN来解决,存储在本地是比较难做的。或许在未来,很可能OS和APP的界限不再那么明显。嘉宾们对国内Docker的前景怎么看?
闫国旗:现阶段Docker在国内落地还是蛮快的。从红包的案例,到京东的大促,都出现了Docker的身影。主要也是因为使用Docker没有太高的技术门槛。田大师前文提到“Docker项目现在的情况和当初的OpenStack有些相像”, 大家觉得Docker会不会也重蹈覆辙?
王渊命:Docker解决的问题没有OpenStack那么大,应该不会搞到OpenStack 那么复杂吧。
洪涛(爱抢购CTO):OpenStack的不成功很大程度在于架构的复杂性上,想当年,要配置一个可用的OpenStack没有一周时间是完全搞不定的,光这点就导致许多想玩OpenStack的人被挡在了安装成功这条线以外。Docker很方便部署,我们现在就把它当做App的容器,Docker怎么做资源分配?我们的Docker中有个应用内存泄露,干了260g内存。不能单独分配给某个Docker固定的内存或者网络?cgroup可以限制内存和网络是吗?这个能否做动态修改?比如写程序调用他改。
刘斌:Docker网络分配应该是以daemon为单位的。就是cgroup修改参数就可以了。Docker本事没有此功能,但实现不难。想问问各位大师,现在Docker都应用在哪些组件上面?是只有无状态App,还是DB、Cache和存储全面应用了?
闫国旗:现在Docker的主要场景依然还是无状态App,像部分Cache也跑在了上面。一些IO密集型的应用,特别是磁盘IO,使用Docker是否合适?
闫国旗:IO Bound类业务,从现阶段的测试结果上看,不是特别理想。小规模的使用问题不大,如果是大平台业务就是慎重了。就问题8,你们测过?大概比裸机慢多少?
闫国旗:这个不是慢的问题,是隔离的问题。IO隔离,IOPS或IO带宽的SLA。
陈飞:另外应用的时候,版本选择也很重要,像我们就遇到docker1.5和1.6版本在CentOS 6.5上,导致Kernel Panic的问题。现在有什么比较好用的Docker管理工具?
闫国旗:Swarm/Compose都算是Docker管理工具。当然Orca更完善一点。想问下田大师和国旗,这次交流,国外同行对Docker未来发展趋势怎么看,还有哪些机会?
闫国旗:从交流的结果上来看,国外的公司使用Docker更多是为了降低“部分流程”上的成本。正是出发点如此,所以才会有那么多的Startup参与进来。对于容器技术,我们也可以理解为是一种虚拟化技术。因此很多公司也希望自己的产品能向这个方向有所延伸。
田琪:我觉得厂商跟Docker还是关心的不太一样的。
感谢刘世杰@猎聘网的记录与整理,臧秀涛@infoq的校对与发布,其他多位编辑组志愿者对本文亦有贡献。读者可以通过搜索“ArchNotes”或长按下面图片,关注“高可用架构”公众号,查看更多架构方面内容,获取通往架构师之路的宝贵经验。转载请注明来自“高可用架构(ArchNotes)”公众号。
版权声明:本文为博主原创文章,未经博主允许不得转载。
京东云、新浪微博等专家畅谈Docker未来格局:开放与竞争(下)的更多相关文章
- 从单个系统到云翼一体化支撑,京东云DevOps推进中的一波三折
作者:王利莹 采访嘉宾:京东云DevOps团队负责人 郑永宽 今年,IDC 特别针对中国地区发布了<IDC MarketScape:中国 DevOps 云市场2019,厂商评估>研究报告, ...
- 第二届中国“AI+”创新创业大赛完美收官,京东云赛道硕果累累
聚焦南京产业发展核心诉求,京东云携手南京政府构建的"平台+生态+赋能"的产业体系,搭建产业创新云平台,以人工智能产业创新链要素补齐为核心,围绕"研.产.供.销.服&quo ...
- 技术沙龙|京东云DevOps自动化运维技术实践
自动化测试体系不完善.缺少自助式的持续交付平台.系统间耦合度高服务拆分难度大.成熟的DevOps工程师稀缺,缺少敏捷文化--这些都是DevOps 在落地过程中,或多或少会碰到的问题,DevOps发展任 ...
- 京东云罗玉杰:OpenResty 在直播场景中的应用
2019 年 3 月 23 日,OpenResty 社区联合又拍云,举办 OpenResty × Open Talk 全国巡回沙龙·北京站,京东云技术专家罗玉杰在活动上做了< OpenResty ...
- 【阿里云IoT+YF3300】1.时代大背景下的阿里云IoT物联网的现状和未来
“未来十到二十年,大家基本已经形成了一个共识,那便是新格局的奠定将由 AI 和物联网技术来支撑.放眼国内,在这些互联网巨头之中,未来真正成为竞争对手厮杀的,阿里和华为是首当其冲,在这两个领域双方分别暗 ...
- 京东云与AI 10 篇论文被AAAI 2020 收录,京东科技实力亮相世界舞台
美国时间2月7-12日,AAAI 2020大会在纽约正式拉开序幕,AAAI作为全球人工智能领域的顶级学术会议,每年评审并收录来自全球最顶尖的学术论文,这些学术研究引领着技术的趋势和未来.京东云与AI在 ...
- Hour of Code|京东云邀您一起,“码”上行动
"如果我并不希望成为一名程序员,那么为什么需要学习编程呢?" 相信很多人对于现在鼓励从小就学习编程的趋势都在心里问过这样的一个问题.在回答这个问题前,先和大家分享一个小故事吧. 1 ...
- 直击JDD | 共建智能新城 京东云让城市生活变得简单美好
技术快速革新,创新持续激发.在"智能+"时代,云计算.大数据.5G等新技术,已成为社会生产方式变革.创新人类生活空间的重要力量--11月19日,JDD-2019京东全球科技探索者大 ...
- 京东云入选2019年度TOP100全球软件案例 新一代服务治理框架加速行业落地
11月14日-17日, 2019TOP100全球软件案例研究峰会(TOP100summit)在北京国家会议中心举办.Top100summit是科技界一年一度的案例研究峰会,每年会秉承"从用户 ...
随机推荐
- linux网络配置命令
ifconfig 命令命令功能ifconfig命令被用于配置和显不Linux内核中网络接口的网络参数.命令语法ifconfig (参数)参数说明add〈地址〉:设置网络设备IPv6的P地址;del〈地 ...
- HTML5学习总结-04 音频&视频播放
一 音频播放 1 Audio(音频) HTML5提供了播放音频文件的标准 2 control(控制器) control属性攻添加播放,暂停和音量空间. 3 标签定义声音 <audio> 例 ...
- 使用LaTeX编辑数学公式
首先在博客园的页首html里添加以下代码: <script type="text/x-mathjax-config"> MathJax.Hub.Config({ tex ...
- HD2767Proving Equivalences(有向图强连通分量+缩点)
题目链接 题意:有n个节点的图,现在给出了m个边,问最小加多少边是的图是强连通的 分析:首先找到强连通分量,然后把每一个强连通分量缩成一个点,然后就得到了一个DAG.接下来,设有a个节点(每个节点对应 ...
- Docker入门教程(六)另外的15个Docker命令
Docker入门教程(六)另外的15个Docker命令 [编者的话]DockerOne组织翻译了Flux7的Docker入门教程,本文是系列入门教程的第六篇,继续介绍Docker命令.之前的第二篇文章 ...
- BZOJ4522: [Cqoi2016]密钥破解
pollard's rho模板题. 调参调到160ms无能为力了,应该是写法问题,不玩了. #include<bits/stdc++.h> using namespace std; typ ...
- HBase filter shell操作
创建表 create 'test1', 'lf', 'sf' lf: column family of LONG values (binary value) -- sf: column family ...
- Crontab的格式
第1列分钟1-59第2列小时1-23(0表示子夜)第3列日1-31第4列月1-12第5列星期0-6(0表示星期天)第6列要运行的命令 下面是crontab的格式:分 时 日 月 星期 要运行的命令 这 ...
- CSS 简介
CSS 简介 需要具备的基础知识 在继续学习之前,你需要对下面的知识有基本的了解: HTML XHTML CSS 概述 CSS 指层叠样式表 (Cascading Style Sheets) 样式定义 ...
- Windows系统bug
今天,发现Windows系统的一个bug 也不知道是不是bug,未深入 在网上下载图片,将图像另存为到本地的时候,图片文件名可以为空(后缀要保留) 但是,在本地,是无法直接将文件名命名为空的~