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

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

 

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

 

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

wKioL1USARiQWJIVADTGh0GGQBU598.jpg

 

和张诚、苏繁等兄弟一块儿晚餐。浏览器

wKiom1USAMWjYn5TAC3aJCZBmi4539.jpg

 

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

wKioL1USAjHyRycKACldDZSARZs631.jpg

 

次日是周六,在王府井的一家酒店开讲座,上座率不低哈。网络

wKioL1USAmGgfxG_AALYEG726zo076.jpg

 

讲座视频session

 

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


您能够访问如下的视频连接:运维

http://v.youku.com/v_show/id_XOTE0NTQyODY0.htmlide

这个讲座主要讲什么呢,是和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

相关文章
相关标签/搜索