由于Docker容器風靡一時已不是什么秘密,Docker容器基于Linux,這正是其有趣之處。就這一問題,Modern Infrastructure對微軟老兵Azure核心團隊的架構師John Gossman進行了采訪。
IT新架構:容器已經(jīng)推出很長時間了。在Docker以前,你看到過對容器技術存在眾多需求嗎?
John Gossman:沒有。Windows在很久以前就已經(jīng)具備了容器所具備的某些基本特征。例如,Job對象和linux cgroups類似,允許你控制資源消耗。在過去也有第三方嘗試制造Windows容器,但無法訪問內核,要做好Windows容器是不可能的。 Docker創(chuàng)造者Solomon Hykes做的是將很多容器技術整合為面向開發(fā)人員的一個很棒的功能集。這的確是很棒的創(chuàng)新,而且我認為Docker讓所有人都大吃一驚—即使是 Solomon Hykes自己。
MI(IT新架構):請簡單概括一下微軟的容器戰(zhàn)略是什么?
John Gossman:你可以認為是兩個吻合得很好的單獨戰(zhàn)略,但也可以彼此獨立對待。
首先,我們希望容器能夠在Windows下很好地運行,這可以看作是Windows Server 2016技術預覽版3 中Windows Server容器特性當中的一部分。Windows Server 2016技術預覽版3還包括一個Docker代理,與Docker 引擎使用了同樣的數(shù)據(jù)庫。這并非意味著你可以在Windows上運行Linux Docker容器,或者是在Linux上運行Windows容器,但是你可以獲得同樣的管理體驗。例如,你可以使用Docker工具比如Swarm以及 Compose管理Windows Server容器。還可以配置一些很有趣的混合架構:例如后端運行微軟SQL Server數(shù)據(jù)庫,前端運行Apache Linux。我們還支持其他的接口集,例如Canonical LXD以及我們自己的內置API—用于管理容器,但我們希望大多數(shù)生態(tài)系統(tǒng)使用Docker。
就Azure而言,如果顧客想使用容器,我們希望確保他們能夠與Azure很好的合作。現(xiàn)在我們關注Azure平臺上用于Linux環(huán)境的Docker,例如能夠很輕松地部署Docker鏡像。我們有一個Docker擴展,創(chuàng)建實例時只需要點擊鼠標就能夠確保創(chuàng)建Docker引擎。我們也正在構建我們自己的Docker管理與監(jiān)控功能。
MI:顧客對什么感興趣?
Gossman:我們看到顧客對Azure以及預置的Windows服務器感興趣。這兩者之間存在很多重疊。部分原因是很少有企業(yè)是完全相同的?;旌霞軜媽λ麄兙哂形Αzure也正在增加多樣化。我在幾個星期之前做了一次檢查,發(fā)現(xiàn)運行在Azure平臺上的25%的虛擬機正在運行Linux,年初時,這一數(shù)字是20%。
MI:容器的安全性如何?
Gossman:首先,我不會講容器是不安全的。如果你正在自己的數(shù)據(jù)中心內運行,那么你會相信自己人,運行容器應該不會有任何擔心。當處于充滿敵意的多租戶環(huán)境(比如公有云)中,我們建議——正如所有其他公有云服務商做的那樣——要對虛擬機進行硬件隔離。
實際上,我們認為容器以及虛擬化是完全互補的兩種技術。這兩種技術各有優(yōu)缺點,但我不認為做出妥協(xié)存在技術上的原因。一切還沒有結束。在某種情況下,容器以及虛擬機將會走向融合。我們公開討論了Hyper-V容器,Windows服務器即將提供該功能,將相同的公共API作為一個容器,并封裝了輕量級 Hyper-V。提供了與虛擬環(huán)境相同等級的安全性,而且還允許運行不兼容的內核。還付出了很多其他的努力,例如位于北京的一個創(chuàng)業(yè)項目 HyperHQ[更不必說VMware的Photon平臺]。