[前言] 盆盆期待和你們分享年初在北京Microsoft MVP OpenDay上分享的講座錄像,介紹有關微軟雲計算、Docker和微信自動化聯動的技術。在這篇文章裏,還將介紹盆盆本身對Windows本身的Docker技術的猜測和展望。html
首先要給你們分享一個盆盆在MVP Open Day上的講課錄像。docker
1月底盆盆去北京參加MVP的兩會,當時天可真藍。windows
和張誠、蘇繁等兄弟一塊兒晚餐。瀏覽器
晚宴上,還有多才多藝的MVP兄弟表演節目哩微信
次日是週六,在王府井的一家酒店開講座,上座率不低哈。網絡
講座視頻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。這樣進程等於在外面包了一層獨立的帳戶、主機名、進程號、網絡、進程間通訊和文件系統等命名空間的殼,簡直等於一臺輕量級的小型虛擬機!
這裏推薦你們閱讀DaoCloud的大牛孫老師的雄文《Docker背後的內核知識—Namespace資源隔離》(您須要複製如下地址,並粘貼到瀏覽器裏查看):
其實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的贏利點在哪裏?和原來的虛擬化技術如何整合?留給咱們的問題太多了。