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

 

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

 

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

wKioL1USARiQWJIVADTGh0GGQBU598.jpg

 

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

wKiom1USAMWjYn5TAC3aJCZBmi4539.jpg

 

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

wKioL1USAjHyRycKACldDZSARZs631.jpg

 

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

wKioL1USAmGgfxG_AALYEG726zo076.jpg

 

讲座视频

 

前天盆盆拿到了讲课的录像,大该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。这样进程等于在外面包了一层独立的账户、主机名、进程号、网络、进程间通信和文件系统等命名空间的壳,简直等于一台轻量级的小型虚拟机!
wKioL1USAz-D6E1KAAJkBsopMFs659.jpg


这里推荐大家阅读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和事件)。

wKiom1USAs6Q6a7HAAFUB4AxEoY710.jpg

 

有关终端服务的这部分原理,可以参考《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


 

盆盆感兴趣的是以下的一段论述。

wKioL1USBHGBVOCqAAO5f3LNWvY801.jpg


其中有以下的一段话,大意是在权限、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运维人员顺利实现转型。

    wKiom1USA82CGIxnAABoxNKWhig806.jpg