您的位置:首页 > 运维架构 > Docker

Windows Docker内部原理猜想和Azure讲座录像分享

2015-03-25 08:47 344 查看
[前言] 盆盆期待和大家分享年初在北京Microsoft MVP OpenDay上分享的讲座录像,介绍有关微软云计算、Docker和微信自动化联动的技术。在这篇文章里,还将介绍盆盆自己对Windows自己的Docker技术的猜想和展望。

首先要给大家分享一个盆盆在MVP Open Day上的讲课录像。

1月底盆盆去北京参加MVP的两会,当时天可真蓝。




和张诚、苏繁等兄弟一起晚餐。




晚宴上,还有多才多艺的MVP兄弟表演节目哩




第二天是周六,在王府井的一家酒店开讲座,上座率不低哈。




[b]讲座视频[/b]

前天盆盆拿到了讲课的录像,大该1小时,录像效果较一般,大家凑合着看吧(注意有声音,请带耳机收看,以免影响他人哈)。

您可以访问以下的视频链接:
http://v.youku.com/v_show/id_XOTE0NTQyODY0.html

这个讲座主要讲什么呢,是和Azure云计算和自动化相关,其中涉及的一些知识点,您可以参考微信公众号华来四里的两篇文章(关注:sysinternal):

在华来四公众号里回复docker1,阅读有趣的Windows Azure Docker演示
在华来四公众号里回复azure1,阅读云计算和自动化

Docker原理
说到Docker,今天从team内部获悉,微软会推出超轻量级的Windows Nano Server,作为今后Windows Docker的底层OS,这就类似于开源社区正在推的CoreOS、轻量级Ubuntu一样。

联想到Linux Docker容器技术使用的六大Linux内核隔离技术:UTS/IPC/PID/Network/Mount/User。这样进程等于在外面包了一层独立的账户、主机名、进程号、网络、进程间通信和文件系统等命名空间的壳,简直等于一台轻量级的小型虚拟机!



这里推荐大家阅读DaoCloud的大牛孙老师的雄文《Docker背后的内核知识—Namespace资源隔离》(您需要复制以下地址,并粘贴到浏览器里查看):http://www.infoq.com/cn/articles/docker-kernel-knowledge-namespace-resource-isolation?from=timeline&isappinstalled=0 其实Windows很早就有进程隔离技术,例如大家都很熟悉的终端服务(最早由Citrix研发)。终端服务实现所谓的会话隔离机制。其实质就是将 \DosDevices、\Windows和\BaseNamedObjects等几个对象的命名空间做隔离,这和Docker的IPC隔离有几分类似的地方。
看盆盆利用WinObj在Windows 10里抓的截图。终端服务通过构造新的窗口站命名空间(附图中的Windows部分),来隔离不同用户所看到的桌面;通过隔离的\BaseNamedObjects命名空间,则可以隔离(也叫做实例化)出自己的共享对象(例如内存段、Mutex和事件)。


有关终端服务的这部分原理,可以参考《Windows Internals》第173页。不过书里面并没有提到附图中看到的AppContainerNamedObjects。这是什么东东?
原来这是Windows 8以后才有的应用程序容器技术(Windows Internals主要以Windows 7为主),主要是给Metro UI应用所使用。有关这个应用容器技术,可以参考以下的文章:http://recxltd.blogspot.com/2012/03/windows-8-app-container-security-notes.html
盆盆感兴趣的是以下的一段论述。


其中有以下的一段话,大意是在权限、IC、文件访问和网络访问访问进行隔离,是不是和Docker的六大隔离有点类似??
Distilling this down they've introduced a high-level capability model that translates to a more restricted version of low integrity processes. Going further than before in restricting IPC between processes, file access and event loopback network access.
能否大胆猜测一下,微软会不会将其原本基于MetroUI的App Container技术,加工扩展为Windows版本的Docker?
想当年Citrix开发出终端服务,后来微软在1998年时正式授权到Windows NT的终端服务版(那一年盆盆刚工作)。Citrix自己再对其进行深加工,成就了XenDesktop和XenApp,到现在已经风光了17年。回想起来,其盈利模式是对每个终端连接进行收费,增值的部分至少有两点:终端连接的协议,以及管理平台。
那么Docker呢? 在Windows上会依赖何种模式盈利?Partner的赢利点在哪里?和原来的虚拟化技术如何整合?留给我们的问题太多了。

如果您觉得华来四还不错,那就扫描以下的二维码关注吧,也可以直接添加微信号:sysinternal

华来四是由彭爱华、黄爱华、程尊华和祁清华四位名字中都有华的微软MVP创立的微信公众号,坚持分享微软云计算的原创文章。旨在帮助微软IT运维人员顺利实现转型。





本文出自 “盆盆” 博客,请务必保留此出处http://markwin.blog.51cto.com/148406/1624036
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: