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