一堵新近構(gòu)建的微型磚墻。
CoreOS、紅帽、Ubuntu、VMware、Rancher以及微軟等廠商都在以自家獨(dú)有的方式打造分拆式、面向容器的云規(guī)模操作系統(tǒng)。
時至今日,一場面向云技術(shù)領(lǐng)域的操作系統(tǒng)王者之戰(zhàn)已經(jīng)全面展開。但您猜怎么著?沒有任何一套傳統(tǒng)操作系統(tǒng)方案能夠在競爭當(dāng)中直接勝出!
之所以傳統(tǒng)操作系統(tǒng)無法在這片戰(zhàn)場上取勝,是因?yàn)樗鼈冊谠O(shè)計當(dāng)中并未納入云考量要素——換言之,它們太過臃腫。因此,一系列超級精簡且只滿足最低限度需求的新型操作系統(tǒng)正陸續(xù)出爐,并將在云領(lǐng)域?yàn)楝F(xiàn)有廠商重新排個座次。
備注:我們會把這些只包含最低限度功能的操作系統(tǒng)稱為微操作系統(tǒng)。大家可能也遇到過將其稱為容器操作系統(tǒng)的情況——這也沒錯,畢竟其設(shè)計目標(biāo)是運(yùn)行在容器環(huán)境當(dāng)中。
為了具備現(xiàn)實(shí)意義,云環(huán)境擁有三大考量重點(diǎn)——密度、彈性以及安全性。很明顯,云計算當(dāng)中涉及諸多重要元素,但密度、彈性與安全性無疑是其中最為核心的特質(zhì)所在。
也正是這三項(xiàng)要素預(yù)示著傳統(tǒng)操作系統(tǒng)將在云環(huán)境下失去統(tǒng)治地位,而微操作系統(tǒng)則在這里成為冉冉升起的新星。
微操作系統(tǒng)到底是什么?
概括地講,微操作系統(tǒng)其實(shí)是一款專門針對一種目標(biāo)——即服務(wù)器工作負(fù)載——且只針對這一種目標(biāo)設(shè)計而成的操作系統(tǒng)。其中沒有任何額外的點(diǎn)綴性內(nèi)容,例如華麗的圖形用戶界面、桌面生產(chǎn)力應(yīng)用程序甚至是服務(wù)器服務(wù)等等,這一切對于微操作系統(tǒng)都是不必要的負(fù)擔(dān)。沒錯,微操作系統(tǒng)就是這樣一套拆分式、盡可能精簡且不帶任何非必要元素的操作系統(tǒng)。
微操作系統(tǒng)的一大核心宗旨在于以更低的自身體積實(shí)現(xiàn)更高功能密度以及更出色的安全性水平?;蛘邚牧硪环N方式來看,由更低自身體積帶來更少復(fù)雜性元素、更少安全漏洞、更低補(bǔ)丁需求、更少重啟次數(shù)以及更短的啟動時間……總體而言,就是盡可能降低資源浪費(fèi)。
而且雖然這一切都立足于Linux世界,但這場云環(huán)境當(dāng)中的系統(tǒng)王者之爭已經(jīng)趨于白熱化,甚至影響到了Windows領(lǐng)域。每個人都希望能夠在這場決定新時代霸主人選的角逐中脫穎而出。
在今天的文章中,我們將評測目前這場令人血脈賁張的微操作系統(tǒng)競爭當(dāng)中最為重要且極具吸引力的幾位參賽選手。
CoreOS
首先,任何圍繞現(xiàn)代微操作系統(tǒng)議題所展開的討論往往都會以CoreOS作為起點(diǎn)。而在我看來,將CoreOS稱為當(dāng)下云環(huán)境中第一款具有切實(shí)影響力的微操作系統(tǒng)也絕非言過其實(shí)。
從高層角度來看,CoreOS其實(shí)是一款拆分式Linux發(fā)行版,其設(shè)計目的在于同容器技術(shù)相協(xié)作——其最初使用Docker容器引擎,但最近開始使用自家打造的rkt容器引擎。(備注:rkt的發(fā)音應(yīng)為‘rocket’,即火箭。)無論配合哪種容器技術(shù),這種對容器機(jī)制的高度傾斜使得CoreOS能夠擺脫軟件包管理器以及其它不再必要的載入內(nèi)容,從而將自身的體積控制在相當(dāng)體貼的161 MB水平(這一體積為截稿時最新穩(wěn)定版本的實(shí)際大小)。
有鑒于此,CoreOS體積非常小巧且專門面向容器進(jìn)行設(shè)計。不過CoreOS Linux發(fā)行版還僅僅屬于CoreOS公司預(yù)期成果的組成部分之一。該公司的預(yù)期目標(biāo)可以歸納成以下兩項(xiàng)重點(diǎn):
保護(hù)云及互聯(lián)網(wǎng)安全
為公眾帶來谷歌式的基礎(chǔ)設(shè)施方案
說起保護(hù)云及互聯(lián)網(wǎng)安全這信議題,盡可能簡化更新機(jī)制絕對進(jìn)CoreOS的核心價值取向之一。這款操作系統(tǒng)的更新以鏡像為基礎(chǔ),這意味著用戶可以隨時對其進(jìn)行更新,而完整的系統(tǒng)鏡像也將由此實(shí)現(xiàn)更新。相較于對多個獨(dú)立軟件包及服務(wù)進(jìn)行升級,CoreOS選擇了直接對系統(tǒng)鏡像以及容器進(jìn)行整體更新的辦法。事實(shí)證明這是一種非常理想的系統(tǒng)更新方案,而且使得管理員能夠在必要時更輕松地實(shí)時回滾。
而在谷歌式基礎(chǔ)設(shè)施方面,CoreOS提供一整套服務(wù)套件、用于編排可擴(kuò)展性容器生態(tài)系統(tǒng)并提供覆蓋網(wǎng)絡(luò)——具體包括etcd、fleet以及flannel等技術(shù)方案。
總體而言,CoreOS是一款歷史最為悠久的微操作系統(tǒng),其設(shè)計目標(biāo)符合容器以及當(dāng)前云工作負(fù)載的實(shí)際要求。此外,它還擁有小巧的體積并支持基于鏡像的原子式更新機(jī)制。
Atomic項(xiàng)目
不甘于人后的紅帽公司也拿出了自己的社區(qū)項(xiàng)目,名為Atomic項(xiàng)目。該項(xiàng)目的主旨在于打造出針對云及容器環(huán)境進(jìn)行過優(yōu)化的Fedora、RHEL以及CentOS版本:
Fedora Atomic Host
RHEL Atomic Host
CentOS Atomic Host
Fedora Atomic Host是一切新鮮創(chuàng)意被轉(zhuǎn)化為現(xiàn)實(shí)的前沿性實(shí)驗(yàn)平臺。RHEL Atomic Host則從Fedora Atomic Host當(dāng)中提取自己需要的元素,并將其封裝在一套企業(yè)級綁定集當(dāng)中。CentOS Atomic Host則屬于由社區(qū)支持的RHEL Atomic Host版本。
與CoreOS類似,Atomic Host同樣屬于以容器為核心、面向云環(huán)境進(jìn)行優(yōu)化的64位服務(wù)器。不過“Atomic”,也就是原子,這一用詞顯然與該服務(wù)器的實(shí)際體積并無關(guān)聯(lián)??紤]到這一事實(shí),我們發(fā)現(xiàn)Atomic Host在與其它微操作系統(tǒng)進(jìn)行比拼時,在體積方面恐怕略微處于劣勢。一套CentOS Atomic Host的鏡像在壓縮后一般在數(shù)百M(fèi)B區(qū)間,而未壓縮版本的體積則約為1GB。
很明顯,“Atomic”一詞來自于其更新方式。與CoreOS類似,Atomic Host支持基于鏡像的更新機(jī)制。
總體而言,Atomic項(xiàng)目提供面向云以及容器環(huán)境進(jìn)行優(yōu)化的Fedora Linux、RHEL以及CentOS版本,其采用Docker容器引擎并支持基于鏡像的更新機(jī)制。
Snappy Ubuntu Core
就在全世界剛剛開始為云計算如癡如狂時,這款新型微操作系統(tǒng)恰好應(yīng)時而生,Canonical公司(也就是Ubuntu Linux的持有方)的工作人員努力希望為智能手機(jī)及平板設(shè)備打造一款Ubuntu精簡版本。而接下來的故事卻峰回路轉(zhuǎn)……當(dāng)Ubuntu意識到自身需要面向云及容器環(huán)境拿出一套經(jīng)過優(yōu)化的微操作系統(tǒng)方案時,才發(fā)現(xiàn)自己早已出于不同理由而做好了充分的準(zhǔn)備。
讓咱們長話短說,這就是Snappy Ubuntu Core的來歷。從技術(shù)角度看,這是一套經(jīng)過拆分的Ubuntu Server版本,其壓縮后的鏡像體積約在100MB左右。不出所料,Snappy使用的是Docker容器引擎,同時支持基于鏡像的更新機(jī)制。
說到這里,我們似乎看到了微操作系統(tǒng)的固有發(fā)展模式。
VMware的Photon項(xiàng)目
作為一家專業(yè)打造趨勢性、穩(wěn)定可靠的企業(yè)級產(chǎn)品的廠商,VMware公司也已經(jīng)加入到這場微操作系統(tǒng)混戰(zhàn)中來,其產(chǎn)品代號為Photon項(xiàng)目。Photon目前尚處于技術(shù)預(yù)覽階段,只提供社區(qū)支持。
Photon項(xiàng)目是一套拆分式Linux發(fā)行版,通過優(yōu)化運(yùn)行于VMware vSphere之上并利用VMware生態(tài)系統(tǒng)實(shí)現(xiàn)補(bǔ)丁安裝與更新,同時具備基于身份的訪問管理機(jī)制。其安裝選項(xiàng)由體積為260MB的“微型”鏡像到1.7GB的完整安裝項(xiàng)目不一而足。
除了Docker之外,Photon還能夠支持rkt與Garden容器引擎,后者為Pivotal公司Cloud Foundry所采用的容器格式。Photon不僅支持基于鏡像的更新機(jī)制,同時也包含有更為傳統(tǒng)的yum類軟件包管理器。
事實(shí)上,Photon項(xiàng)目專門針對vSphere運(yùn)行進(jìn)行了優(yōu)化(包括相關(guān)驅(qū)動程序以及經(jīng)過調(diào)整的內(nèi)核),其效果也相當(dāng)值得稱道。不過Photon項(xiàng)目真正的殺手級功能在于其背后強(qiáng)大的VMware支持以及與vSphere生態(tài)系統(tǒng)的集成能力。
如果大家所在企業(yè)已經(jīng)是VMware公司的客戶且保持有較為謹(jǐn)慎的新型技術(shù)引入態(tài)度,那么Photon項(xiàng)目可能會是大家跟進(jìn)容器發(fā)展趨勢的最佳平臺。
RancherOS
好了,現(xiàn)在開始說點(diǎn)別的……
RancherOS(來自Rancher實(shí)驗(yàn)室)的知名度顯然無法與前面幾位選手相提并論,但其將云與窗口集成水平帶入了新的高度。
首先,它的體積實(shí)在小巧到令人喜出望外——只有20MB左右,這對于一款云優(yōu)化型服務(wù)器平臺來說簡直值得大加贊賞。不過這還不是其最酷的方面……真正的亮點(diǎn)在于RancherOS集成Docker的具體方式。
讓我們先做一番回顧。前面提到的CoreOS、Atomic Host、Snappy Ubuntu Core以及Photon項(xiàng)目都采用Linux內(nèi)核,配備一系列系統(tǒng)服務(wù)而后在此基礎(chǔ)上部署容器運(yùn)行時環(huán)境。但RancherOS所另辟了一條蹊徑。在啟動Linux內(nèi)核之后,它會生成一套被稱為system-docker的特定Docker實(shí)例,并將所有系統(tǒng)服務(wù)以容器方式加以運(yùn)行。沒錯,大家沒有看錯。在RancherOS當(dāng)中,Linux內(nèi)核只是一種引導(dǎo)機(jī)制,并隨后生成一個system-docker進(jìn)程。該system-docker進(jìn)程獲取PID 1并負(fù)責(zé)將所有與系統(tǒng)相關(guān)的進(jìn)程以容器方式啟動——類似于udev以及syslog。
毫無疑問,RancherOS是一款非常有趣而且極具創(chuàng)新特性的解決方案,它構(gòu)建起的云優(yōu)化型操作系統(tǒng)開創(chuàng)了屬于自己的解決思路。更不用說它是我們目前見到過的體積最為小巧的微操作系統(tǒng),同時擁有最為緊密的容器引擎集成效果(Docker)。因此從個人角度來講,我強(qiáng)烈建議大家對這套方案加以認(rèn)真審視。
Windows Nano Server
最后但同樣重要的就是微軟拿出的解決方案了。由于不想放任Linux在云以及容器生態(tài)系統(tǒng)當(dāng)中一家獨(dú)大,微軟公司最近發(fā)布了其自主開發(fā)的微操作系統(tǒng),名為Windows Nano Server(目前的規(guī)劃是在2016年年內(nèi)推出通用版本)。
由于意識到Windows Server Core已經(jīng)在正確的方向上邁出了重要一步——雖然只是小小的一步——微軟公司開始以Nano Server為平臺將精簡水平提升到新的高度。Nano據(jù)稱屬于Windows Server的一套拆分版本,而且微軟官方承諾稱其“VHD體積縮小了93%,重要公告減少92%,而重啟次數(shù)亦降低了80%。”
作為實(shí)現(xiàn)這一系列體積壓縮的必要犧牲品,Nano Server顯然不提供GUI方案。事實(shí)上,它甚至不提供本地CLI或者PowerShell機(jī)制——所有管理工作都需要通過WMI、PowerShell Remote或者即將推出的Web管理工具以遠(yuǎn)程方式實(shí)現(xiàn)。軟件包安裝與更新則由DISM負(fù)責(zé)處理,也就是微軟公司的鏡像管理工具。
我們還可以期待Nano Server針對各類容器作出優(yōu)化——微軟公司此前已經(jīng)公布了相關(guān)技術(shù),但目前仍未正式推出。
綜合以上幾點(diǎn),Nano Server的最終成果似乎已經(jīng)可以預(yù)見。而微軟方面這次似乎是把可資利用的一切都投入到了云與容器技術(shù)領(lǐng)域。