说三道四技术文摘-感悟人生的经典句子
说三道四 > 文档快照

揭秘微软的Container技术之一Drawbridge

HTML文档下载 WORD文档下载 PDF文档下载
有人说Windows Server只有拥有了自己的Container技术才能继续保持与Linux的抗衡。但微软对于其Container技术一直没有明确的发布,只能从一些公开的演讲中,搜集到一些信息。

在构建软件定义的数据中心方面,VM技术已逐渐显露出力不从心,Container技术作为后继者慢慢崭露头角。Container技术由来已久,但开源技术Docker的出现,为开发者以微服务的形式构建可移植的应用,提供了标准。随着Docker技术的成熟,容器已经能够满足应用的可移植性、自动性、编排和扩展性。

作为一种开源的Linux Container技术,Docker已经得到IBM、Google、RedHat、VMware和微软等多个公司的支持,这些公司纷纷宣布在自己的操作系统、虚拟机或云平台中支持Docker。微软更是在5月份宣布,在其Azure云服务的IaaS组件中可运行基于Linux的Docker容器。至于在PaaS服务中可用,应该只是时间问题了。Azure云服务部门CTO Mark Russinovich 在9月份公开表示:“我们也在考虑这个问题,许多Azure云的PaaS用户已经有了这个需求。”

Russinovich确认了正在将其代号为“Drawbridge”的Container技术商业化的计划,Drwbridge基于库操作系统(library OS),library OS由微软研究院Galen Hunt在2008年发起。

“基于VM的虚拟化技术其效率不高,而传统的OS虚拟化技术,如Linux Container技术,安全性又不足,所以Drawbridge选择了一条两者兼顾的道路,把Kernel的内存状态放到了Container中(这里指Windows的Container),用户间的隔离更彻底,而各个Container之间依然共享一部分资源,所以相较VM虚拟化效率要高。”曾经负责过Drawbridge项目的前美国微软首席开发经理左玥告诉笔者。

Drawbridge的基石:库操作系统(library OS)

在Galen 2011年发布的一篇论文中,详细说明了win7库操作系统中运行Excel、PowerPoint和Internet的工作原型。library OS的想法是,一个应用所依赖的操作系统的特性,会体现在应用的地址空间上。一个连接宿主机操作系统内核和库操作系统的小抽象集合,提高了系统安全性,也使得系统各组件能够更快地改进。

在论文中,详细描述了一个win7 library OS的工作原型,其中运行了诸如Microsoft Excel、PowerPoint和Internet Explorer等常用应用。证明了通过对网络协议的重用,可以实现在各个独立、安全隔离的库操作系统实例的桌面共享。每个实例的开销相比全虚拟化要小得多,一个典型的应用只会增加16M的工作集和64M的磁盘空间。在库操作系统下面提供了一个新的ABI(应用二进制接口),保证了应用的移动性。我们也证明了只花费很小的开销,就可以达到当前很多硬件虚拟化的功能。

库操作系统会精简操作系统到固件层,将重点放在API和应用交付层面,而不是低层次的服务。定义了3种OS服务,包括:硬件服务、用户服务和应用服务。硬件服务包括了操作系统内核和硬件驱动;用户服务包括了GUI shell和桌面、剪切板、索引器等;应用服务包含了API实现,包括框架、渲染引擎、通用的UI控制等。

在Drawbridge中运行的应用可以访问Windows的核心特性和增强版的API,包括.NET CLR和DirectX。虽然被严格地隔离开来,但Drawbridge中的应用依然可以共享资源,包括屏幕,键盘,鼠标和用户剪切板。



在August TechMentor大会的Keynote上,Redmond的专栏作家Don Jones曾发表演讲讨论过库操作系统的话题。Jones说:“我们通常都将开发人员的开发理解为针对某一系统的开发,比如iOS开发、Android开发、Windows开发等,但这是不准确的,他们应该是在针对一种运行环境或一组API做开发。而这组API再关联相应的操作系统。”

Drawbridge VS Docker

在纽约举行的Interop大会上,Russinovich宣告了Drawbridge依然在使用。虽然他没说Windows的计划,也没有明确表示Drawbridge会被加到Windows Server和Hyper-V中。但可以肯定的是Drawbridge在Windows Server和Azure的工作已经在进展中了。Russinovich说在微软新的基于Azure的机器学习技术中,已经使用了Drawbridge容器技术。

