京东云、新浪微博等专家畅谈Docker未来格局:开放与竞争(上)

Docker实战系列:使用Docker部署mBlog微博系统 阅读详情

田琪(@摇摆巴赫)是京东资深架构师,10年互联网行业从业经验,之前曾分别就职于搜狐、新浪、腾讯等公司,目前负责京东云主机及云数据库的架构及研发工作,对云计算基础技术有深刻理解。

DockerCon 2015于6月22-23号在美国旧金山落下帷幕,这个由Docker公司发起的Docker领域峰会,包括Docker公司CEO在内的多位领域专家发表了精彩演讲。峰会展示着Docker领域的成就,也预示着Docker领域的未来方向。田琪作为国内容器化方向的先行者,受邀参加了此次峰会,峰会上究竟有哪些见闻,Docker未来又将走向何方,田琪在“QCon高可用架构群”中做了分享。本文由群编辑根据分享记录整理而成。

大会第一天


上午

大会第一天上午的内容最多,先是放了一些小动画介绍Docker的发展历程等,开场是Docker公司CEO Ben Golub介绍自己及docker,重点介绍了Docker近期发展的一些数字,以及过去一年的增长量:

  • 贡献者增长了183%
  • GitHub上关于Docker的项目增长了515%
  • Docker提供的工作机会增长了1720%
  • 使用Docker构建的应用程序增长了934%
  • 容器的下载量增加了18082%

随后,他介绍了Docker的下一步主要工作:在多容器运行及管理上将做更多工作。

之后CTO Solomon Hykes登场,主要技术内容都在这里。他首先介绍了他们的宏伟目标:“For the next 5 years, we’re going to build a software layer to make the internet programable”;然后介绍了后续具体的目标:“Reinvent the developer toolbox”。

