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

揭秘微软的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技术日报公众账号已开启,欢迎关注!

查看Android应用的详细信息2.3有新方法 Android开发Java图书推荐 Android开发图书推荐 UiModeManager设置夜间模式和行车模式 Android 2.2新增的DeviceAdminInfo类 Android获取摄像头详细信息 Android流量统计TrafficStats类的使用 电子邮件解析android.net.MailTo类 扫描和获取OBB文件信息 Android加速感应器开发平衡球代码解析 StrictMode限制模式API加速你的应用 手势识别兼容Android 1.x和2.x的代码 NativeActivity类在NDK中管理Activity OBB文件和StorageManager类使用介绍 DownloadManager下载管理类2.3新增API介绍 Android平台上的11个感应器你都知道吗 Android 2.3中的java.io.File类新增功能 更轻松的获取APK文件安装时间 Android控件对应表,丰富你的UI设计 Android开发进阶之NIO非阻塞包(八) Android开发进阶之NIO非阻塞包(七) Android开发进阶之NIO非阻塞包(六) Android开发进阶之NIO非阻塞包(五) Android开发进阶之NIO非阻塞包(四) Android开发进阶之NIO非阻塞包(三) Android开发进阶之NIO非阻塞包(二) Android开发进阶之NIO非阻塞包(一) Android开发进阶教程系列(一)目录篇 Android开发调试工具TraceView多图演示 Android JNI实例代码(二) Android JNI实例代码(一) 用delphi编程,用什么触摸屏比较好啊? 怎样在程序运行时增加子菜单(要增加的数目是未知的) 关于Sprite动画 出售代码 ACCESS的FORMS DLL调用函数问题 VB在ACCESS中应用的一个小问题! ACCESS中的FORMS问题? 再普通不过的一个问题 delphi6中还有BDE和ADO吗?它们被淘汰了吗?现在还有必要用它们来学数据库的开发吗? 50分答谢!!!---这个css定义为什么会出现这样的效果??? 各位:怎么判断表里某个字段是否存在? 纯技术问题:精通“书签“与“层“的大虾请进!!!! 一个奇怪的现象,请教高手这是怎么回事? 哪里有破解清华五行卫士密码的软件? vc++7.0好用吗? 吃完晚饭了... 可不可以让 CppWebBrowser1的背景不是白色? 热热热!!!热疯了!!! 我的喇叭哪儿去了? 我的PB程序出了问题了!!! sql server中哪个函数是用于字符串与整型之间转换的? 我想限定文本输入框只能输入10个汉字或20个英文字符,但文件输入框却只能输入10个英文字符,如何解决? 当我将这样的字符串“dsdsdsdfsdffsdsdfsdfsfdsdfsdfsfsfdsdffs.....”放入我的表格中时,无论怎样设置也不折行,影响了部局,如何解决? MFC中视图(view)是怎样随着主窗口的大小改变而改变的。 急!请教!!猫猫连接,用数据管道同时访问两库,访问不到对方的网络库(sybase) 关于电影下载 我已经把一个exe文件加入到我自己的程序中了,请问在我的程序中应该样调用该exe文件呢? 哪位高手知道RTF格式的含义?或者更好,知道Rxlib中的RXRICHEDIT控件中识别RTF格式的方法? Delphi编写的DLL在VC下不能使用 请问哪儿有电工的<>的电子版下载?我只有这么多了 msdn2001年4月版的讨论 请问哪儿有电工的<>的电子版下载? 请教高手!!!! 请进 各位:周末愉快!为何我的多表查询用updatebatch提交时总是报错? 我不明白!!!! 请问,BAS 与 VBJ 有什么区别吗?为何他们安装在同一个目录呢? 如何得到系统进程的列表? vi下如何撤销操作? 我们知道MFC中的对象序列化做得很好,不知在DELPHI中怎样来实现对象的序列化? 我已经学过C++,想学VC++请问哪本书入门比较好啊? 欢迎使用技巧酷skillstore beta 1.00 有个可以显示IP的QQ,很不可思议,讨论一下好吗? 怎样在程序运行的时候加上参数,比如说双击文本文件打开记事本 谁有运行后烧硬件的程序 用VC开发如何实现网页的同步浏览呢? 动态产生的datawindow怎样调整它的显示? 怎么从ORACLE白痴到高手 怎样通过程序员考试??????? 庆祝北京成功 COM基础问题 初二科学大气压的题高压锅盖上有一个空心柱为排气孔,空心柱上戴着一个帽子为限压阀,当高压锅内气体压强超过安全值时,锅内气体就会冲出限压阀,气体跑出一部分,使锅内气体压强减小.现 49,51,12,37,1,0.5,85中哪些是质数,哪些是合数,哪些是偶数,哪些是奇数 含FeS265%的硫铁矿在煅烧时有1.8%的硫损失而混入炉渣,二氧化硫转化为三氧化硫的利用率为99%.由这种硫铁矿制2t98%的硫酸,需硫铁矿多少吨?老师时这么算的 根据硫元素守恒 fes2~2so2~2so3~2h2so4120 98 初二的科学关于大气压如图所示,盛水容器中浮着一装有水的小杯A,倒扣一小杯B,给容器加热并使容器中水沸腾,再继续加热时,A、B杯中的水能否沸腾,为什么? 下列数中,是质数的是17 27 57 87 在250mL HgCl2溶液里放入75gCu片,反应一段时间后,把Cu片从溶液中取出洗净干燥,称其质量为76.37g.取上述溶液25mL,向其中加入0.2mol/L AgNO3溶液20mL两者恰好完全反应.有一段我看不懂):由反应前后氯 体积为1×10的-3次方立方米的酒精,质量为多少kg.将它倒入一个质量为0.2kg、底面积为1×10的-2次方平方米的平底容器中,放在水平桌面上,容器对桌面的压强为多少Pa?〔酒精的密度为0.8×10的3次 一米的九分之五米是几米? 1.把含有某一种氰化物杂质的Mgcl2粉末47.5溶于水,与足量硝酸银溶液反应,生成沉淀氯化银150mg,则该氯化镁中的杂质可能是 氯化铝 氯化钠 氯化钾 氯化钙 2 .在碘酸碘中,碘元素呈+3和+5两种价态, 关于重力的疑问 (7 8:51:20)物体的重力可以不在物体上吗? 7米的九分之一与1米的九分之七长度相等吗 有Na2CO3和K2CO3的混合物12.52g,与足量盐酸反应,产生2.24L(S.T.P)CO2,求混合物中Na2CO3的百分含量.(要有过程) 有一个瓶子,装满水后总质量为210g,在瓶中放进一块质量为45g的金属片,然后再装满水,总质量为251g,该金属的密度是多少?为什么这样做? 7分之6比多少米短5分之1米,比9分之6米长的是 求简洁方法4%的NAOH溶液500g与足量盐酸反应,可生成多少摩尔NaCl?要求不求NaCl质量直接求物质的量,麻烦说明为什么,我上课没听懂谢谢. 新概念英语的第43、67、91、99课的题目是什么?第一本,题目中文和英文都要.要百分百正确哦 2+9分之4=( ) 3-6分之1-6分之5=( ) 4-12分之5=( ) 由甲醇和乙醇组成的混合液体1.24g,加入足量的钠充分反应后,共产生标准状况下的气体336mL,则原混合物中甲醇和乙醇的物质的量之比为-----------------------------( )A、2:1 B、1:2 C、1:4 D、3:1 新概念英语第一册99课文 9.84÷5分之3 5又12分之5÷1.3 在MgCl2、KCl、K2SO4三种盐的混合溶液中,若K+、Cl-各为1.5mol,Mg2+为0.5mol,则SO42-的物质的量为………………………………………………………………( )A.0.1mol \x05B.0.5mol \x05C.0.15mol \x05D.0.25mol 求新概念英语91-92的课文第二册 高一化学(必修2)的一道题目,麻烦写出具体的解题过程,谢谢!若要使0.5mol甲烷完全和氯气发生取代反应,并生成相同物质的量的4种取代产物,则需要氯气的物质的量为( )A.2.5molB.2molC.1.25mol 高一化学题(说明理由)一定量的CH4燃烧后得到CO,CO2,H2O(g),其质量共为49.6克,将它缓慢通过浓硫酸时浓硫酸增重25.2克,试求原混合气体中CO2的质量? 新概念英语第二册 91课作文急用 麻烦写出具体过程就是质量监测最后一题:某有机物在常温下为液体,常用作油漆的溶剂.为测定该有机化合物的化学式,将该有机物7.8g在氧气中完全燃烧,得到的二氧化碳在标准状况下体积为13 元素A的原子核内质子数和中子数相等,最高价氧化物的化学式为A2O5,它形成的气态氢化物的密度为0.759g/L(标准情况).(1)写出元素符号及在周期表中的位置. 刚倒完热水的热水瓶,立即盖上盖子,冷却后却不易拔出塞子,请你说明其中的道理.答案上写的是水冷却后使瓶内气体减少,为什么气体会减少啊? 新概念英语第二册91课摘要写作答案要2篇。左右2篇都要 高一化学题(必修2) 请写出解题过程,谢谢!镭是元素周期表中第七周期的IIA族元素,下列说法错误的是( )A.氢氧化物呈两性B.碳酸盐难溶于水 问一道初二关于大气压的物理题(微难)“把空罐头瓶的瓶口朝下,并将其按入水中,可见始终不能使瓶内充满水.”这句话答案上说是错的,我问老师时她推理了一下然后说应该是瓶内一滴水都 写出60的全部因数,其中质数有?合数有? 1.某溶液可能含有Cl-、SO42-,为了检验它们,正确的操作是( )A.先加BaCl2溶液(若有沉淀滤去),在再加AgNO3溶液B.先加AgNO3溶液(若有沉淀滤去),在再加Ba(NO3)2溶液C.先加Ba(NO3)2溶液(若有沉淀滤 一物理大气压问题,初二的~在吸管中间剪一水平切口(吸管未剪断)从切口处折弯吸管,使两段大致成直角,把吸管一端放进水里,从另一端用力吹气,观察到的现象是( )1.切口处有水向上喷出 2.切 75的全部因数有( ),其中( )是质数,( )是合数. 下列关于气体摩尔体积的几种说法正确的是 ( )A.22.4 L任何气体的物质的量均为1 molB.非标准状况下,1 mol任何气体不可能占有22.4 L体积C.0.1 mol H2、0.2 mol O2、0.3 mol N2和0.4 mol CO2组成的混合 初二一道关于大气压的题目SARS病毒可通过空气传播.当我们吸气时,胸部扩张,胸内肺泡跟着扩张,于是肺的容积增大,肺内空气压强_____,_____使含SARS病毒的空气经鼻腔、气管进入肺中;呼气时,胸 在75的因数中,质数有…合数有… 化学工作者把烷烃、烯烃、环烷烃、炔烃……的通式转化成键数的通式,给研究有机物分子中键能大小的规律带来了很大方便.设键数为I,则烷烃中碳原子数跟键数的关系通式为:CnI3n+1,烯烃 一道物理题关于大气压2在研究水的沸点与气压关系的实验中:(1)用酒精灯对烧杯内的水加热,当大气压为1标准大气压时,加热到_______ ,水就开始沸腾.(2)熄灭酒精灯,水_________沸腾.(3)再将装有注 在75因数中,质数有( ),合数有( )  ABCDE是同周期的5种元素,AB的 最高价氧化物对应的 水化物呈碱性,且碱性B>A,;CD的气态氢化物的水溶液呈酸性,且酸性C>D;5种元素所形成的简单离子中,E的离子半径最小,则他们的 原子序数由 初二物理题(关于大气压)1.牛奶罐上只开一个小孔,就很难倒出牛奶,这是为什么?2.医生用注射器打针前,要把药液吸入注射器,简单描述医生如何把药液吸进注射器,并作出解释.3.若房顶面积为 75的全部因数有几个,分别是多少?其中什么是质数,什么是合数? 高一化学必修一42页到43页的复习题答案 1,为什么人能用吸管吸出饮料?2若某人同时将2根吸管含在嘴里,一端放在饮料里,一端放在杯外,他可以喝到饮料吗?为什么?不要非常详细,易懂,说明重点就行 因数,倍数,质数,合数的含义是什么? 在密闭容器中,将碳酸氢钠和过氧化钠的混合粉末加热到250℃,使其充分反应,最后测得残余固体由两种化合物组成,分别为a mol和b mol,且a>b.回答下列问题:(1)反应后容器中固体的成分及其物质 有关大气压的!急``````````````````````实验:在广口瓶中放入浸满酒精的棉花并把它点燃,用一个煮熟的鸡蛋剥去皮并用它堵住瓶口,问:看到什么现象?如何解释这种现象? 42的因数有哪些,其中质数有哪些,合数有哪些,奇数有哪些? 在常温常压下 取下列四种有机物各1mol 分别在足量的氧气中燃烧 消耗氧气最多的是A.C2H5OH B.CH4 C.C2H4O D.C3H8O2 我看有同学把这些有机物分成水和另一种有机物就能很快判断 原理 1.水沸腾时的温度时96摄氏度,表明水面的大气压大于一个标准大气压.2.没有大气压的地方,车子的车胎会更容易爆裂.3.氢气球在没有大气压的情况下将能够上升得更高. 42的因数有哪些?在这些数中( )是质数,( )是合数. 分析下每个选项 思路.·已知Na2SO4和NaCl的混合溶液中,Cl-的物质的量浓度是Na+的物质的量浓度的0.6倍,则下列叙述中正确的是(    ) A.SO42-离子和CL-离子的物质的量之和等于Na+的物质的量B. 初二科学题.关于大气压有一“苏泊尔”牌高压锅的直径为24cm,限压阀气孔的直径为35mm,限压阀质量为100克,是估算当正常使用时,锅内气压约为多大?要完整的苦厄写步骤 把 1、2、12、37和51填入下面( )里.奇数( ) 素数( ) 合数( ) 请详细分析每一个选项在一定条件下,一定量的A和B气体发生如下可逆反应:2A(g)+3B(g)=3C(g),只有反应平衡才具有的性质是( )A.各物质的浓度之比为2:3:3B.混合物各物质浓度的浓度相等C.A、B、C 初二科学关于大气压压强的题目一定要科学的! 1、2、24、37和51这些数可以填入哪个括号.( ) ( ) ( ) 奇数 素数 合数1、2、24、37和51这些数可以填入哪个括号。( ) ( ) ( ) 奇数 素数 合数 就是物质的量,和离子大量共存的问题的解题方法.最好有例题
备案号:鲁ICP备13029499号-2 说三道四 www.s3d4.cn