“显然对虚拟化技术的加速已经不能满足我们的需求,所以我们借助了微软研究院的Container技术Drawbridge,这是一项我们内部一直在用的技术,我们正在试图将其公开化。”

虽然微软Azure也高调宣称了其对Docker技术的支持,但从Russinovich的态度看来,其将Drawbridge作为容器技术的优先选择,不断强调Drawbridge在部署微服务方面更安全。

Russinovich说:“在一个多租户的环境中,必然会有很多未知来源的第三方代码运行在同一个平台上,你需要为他们设立安全屏障。大多数云平台使用虚拟化技术来实现,而通过一个更小粒度的安全容器,能够更高效地实现,这就是Drawbridge的设计初衷。”

左玥告诉笔者,其实微软自身的Container技术与Docker并不矛盾,Docker是将Linux的Container技术标准化的工具,同样Windows的Container技术也可以使用Docker。

Windows Server的Container技术?

Sam Ramji,是Apigee(一家提供基于云的API服务提供商)的VP,5年前离开微软时,是新兴开源与Linux策略部门的头。在采访中,他认为Windows Server只有拥有了自己的Container技术才能继续保持与Linux的抗衡。

虽然不知道Server团队的头是怎么想的,但可以肯定的是他们也已经开始了Container技术方面的投入,预计在下一个Server版本中就会添加对Container的支持。左玥告诉笔者,Drawbridge只是微软的一种Container技术,至于未来Windows Server的Container support是否基于Drawbridge还有待观察。

老大开源,老二怎么玩?

以前的IT界,多是老大闭源,老二开源,现在老大开源了,闭源怎么玩呢?先不说去抢Linux的生意,首先Windows目前的用户是否对Container技术有这么强的需求呢?

Ubuntu也刚刚推出了自己的LXD,并且还强调并不是要替代Docker,而是作为Docker的补充。有幸在微信群中看到了大牛们讨论:有人说LXD就是要替代Docker,因为Docker的初衷本来就是LXC+RESTful API;还有人说Docker让容器更像进程,而LXD是让容器更像虚机。老外不是一直反对“重复造车轮”的吗?你怎么看?

(感谢前美国微软首席开发经理左玥对本文的审校和帮助!)

相关链接:Windows 'Drawbridge' Container Tech Sets Stage for Docker Battle

Why IT Pros Should Prepare for Microsoft's Stealth Library OS

如需要了解更多Docker相关的资讯或是技术文档可访问Docker技术社区;如有更多的疑问请在Dcoker技术论坛提出,我们会邀请专家回答。购票等问题可咨询QQ群:303806405。




Container技术日报公众账号已开启,欢迎关注!