其中提到,开发者构建分布式系统非常困难,原因在于工具不够充分,我们要为分布式系统专门建立相应的工具集,具体而言,包括:
1. runtime (How do I run my code repeatably on different
    解决在不同机器运行相同代码的问题:即Docker Runtime。
2.packaging & distribution (How do I ship my code across many different machines)
    解决代码分发部署问题,介绍docker distribution tools项目,地址:https://github.com/docker/distribution。
3. service compostion (How do I organize my application in scalable services)
    解决应用的分布与扩展性方面的问题:介绍Docker Compose项目。
4. machine management (How do I deploy many machine to run my code)
    解决机器管理等问题:介绍Docker Machine项目。
5. clustering (How do I stop worrying about individual machines)
    介绍Docker Swarm项目。
6. networking
    介绍Docker网络方面的解决方案,介绍了很多厂商的网络解决方案,这里提到的比较重要的观点是,Docker网络解决方案的目标是不动你原有的infrastructure,容器网络问题应该在应用层解决。
7. extensibility (How do I add my own tools to the tool box)
    介绍Docker Plugin项目,下列功能会以plugin形式存在:

  • network plugin
  • volume plugin
  • scheduler plugin
  • service discovery plugin
  • more to come…

8.Build better plumbing
    想要构建一个好的开发者平台需要很多小的构件支持,这里介绍Docker用到的这些构件,比如namespace、cgroup、device mapper等,并且介绍Docker自己创造的构件,包括:storage、oscontainers、networking等。重点介绍项目:Notary,项目地址:https://github.com/docker/notary 一个内容管理和安全验证的项目;OS Container;介绍了RunC项目,项目地址:https://runc.io
9. promote open standards
    介绍Docker的真正价值不是技术,而是标准,Docker作为事实标准应该提供一个开放公开的标准给大家。然后重点介绍了OCF,Docker开放的标准规范,并介绍了RunC作为这个标准的一个开源实现。这个标准的大体内容主要在这几个方面:

  • A formal specification
  • Independent governance
  • A neutral reference implementation
  • Support from a broad coalition
  • An open door to fresh ideas

后面开始演示环节,可惜演示都失败了,然后放提前录好的视频,结果也失败了。个人认为Docker目前的重点工作主要是网络和插件体系的建立。

上午主要的技术方面的内容也就是这些,后面我主要在会场外和厂商及Docker的技术团队聊了下。

厂商方面大多数围绕Docker做云服务,即底层IaaS资源平台独立,上层提供基于Docker的代码分发、部署、CI等工作,大概有不少于10家这样的厂商在会场宣传,竞争看似比国内更激烈。还有一小部分围绕Docker提供product或者solution的公司,这点国内也是这样。重点跟flocker这家公司聊了下,了解下他们做的Docker存储产品,用于解决Docker volume的问题。开始和我聊的小妹明显不是搞技术的,问到存储是否支持快照,是否需要停止容器及live migration等问题就答不太上来了,后来和技术聊还可以。总体他们做的事情是让stateful的容器可以live migration。

后来找到Docker registry的团队技术人员,跟他们介绍了我们最近开源的Docker镜像存储项目speedy(项目地址:https://github.com/jcloudpub/speedy),他们表示很感兴趣,欢迎我们提交driver的驱动给他们。另外问到Docker registry v1什么时候会被废弃,他们表示肯定会被废弃,但只是还没有决定时间。

下午

后续参加了一些小场的分享,印象比较深的有这几个:

Docker Plugins

这场的主题之前是保密的,参加了才知道是讲docker plugin的,主要介绍Docker插件体系是Docker目前重点工作之一,主要内容:

docker的插件体系结构是目前的重点工作,目前支持的插件主要有网络和存储,网络的插件实现支持weave,存储的插件目前支持flocker,后续会支持日志插件。插件会以进程方式存在,使用domain socket通信,协议是json或者http,这样插件可以使用任何语言编写。插件可以通过容器方式部署,演示了一个在线容器迁移的demo,利用flocker及weave插件。

Docker networking
主要介绍了Docker libnetwork项目,将Docker的网络抽象成了endpoint、network、sandbox等实体。

  • endpoint指服务之间的链接
  • network是一堆可通信的endpoint的集合
  • sandbox是一组可连通容器的集合

另外提到服务发现会是libnetwork的基本功能,目前通过DNS实现,将来可以提供其它实现,这里还强调了Docker网络解决方案应该在应用层,不动原有的基础设施层,这样对底层网络没有依赖和改造的成本。

大会第二天


上午

general session议题比较商业,不像第一天比较技术一些,主要内容:

  • 宣传Docker是如何降低企业项目发布迭代周期的,如何使用docker整合dev及ops团队。
  • 介绍docker hub在过去的业绩及增长,介绍docker hub的商业版docker trusted registry,商业版支持安全认证,访问权限控制及审计功能。
  • 介绍微软公司在容器方面进行的工作,宣传微软已经将容器技术整合进入自己的开发工具,平台,操作系统及云等平台上。这里国外开发者跟国内开发者类似,对微软也都是比较调侃的态度。从现场观众的反映比较容易看得出来。
  • 最后现场演示了一个Docker的UI项目,集成了Docker的machine、compose、swarm等项目,管理和部署整个Docker集群。
下午

Shopify公司的人介绍自己公司的服务架构。议题是:routing and discovery at shopify。这个议题非常有新浪微博范,里面很多内容都非常熟悉,基本也都是大型互联网系统架构的一些基本常识,印象比较深的点有这些:

shopify自己开发了一个Toxiproxy的项目来模拟tcp各种延迟及问题来试他们的系统,这个项目的地址是http://github.com/shopify/toxiproxy。他们整个服务体系后端的基础目标:

  • No single point of failure
  • Stale reads > no reads
  • Reads order of magnitude larger than it writes
  • Fast convergence

介绍Shopify使用DNS来完成服务发现。

最后他们还表达了内部对ZooKeeper的使用及观点,也是觉得zk的客户端实现过于复杂,运维和操作成本比较高。

另外一个印象较深的topic是关于Docker security的主题:least-privilege microservices。
首先亮出他们的核心观点:
“every process must be able to access only the information and resources that are necessary for its legitimate purpose”

首先介绍profile概念,分别介绍不同类型服务所依赖的资源,比如:

  • 前端服务,比如php 依赖后端的众多暴露的API
  • 后端服务,比如MySQL依赖网络
  • 计算服务,比如Hadoop依赖cpu资源,会产生大量的workload

然后引入进程监控概念,通过strace -c -t -p <进程ID>来统计进程所用到的所有syscall,然后提到通过一些手段来限制相应进程用到的syscall。

后续介绍Docker已经存在的一些security方面的限制手段。比如:cgroup、namespace、Linux Security Modules、Linux Capabilities、ulimit、User namespace等。

另外提出在默认发行版中去除一些不需要的包,用户以及命令工具等来提高默认安全性,随后提出通过一个security profile的配置来统一规范容器的安全性,并配套相应的工具。

总体上这个主题内容主要是一些想法并且希望大家一起来指定这个安全的规范以及开发相应的工具。

后面简单介绍下个人参会感受,只代表个人观点。

参加这个会议我个人主要两个目的:

  1. 了解Docker正在做什么
  2. 了解Docker周边厂商正在做什么

厂商这边和国内也差不多,都是一些云服务相关的,但是竞争更激烈一些,有大约10家做类似服务的公司。Docker本身目前最重要的两个工作,一个是libnetwork的开发,另一个是插件体系的支持。

最大的新闻是Docker推出OCP开放容器项目:
这里面有很多故事的,不是表面那样Docker的人和CoreOS的人握个手,搁置争议,共同开发。实际上Docker一直非常aggressive,视其它生态厂商为竞争对手,从它发布项目的布局不难看出,基本上所有的事情都是打算自己做的。

这个OCP项目的产生我个人认为只是Docker一个妥协无奈的选择而已,Docker本身的核心技术门槛并不高。所以CoreOS搞Rocket,如果Docker继续封闭,其它厂商有可能去拥抱CoreOS的runtime。所以Docker只能被逼开发标准,但是它们同时将libcontainer作为事实标准放入了OCP中,也可以看出动机,也就是Docker只是表面上和CoreOS和解。我觉得Docker项目现在的情况和当初的OpenStack有些相像,最终何去何从我们拭目以待。

号外


在田琪老师分享之后,闫国旗、王渊命和陈飞三位专家也参与了讨论,最后还有Q&A环节,相关内容稍后发布,敬请期待。

感谢刘世杰@猎聘网的记录与整理,臧秀涛@infoq的校对与发布,其他多位编辑组志愿者对本文亦有贡献。读者可以通过搜索“ArchNotes”或长按下面图片,关注“高可用架构”公众号,查看更多架构方面内容,获取通往架构师之路的宝贵经验。转载请注明来自“高可用架构(ArchNotes)”公众号。
QCon高可用群

下篇

传送门

玩转Docker | 使用Docker搭建Blog微博系统 阅读详情

相关推荐

Python 中调用 R 语言的教程(包含编码问题解决办法)

rpy2 是一个 Python 库,允许在 Python 中直接运行 R 代码并实现数据转换。安装需确保 Python 和 R 环境正确配置,Windows 用户需注意编码问题(GBK 错误可通过控制面板调整区域设置解决)。基本用法包括执行 R 代码、传递数据(支持 Python 与 R 数据类型自动转换)以及调用 R 包函数。通过 robjects.r() 执行 R 代码,使用 pandas2ri 转换器处理 DataFrame 数据交换,并支持像导入 Python 模块一样加载 R 包(如 import

zygalaxy的博客 997

京东云服务器的Docker安装教程

2.安装docker前的强制依赖。简易的docker安装步骤!1.前期准备工作(查看版本)7.查看docker版本。6.服务开机自启动命令。4.安装docker。5.启动docker。

qq_66348120的博客 2193

保姆级避坑指南:在Ubuntu 22.04上成功复现VMamba模型(附完整环境依赖清单)

本文提供了在Ubuntu 22.04上复现VMamba模型的详细指南,包括环境准备、CUDA与PyTorch的精确匹配、依赖安装的疑难杂症解决以及完整环境清单。特别针对Linux系统下的环境复现问题,提供了实用的避坑技巧和验证方法,帮助开发者高效完成VMamba模型的部署。

weixin_29083373的博客 265

京东云轻量云主机手动搭建Docker环境!

一、Docker介绍Docker 是一个开源的应用容器引擎,基于 Go 语言并遵从 Apache2.0 协议开源。Docker可以将应用程序和所有依赖项打包到一个独立的容器中,以便在任何Linux或Windows系统的机器上运行和部署。Docker的搭建非常简单,下面我们以轻量云主机(CenTOS 7.6系统)为例,介绍如...

cnzzs的博客 1042

多IMU车载GNSS/INS数据集及介绍

文章目录前言非常棒的GINS数据集采集轨迹采集时间MEMS IMU详细信息IMU测量值方程及相关误差建模参考噪声参数安装参数文件格式描述 前言 “本文作者感谢武汉大学多源智能导航实验室和牛小骥教授提供了本文所需的GNSS/INS数据集。” 本博文介绍数据集链接为多IMU车载GNSS、INS数据集,欢迎大家下载,由于是开源数据集,因此下载不需要积分 非常棒的GINS数据集 这是一套非常好的用于GNSS/INS组合导航应用的车载数据集,本数据集采集于湖北省武汉市一处工业园区,为开阔天空场景,GNSS R

十八与她的博客 6443

VS2022 LNK1168无法打开进行写入 解决办法

C语言编程---VS---错误和警告---链接器工具错误---LNK1168--无法打开进行写入

weixin_67166415的博客 7162

带你从零玩转云服务器

老司机带你从零玩转云服务器:Docker,Kubernetes,ELK,灰度实战......

通往精英的成长之路 3258

SAP VC实战:用CU01和CS02搞定BOM里的‘智能’对象相关性(附语法避坑指南)

在工业制造领域,产品配置的复杂性往往超出想象。想象一下,当客户需要定制一台工业设备时,可能有数百种配置选项相互影响——从基础材质到动力系统,从控制模块到安全装置。如何在SAP系统中优雅地管理这种复杂性?对象相关性(Object Dependencies)就是解决这一挑战的利器。

weixin_42524824的博客 468

京东云、新浪微博等专家畅谈Docker未来格局:开放与竞争(下)

在上次推送的文章中(传送门),田琪老师分享了他的DockerCon 2015峰会见闻。在“QCon高可用架构群”中,田老师分享之后,几位专家也参与了讨论。他们是: 闫国旗:京东资深架构师,京东架构技术委员会成员,负责京东云基础服务建设,也参加了DockerCon 2015峰会。 王渊命:技术极客,协作IM服务@Grouk联合创始人,也是Docker深度实践者。 陈飞:微博资深架构师

Array7的专栏 1989

LangChain4j-针对性操作Function-call+系统预设角色

如果我们想要对一些敏感信息进行针对化的操作,不仅仅是接口大模型去进行回复。比如我们现在数据库里面有一些菜品,那么用户提问,店里有多少套餐,那么云端大模型肯定是不知道的,我们希望捕获这些关键字然后进行自己的业务查询或者处理,这个时候就可以使用function-call。

DDDDDouble的博客 454

博途PLC模糊PID控制(量化因子和比例因子)

参数"量化因子和比例因子",都是为了对清晰值进行比例变换而设置的,其作用是使变量按一定比例进行放大或缩小,以便和我们的模糊论域相匹配完成一一映射。这种变换对整个系统的工作性能也是有影响的。(其实相当于额外引入了比例作用,所以说模糊PID的调节是个系统工程)。限于本人能力,文中难免出现错误和不足,欢迎大家批评和指正。博途PLC的模糊PID控制完整算法可以参看下面这篇文章博途PLC模糊PID控制详解(SCL完整源代码+参数)_RXXW_Dor的博客-优快云博客。......

RXXW_Dor的博客 5272

京东云、新浪微博等专家畅谈Docker未来格局:开放与竞争

在上次推送的文章(可以点击文末的“阅读原文”获取)中,田琪老师分享了他的DockerCon 2015峰会见闻。在“QCon高可用架构群”中,田老师分享之后,几位专家也参与...

weixin_45583158的博客 222

音频链路分析

音频链路分析摘要 本文分析了蓝牙音频设备(BES2700)的音频传输链路,主要包括通话和音乐播放两种场景: 通话链路: 下行:蓝牙接收数据→解码→通过Codec输出到扬声器 上行:麦克风采集→Codec处理→蓝牙编码发送 音乐播放链路: 通过A2DP协议接收高质量音频数据 经过解码、EQ调节等音频处理后输出 系统采用多线程消息机制处理音频任务,通过mailbox传递控制消息,由回调函数处理具体音频数据流。不同应用场景使用不同的蓝牙协议栈(HFP/HSP用于通话,A2DP用于媒体)和编码方式(mSBC/SBC

云淡风轻 88

时间过的好快呀,中国云计算,一转眼也十年啦

2002年,贝索斯提出六大天条,不管内外,只能拿服务接口来访问,不遵守规定者,开除。 2006年,AWS商用。 (1)2009-2011:创始 2009年,盛大、阿里、新浪,均开始搞云 创业三小强:七牛(2011)、Ucloud(2012)、青云(2012)。 (2)2012-2014:阿里云建制到位 2012,阿里云强上天猫聚石塔。 然后王坚开始隐退,2013年,三丰(姜鹏)、菲青(王文彬)搞了一段时间。 2013年,章文嵩担任阿里云技术负责人。 2014年,胡晓明担任阿里云总裁 (3

NicolasLearner的博客 431

efm32 入门.pdf

本PDF共计22页,介绍的是操作驱动API,下载与否自己斟酌。

VC中sqlite的使用

在VC中对sqlite的使用,实现数据库大批数据的快速插入,读取数据库中的数据在ListCtrl中显示

50篇经典珍藏 | Docker、Mesos、微服务、云原生技术干货

概念篇   全方位探(tian)索(keng)Mesos各种存储处理方式 老肖有话说@Mesos User Group第四次约会 技术实践 | Mesos 全方位“烹饪”指南 回顾 JAVA 发展轨迹,看 Docker 与 Mesos Docker 与 Mesos 的前生今世 | 数人云CTO肖德时@KVM分享实录 如何利用 Mesos 持久化存储方案部署 ArangoDB 集群 ...

weixin_34410662的博客 328

WINCC7.3破解文件

WINCC7.3硬件够破解文件,有需要的下载!WINCC7.3硬件够破解文件,有需要的下载!

京东云安装docker

买了个京东云的服务器,centos7.6的,尝试使用下新系统搭建服务。 按照套路: yum update yum install -y docker 报如下错误 感觉是yum 源没有配置好,获取一些包的时候找不到镜像No more mirrors to try 上技术论坛看看吧,发现都是18年的例子,都是7.3一下的,照着上面几个例子做了下,还是不行。有百度了一圈,找到了解决办法,...

xiang.y.s 的博客 5135

田琪(@摇摆巴赫) DockerCon 2015峰会见闻

田琪(@摇摆巴赫)是京东资深架构师,10年互联网行业从业经验,之前曾分别就职于搜狐、新浪、腾讯等公司,目前负责京东云主机及云数据库的架构及研发工作,对云计算基础技术有深刻...

weixin_45583158的博客 372

云原生的基石,一文读懂容器、Docker、Pod到底是什么

课程概要 云原生(Cloud Native),是2013年由Pivotal公司率先提出的概念。云原生以容器化、微服务、可持续交付性,帮助企业构建和运行可弹性扩展的应用。由于云原生应用构建简便快捷,部署轻松自如,运行按需伸缩等特点,近年来受到越来越多企业的欢迎。 容器是云原生概念的重要组成部分,作为一种计算单元,容器可以以更加轻量化、更小开销的方式来运行;而作为一种应用的包装形式,容器则赋予了应...

京东科技开发者 1万+

公司业务转型,IT基础架构也要转型,京东云Docker容器集群微服务实践

公司需求:随着公司的发展,公司从100人发展到1000人,业务发展速度非快,IT 基础架构和业务系统需要重新规划。本地数据中心只能是一个临时的解决方案,已经满足不了当前的需要。希望重新考虑一个可弹性扩展的数据中心,不能盲目去快速搭建新的IT基础架构。公司现状虽好,业绩虽好,人员虽多。但是我们的投入需要有创新,从IT信息化技术带动整个公司的发展方向。 解决方案:...

weixin_34074740的博客 311

新浪微博基于Docker的混合云架构与应用实践

大家好!先做一个自我介绍,我来自新浪微博,付稳,属于微博平台研发中心,本次分享的主题是新浪微博DCP基于Docker的混合云架构与应用实践。今天的主题是Swarm、Mesos、Kubernetes的三国演义,但是我可能更多讲的是大型互联网公司在调度框架选型或者它依赖的中间设施,如何把它应用到上千台服务器的一个规模,新浪微博遇到了哪些问题,并且如何来解决它们。 背景,挑战与实现  

DockerInfo的博客 4972

京东云Kubernetes集群+Traefik实战

Traefik支持丰富的annotations配置,可配置众多出色的特性,例如:自动熔断、负载均衡策略、黑名单、白名单。所以Traefik对于微服务来说简直就是一神器。 利用Traefik,并结合京东云Kubernetes集群及其他云服务(RDS,NAS,OSS,块存储等),可快速构建弹性扩展的微服务集群。 Traefik是一个为了让部署微服务更加便捷而诞生的现代HTTP反向代理、负...

京东科技开发者 1330

产品发布 | 京东云容器再添核心产品——容器镜像仓库

导语京东云正式发布了容器核心产品——容器镜像仓库,并全面开放公测。容器镜像仓库是全托管的容器镜像存储、分发平台,提供安全、可靠的镜像服务,与京东云原生容器、Kubernetes集群服务无...

京东科技开发者 715
上一篇: Memcached和Redis对比和适用场景
下一篇: 京东云、新浪微博等专家畅谈Docker未来格局:开放与竞争(下)
七郎
博客等级 码龄14年 31粉丝 44原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值