Unikernel五年后將完全取代container技術(shù)
Container容器技術(shù)近年受到了業(yè)界的持續(xù)關(guān)注。Docker和CoreOS極大地降低了用戶使用操作系統(tǒng)的難度,推動了容器技術(shù)的流行。容器技術(shù)簡化了應(yīng)用的分發(fā)流程,這對于云基礎(chǔ)設(shè)施來說是一項重要的進步。與虛擬機相比,容器有著輕量級、啟動速度快、隔離性好等優(yōu)點,它也在一定程度上提高了不同應(yīng)用之間共享云基礎(chǔ)設(shè)施時的安全性。此外容器技術(shù)對于在同一操作系統(tǒng)之中運行多個應(yīng)用提供了專門的安全和兼容性上的優(yōu)化。
那么容器技術(shù)就真的一點問題都沒有嗎?
傳統(tǒng)的操作系統(tǒng)太過笨重,即使已經(jīng)進行了簡化實際上也依舊如此。通常一個容器的大小通常在MB甚至GB級別,顯而易見真正的應(yīng)用只占了這其中很小的一個部分。在進行操作系統(tǒng)復(fù)制時所有的服務(wù)和子系統(tǒng)不管有用沒用都被復(fù)制了,這與應(yīng)用的微服務(wù)化這一發(fā)展方向是背道而馳的。對于微服務(wù)的架構(gòu)來說所有的操作都應(yīng)該越快越好。
容器技術(shù)對于傳統(tǒng)操作系統(tǒng)的依賴可能會導(dǎo)致它的敗亡,而取代它的將是unikernel。Unikernel使用戶可以從一個服務(wù)庫中選擇應(yīng)用需要的操作系統(tǒng)服務(wù)而無須整個操作系統(tǒng)。用戶選擇的服務(wù)則會成為應(yīng)用的一部分。
Unikernel在整個服務(wù)器的架構(gòu)中取消了操作系統(tǒng),應(yīng)用直接運行在hypervisor或者硬件上。這就使得它獲得了下面幾個優(yōu)勢:
1、大小—對比虛擬機或者容器,unikernel只需要運行應(yīng)用所必須的服務(wù),因此應(yīng)用可以減小很多。這意味著應(yīng)用若需要部署到不同的服務(wù)器上將會變得方便一些,省下的不光是時間,如果云計算提供商對流量收費的話省下的還有真金白銀。
2、速度– Unikernel快得就剩一個快字了。最快的unikernel啟動只需要20毫秒。這意味著unikernel甚至可以在用戶請求時才啟動并對用戶請求做出響應(yīng)。MirageOS正開發(fā)一個叫做Jitsu的的工具來幫助用戶在云計算環(huán)境中快速啟動和關(guān)閉unikernel。
3、安全– 確保系統(tǒng)安全的一個方法是對其進行簡化,這樣就減小了出現(xiàn)漏洞受到攻擊的可能性。對于unikernel來說可攻擊的面非常小,這就使它有了很高的安全性。
4、兼容性 – 雖然unikernel需要應(yīng)用在設(shè)計時就考慮到使用unikernel來部署。然而已經(jīng)出現(xiàn)了Rump Kernels這樣的工具可以將一般的應(yīng)用以unikernel的方式來運行。
上面所列舉的四個優(yōu)勢完全符合微服務(wù)的發(fā)展趨勢。Docker和CoreOS已經(jīng)在很大程度上改變了我們消費基礎(chǔ)設(shè)施的方式然而它們能否適應(yīng)unikernel的崛起還未可知。
今后五年unikernel有可能完全取代容器技術(shù),就算不能取代它也會成為容器技術(shù)的強力補充,希望容器技術(shù)產(chǎn)業(yè)對此有所準備。