【工具推荐】Vert.x——非阻塞、高并发的编程开发框架 Google搜索在确定结果排名时会将网站的移动设备适用性作为考量因素 W3C首次发布SVG标记、SVG轮廓标准工作草案 第七届中国云计算大会 | 首批主会演讲嘉宾和议题公布(表) 安沃传媒创始人王旭东:开发者从移动广告获利的黄金时代已经来临 【舌尖上的CTO】砂锅馄饨的交付件 微软新Visual Studio Code开发工具支持Mac和Linux 科技新创公司想做大?从CNN记者跳槽Snapchat谈起 Java二十年特别奉献:晒博文、赢大奖! 《近匠》华为创新总监蔡绪鹏:智能手表的三大感知与未解难题 从Samurai-Native框架开发谈React Native Qualcomm公司李申:Vuforia打破AR设备界线 物与物的互通:解析Thread、AllJoyn、OIC、Bonjour的特点 《天龙八部3D》中Unity使用介绍 微软推出ManifoldJS,Web App自动转成各平台本地App 专访庄晓丹:Java程序员眼中的Clojure 全面解析ECMAScript 6模块系统 七牛技术总监陈超:记Spark Summit China 2015 Project Tungsten:让Spark将硬件性能压榨到极限 Android手表在中国这样落地 ART运行时Foreground GC和Background GC切换过程分析 开创未来的关键:是什么造就了硅谷?(上) 微软前员工:开发Apple Watch应用的27个技巧 Apple Watch应用开发:从再造墨迹天气谈起 Java二十年特别策划:有奖征文,评选结果出炉! Zen=禅道:图解AMD技术战略转型 从友盟微社区看Android第三方SDK架构实践 无创客 不青春!2015全国大学生移动应用创新大赛在京启动 响应式Web开发,必懂媒体查询(系统理论+实战教程) 实例剖析:如何用Foundation For Apps创建完美Web应用 【舌尖上的CTO】兄弟肉夹馍的开发运维一体化 如何判断我的窗体已经打开? 我怎样汇总两个字段都一样的数目呢?急!◎ 打印的问题! NT启动问题 有没有宁波的兄弟啊,有哪儿要PB或delphi的好点的公司。请介绍下。 关于远程登陆的问题??回答者一定重分相谢。 同志们,朋友们,有空来这里玩玩! 为什么用gethostbyaddr(ip,size,PF_INET)不能把机器名得到????? 如何将Delphi程序改为汇编? 非常着急,各位高手一起来帮我研究一下这个工作流系统怎么用? 简单问题,肯定给分! 据说高程的通过标准是上下午加起来算了? 请斑竹帮忙 请问各位前辈: 在执行中出现"incorrect syntax near 'JCSZ'"的错误提示,如何解决? 下标越界是什么意思啊? 一个基础性的问题,同样一份C/C++源代码可以在UNIX 和WINDOWS运行需要具有的条件是啥??? 在一台计算机上安装两个键盘同时接受输入的问题 对XML文档中的数据能不能进行SELECE操作???? 如何用JAVA实现263邮件那样的邮件粘贴功能 请教各位大哥,小弟最近遇到麻烦,为什么我的程序安装时,出现expsrv.dll无法注册的提示?expsrv.dll有什么作用?怎样闭掉? 如何在两个结构相同的库之间倒数?? 请问如何简单确定右键点击的是哪个控件? 有哪位高手可以给出windows98登录时网络服务的身份验证模块的程序或相关资料的呢?非常感谢啦 在CTreeCtrl中同时使用系统图标与自定义图标的问题?? SHGetFileInfo()为什么在Win2000下工作不正常? 请问高手:DataGrid的问题 jsp和servlet是怎样交互的? 请问 有什么方法能实现 在几个数中随机取出几个数 谢谢 请问:在执行文件DPR中有一段代码出现错误,请各问指点! 两个问题:1 关于.NET中 一个新控件propertyGrid1的使用问题;2 我想生成一个由lable和TextBox合成的控件(label在左,TextBox靠其右),怎么办? 分栏打印 依旧是undefined function mysqsl_connect()问题 急:如何在生成的exe中添加新的属性页,显示更多文件信息? V-DVD ROM!? MSDN上的例子需要uafxcwd.lib,怎么找不到呢? 请问窗口的other事件是如何触发执行的 JSP如何学习 vc在什么时候会引起小喇叭的叫声 请教高手,如果在VB里实现内存共享? 用什么方法可以转换图片类型?譬如将BMP格式的转换为JPEG格式的,请各位大哥给点提示!!! 关于vb script数组和函数功能的二个问题!高难度! 关天打印问题? 只能最小化到屏幕的左下角 *急:无为,acptvb,请帮忙看看http://www.csdn.net/Expert/topic/426/426766.shtm (有关XMLHTTP) 在php中要取出一段字符串的前n个字节,而又要判断最后一个是中文还是英文,如果是中文则将最后半个字符省略应该怎么做? 有在BCB5中用过sapi5朗读中文的朋友,高分送上! 最初级的问题,关于编译程序的。 重庆市信息产业办公室荣获全国最差信息产业办公室称号 大家用PB创建Jaguar应用程序时,一般创建一个大包还是多个包阿? 奇怪的问题,来者有分!没回答问题的先到先得! 如何把临时表建在内存中 牛顿第二定律的探究实验:为什么小车的质量要远大于勾码的质量?能给我个受力分析图吗?(用作图工具自己画,并附带些解释) 一根轻绳上端悬挂在天花板上下端挂一灯泡,则()A灯泡受到重力对绳拉力是一对平衡力B灯泡受重力和绳对灯泡拉力作用力和反作用力C灯泡对绳拉力绳对灯泡拉力是作用力反作用力D绳对天花 万级的计数单位有哪些? 验证牛顿第二定律的实验中,为什么托盘和重物的质量要远比小车质量小很多? 电灯的重力为20N,绳AO与天花板间的夹角为45°,绳BO水平,求绳AO,BO所受拉力的大小 自行车上哪些部位要增大摩擦?哪些部位要减小摩擦?这些部位各用什么方法来增大或减小摩擦力的?具体方法 验证牛顿第二定律的实验中使砝码盘和盘内砝码的总质量远小于小车和车上砝码的总质量.为什么?还有…,一般来说,砝码盘和盘内砝码的总质量不超过小车和车上砝码总质量的10%。这个值 一个数最高位是百万位,他是()位数;一个九位数,它的最高位是()位 计数单位“兆”以后是什么? 验证牛顿第二定律试验中,为何有时要让砝码质量m远远小于小车质量M?,有时又不需要? 一个五位数,它的最高位是什么位?一个九位数,一个十二位数呢? 举四个例子说明怎样减小或增大摩擦力 (二力平衡)手掌托一小石块,将它竖直向上抛出,设想如果手托石块加速向上运动过程钟,石块所受到的所有的力突然消失,那么小石块(立即做匀速直线运动并持续下去)我的问题:这里说的 就是两物体重叠在一起放在水平桌面上,对下面的物体施加水平向又的5N力,物体保持静止,为什么两物体间没有静摩擦?为什么下面对上面没有摩擦… 物体对支持物的压力(或对悬绳的拉力)大于物体所受重力的现象叫做超重.不是支持力大于重力吗怎么这里说的是压力? 二力平衡的物体受摩擦力吗?我怎么都觉得只有静止在水平面上的物体才不受摩擦力,但今天上课老师说“二力平衡的物体不受摩擦力”,不能理解啊.谁的见解对?应该怎么理解? A同学用400N竖直向上的力去提质量为50KG,静止放在水平地面上的物体,物体所受的000合力为______.接着A同学改用100N水平向右的力去拉这物体,物体以0.5M/S的速度在水平地面上做匀速直线运动,此时 一道有关摩擦力的高中物理题如图所示,一物体分别沿AB、BO轨道由静止从斜面顶端滑到底端,物体与轨道间的动摩擦因数相同,物体克服摩擦分别为W1和W2则( ).A.W1>W2 B.W1=W2 C.W1 九年级物理关于《牛顿第一定律》、《二力平衡》的题1、牛顿第一定律(1)为什么行驶的汽车遇到意外情况时不能立即停车?注:我知道是因为汽车具有惯性,但是老师说这样回答不够严谨完 找出百宝箱的的密码答案:1,密码是七位数 2,这个数在200000与3000000之间,并且十位上是0,千位上是5个位上是最大的一个数,万位上的数和百位上的数相同,3,密码的十万位.万位.百位上的数字组成 如果拉物体,物体没有动,摩擦力是物体的拉力吗?物体动了,无论拉力多少,摩擦力是最大静摩擦吗?为什么最大静摩擦略大于滑动摩擦?为什么静摩擦力大小与压力无关,但与最大静摩擦力成正比? 二力平衡 物体在平衡力的作用下是处于静止状态还是匀速直线运动状态,取决于A、原来的位置B、原来是静止还是运动C、原来的受力情况D、与前面三项都有关能再具体一些吗 一个九位数,最高位上的数字是最大的一位数,十万位和百万位上的数字都是1,万位上的数字是5,上的数字都是0,这个数写作( ),省略“万”后面的尾数记作约( )万. 一道关于摩擦力的高中物理题题目大概就是人两手之间放置若干本书,双手压力不变,求最多能放几本,我一直弄不清书本与书本间的摩擦力的作用力与反作用力,应该是中间的书先掉还是两边的 科研人员乘气球进行科学考察,气球、座舱、压舱物和科研人员的总质量为990 kg.气球在空中停留一段时间后,发现气球漏气而下降,及时堵住.堵住时气球下降速度为1 m/s,且做匀加速运动,4 s内下 一个9位数,最高位和十万位上的数是6,其余各位都是5,这个数写作什么,省略到万后面的尾数约是 从个位起,第五位是万位,第八位是千位,它们的计数单位分别是? 验证牛顿第二定律实验中,怎么样钩码的重力才近似等于拉力?用公式推倒下, 最高位是千万位的数是一个八位数,其中最大的九位数是几?最小的九位数是几? 在数位顺序里,小数点左边第一位是【 】位,计数单位是【 】,第五位是【 】位,计数单位是【 】. 九年级物理力学问题在不计摩擦和机械自身重力时,既可能省力又可能费力的机械是______.A.杠杆 B.动滑轮 C.定滑轮 D.滑轮组 一个数的最高位是亿位,这个数肯定是九位数.是对是错? 在数位顺序表里,小数点左边第一位是()位,计数单位是(),第五位是()位,计数单位是().小数部分的最高位是()位,计数单位是() 验证牛顿第二定律 沙桶和沙的质量很小时才认为他们的重力等于拉力?为什么? 一个数的最高位是亿位,这个数一定是一个九位数.对还是错 在数位顺序表中,从个位起,第五位是()位,计数单位是();第八位是()位,计数单位是(). 1.一个长方体木块立在桌面上,用手指沿水平方向推他的下部,木块滑动;用手指推开他的上部,木块翻倒.这说明什么?2.短跑运动员起跑时用力向后蹬地,人就冲了出去,这里包含的物理知识是: 用定滑轮将重力为500牛的物体以1米/秒的速度匀速提升,不记摩擦.求(1)绳子的拉力;(2)10秒拉力做的功. 在光滑或粗糙斜面上拉力与物体重力的关系?注意摩擦力 求老师前辈们帮我解释为什么B是正确的.我知道其余三个都是错的,但不知道为什么B是对的. 当一物体在桌面上静止时,它受到的静摩擦力的大小,方向,作用点个是什么?!物理好的朋友帮忙答一下.有用的再多给!例如:一本新华字典在水平粗糙的桌面静止.那么它受到的静摩擦力的方向, 斜面机械拉力为什么克服物体的重力做功斜面拉力是等于物体重力加摩擦力吗?如果是,那么按网友回答“物体被视为一边向上运动,一边横着运动”向上的力与重力是平衡力,那么横着的力不应 如图所示,有一物体A置于托盘天平的托盘上,这时托盘秤的示数为3kg,弹簧测力计的示数为14.7N,此时正好达到一个稳定状态,请问:物体A的质量多大?(请写明步骤)(图上有一个托盘秤,秤上放 一个十位数,它最高位是(),从右边数第七位是(),计算单位是() 关于重力、弹力、摩擦力下面说法正确的是A.重力与物体的质量和所在的地理位置有关 B.摩擦力可能与物体相对于地面的运动方向相同 C.有弹力就一定有摩擦力 D.在粗糙程度一定的情况下,接 万位、十万位、百万位、千万位是万级上的四个计数单位.对还是错?请说明理由 一个九位数,他的最高位是( ),计算单位是( ) 下列关于重力、弹力和摩擦力的说法正确的是?A静摩擦力的大小在零和最大静摩擦力之间 B劲度系数越大的弹簧,产生的弹力越大 C动摩擦因数与物体之间的压力成反比,与滑动摩擦力成正比 D物 万级的计数单位有万位,十万位,百万位,千万位 高中物理向心力什么时候是重力减弹力什么时候弹力减重力RT,我高一 关于弹力和摩擦力,下列说法正确的是:A、有弹力一定有摩擦力B、有摩擦力一定有弹力C、摩擦力的大小和弹力大小成正比D、弹力的方向一定和摩擦力方向垂直具体分析一下,最好有反例 “十万”相邻的两个计数单位是“百万位”和“万位”这句话对吗 “弹力大小与物件受到的重力成正比”这句话对不?为什么? 请举出增大有益摩擦力的两个方法和+减少有害摩擦力的方法 万位,十万位,百万位,千万位都是计数单位吗? 挂在天花板上的电灯所受的重力跟和绳对灯的拉力是不是相互作用力?为什么? 增大摩擦力和减小摩擦力的办法? 与十万位相邻的两个计数单位分别是百万位和万位对吗 竖直悬挂在天花板上的电灯,除了受到重力外还受到一个绳子的弹力,问这个弹力是否就是绳子的拉力? 请举出增大有益摩擦力的两个实例和方法和 减少有害摩擦力的两个实例和方法
备案号:鲁ICP备13029499号-2 说三道四 www.s3d4.cn