MirageOS 什麼鬼?它爲什麼重要?

MirageOS是啥東東?爲什麼它很重要?

在雲端運行的應用程序大多數並不是針對在雲端運行而經過優化的。它們本身假設需要依附底層操作系統,其中包括安全漏洞和臃腫軟件。將大型服務器分隔成一個個小型虛擬機讓許多新的公司得以成功創辦起來、實現規模化。這對新服務來說是好事,可是那些虛擬機有許多是單一用途的,不過含有基本上整個操作系統,這種操作系統本身像Web服務器那樣運行應用程序。這就意味着,佔用的一大部分資源沒有被使用,也沒有必要,這不僅導致成本高昂,還帶來了安全風險(歸因於更大的***面)。

MirageOS儼然是一種新的方法:只包含操作系統的必要組件,連同應用程序一起編譯到單一內核(unikernel)。這帶來了非常高效、極其精簡的軟件設備(appliance),同時***面要小得多。這種軟件設備可以直接部署到雲端和嵌入式設備,好處就是降低了成本,提高了安全性和可擴展性。

MirageOS的工作原理如何?

MirageOS是一種“庫操作系統”,可用於跨衆多雲計算平臺和移動平臺,構建安全的、高性能的網絡應用程序。其工作原理如下,將Xen虛擬機管理程序當成一個穩定的硬件平臺,讓我們可以專注於實施高性能協議,沒必要爲支持傳統操作系統裏面的成千上萬個設備驅動程序而操心。

可以在Linux或Mac OS X之類的桌面操作系統上使用高級函數式編程語言(OCaml)來開發代碼,然後編譯到一個完全獨立的專用單一內核中。這種單一內核直接在Xen虛擬機管理程序API上運行。由於Xen支持大多數公有云,比如亞馬遜EC2、Rackspace雲及其他許多雲,MirageOS讓你的服務器可以在任何基於 Xen的雲或託管服務上運行,成本更低、安全性更高、速度更快。

MirageOS基於OCaml這門語言,在編譯用於部署到生產環境時,其語法擴展和50多個代碼庫可以直接映射到操作系統構件。正因爲如此,MirageOS包括使用函數式編程全新實施諸多協議的技術,從TCP/IP、DNS、SSH、Openflow(交換機/控制器)、HTTP、 XMPP到Xen虛擬機之間的傳輸協議,不一而足。

MirageOS在哪些地方很有用?

目前的MirageOS軟件設備的一個例子就是這個網站,它完全是一個自託管網站,部署在公有云上,直接在Xen虛擬機管理程序上(這裏是亞馬遜 EC2上)運行。這類軟件設備可以自動配置,並直接部署到公有云(比如Rackspace或亞馬遜EC2),也可以推送到嵌入式設備。還有一個例子是http://decks.openmirage.org,其不同的MirageOS軟件設備被用來演示會議所用的幻燈片。這兩個情況表明了眼下MirageOS在如何得到應用,而下面這幾個例子表明了我們在未來可以用MirageOS來做什麼。

可自擴展的架構

我們可以創建可自擴展的Web服務器,而且佔用的資源非常少。由於體積小巧,這種服務器運行起來其成本低於當前的解決方案,但同時又具有高度彈性。如果流量出現突然激增的情況,Web服務器可以配置成自動創建和部署Web服務器副本,以處理需求。這種自擴展非常迅速地完成,以至於入站連接就能觸發新服務器的創建,然後新服務器就能在連接超時中斷(大約幾毫秒)之前處理該請求。需求再次下降後,這些Web服務器又能自動關閉。由於這些機器啓動速度快,我們就能變得更有彈性,可以增減計算容量,毫釐不差地滿足要求,因而只有在確實需要計算容量時,才添置實際需要的那部分容量。

部署到嵌入式設備

如果使用MirageOS,我們還能創建可以在嵌入式設備上運行的軟件設備。這類軟件設備可以部署到家裏多個角落的小設備中,比如用來測量溼度的花盆或冰箱裏面可以告訴究竟什麼食品變質的化學傳感器。你可以通過一種Web服務器軟件設備,訪問來自這些傳感器的數據,該軟件設備也可以本地部署在家裏,部署到Raspberry Pi之類的硬件設備上。將額外的應用程序安裝到Raspberry Pi軟件設備上是很簡單的操作,只要輕鬆點擊一下,你就可以共享你的數據或者比較別人的數據。構建這樣一個家庭網絡,可以確保你不受到任何上游連接問題的影響,數據仍然在你的控制之下。

同樣這個場景可以應用到企業環境:建築物四周的傳感器可以監測環境條件、調整燈光及其他許多工作參數。需要額外的計算資源時,就能在雲服務提供商的平臺上自動創建更多的軟件設備,以滿足短期需要。

總的來說,MirageOS在提高效率和安全方面具有顯著的好處,用來部署到公有云和嵌入式設備上再理想不過了。結合Irmin和Signpost,MirageOS成爲了Nymote/MISO工具箱的一個核心部件,有望支持即將涌現的一大批物聯網設備。


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章