MirageOS 什么鬼?它為什么重要?
如果你平時(shí)熟悉使用命令行,那么了解MirageOS的最好辦法就是,自己試一試安裝操作步驟(https://mirage.io/wiki/install)!
MirageOS是啥東東?為什么它很重要?
在云端運(yùn)行的應(yīng)用程序大多數(shù)并不是針對(duì)在云端運(yùn)行而經(jīng)過優(yōu)化的。它們本身假設(shè)需要依附底層操作系統(tǒng),其中包括安全漏洞和臃腫軟件。將大型服務(wù)器分隔成一個(gè)個(gè)小型虛擬機(jī)讓許多新的公司得以成功創(chuàng)辦起來(lái)、實(shí)現(xiàn)規(guī)?;?。這對(duì)新服務(wù)來(lái)說(shuō)是好事,可是那些虛擬機(jī)有許多是單一用途的,不過含有基本上整個(gè)操作系統(tǒng),這種操作系統(tǒng)本身像Web服務(wù)器那樣運(yùn)行應(yīng)用程序。這就意味著,占用的一大部分資源沒有被使用,也沒有必要,這不僅導(dǎo)致成本高昂,還帶來(lái)了安全風(fēng)險(xiǎn)(歸因于更大的攻擊面)。
MirageOS儼然是一種新的方法:只包含操作系統(tǒng)的必要組件,連同應(yīng)用程序一起編譯到單一內(nèi)核(unikernel)。這帶來(lái)了非常高效、極其精簡(jiǎn)的軟件設(shè)備(appliance),同時(shí)攻擊面要小得多。這種軟件設(shè)備可以直接部署到云端和嵌入式設(shè)備,好處就是降低了成本,提高了安全性和可擴(kuò)展性。
MirageOS的工作原理如何?
MirageOS是一種“庫(kù)操作系統(tǒng)”,可用于跨眾多云計(jì)算平臺(tái)和移動(dòng)平臺(tái),構(gòu)建安全的、高性能的網(wǎng)絡(luò)應(yīng)用程序。其工作原理如下,將Xen虛擬機(jī)管理程序當(dāng)成一個(gè)穩(wěn)定的硬件平臺(tái),讓我們可以專注于實(shí)施高性能協(xié)議,沒必要為支持傳統(tǒng)操作系統(tǒng)里面的成千上萬(wàn)個(gè)設(shè)備驅(qū)動(dòng)程序而操心。
可以在Linux或Mac OS X之類的桌面操作系統(tǒng)上使用高級(jí)函數(shù)式編程語(yǔ)言(OCaml)來(lái)開發(fā)代碼,然后編譯到一個(gè)完全獨(dú)立的專用單一內(nèi)核中。這種單一內(nèi)核直接在Xen虛擬機(jī)管理程序API上運(yùn)行。由于Xen支持大多數(shù)公有云,比如亞馬遜EC2、Rackspace云及其他許多云,MirageOS讓你的服務(wù)器可以在任何基于 Xen的云或托管服務(wù)上運(yùn)行,成本更低、安全性更高、速度更快。
MirageOS基于OCaml這門語(yǔ)言,在編譯用于部署到生產(chǎn)環(huán)境時(shí),其語(yǔ)法擴(kuò)展和50多個(gè)代碼庫(kù)可以直接映射到操作系統(tǒng)構(gòu)件。正因?yàn)槿绱?,MirageOS包括使用函數(shù)式編程全新實(shí)施諸多協(xié)議的技術(shù),從TCP/IP、DNS、SSH、Openflow(交換機(jī)/控制器)、HTTP、 XMPP到Xen虛擬機(jī)之間的傳輸協(xié)議,不一而足。
MirageOS在哪些地方很有用?
目前的MirageOS軟件設(shè)備的一個(gè)例子就是這個(gè)網(wǎng)站,它完全是一個(gè)自托管網(wǎng)站,部署在公有云上,直接在Xen虛擬機(jī)管理程序上(這里是亞馬遜 EC2上)運(yùn)行。這類軟件設(shè)備可以自動(dòng)配置,并直接部署到公有云(比如Rackspace或亞馬遜EC2),也可以推送到嵌入式設(shè)備。還有一個(gè)例子是http://decks.openmirage.org,其不同的MirageOS軟件設(shè)備被用來(lái)演示會(huì)議所用的幻燈片。這兩個(gè)情況表明了眼下MirageOS在如何得到應(yīng)用,而下面這幾個(gè)例子表明了我們?cè)谖磥?lái)可以用MirageOS來(lái)做什么。
可自擴(kuò)展的架構(gòu)
我們可以創(chuàng)建可自擴(kuò)展的Web服務(wù)器,而且占用的資源非常少。由于體積小巧,這種服務(wù)器運(yùn)行起來(lái)其成本低于當(dāng)前的解決方案,但同時(shí)又具有高度彈性。如果流量出現(xiàn)突然激增的情況,Web服務(wù)器可以配置成自動(dòng)創(chuàng)建和部署Web服務(wù)器副本,以處理需求。這種自擴(kuò)展非常迅速地完成,以至于入站連接就能觸發(fā)新服務(wù)器的創(chuàng)建,然后新服務(wù)器就能在連接超時(shí)中斷(大約幾毫秒)之前處理該請(qǐng)求。需求再次下降后,這些Web服務(wù)器又能自動(dòng)關(guān)閉。由于這些機(jī)器啟動(dòng)速度快,我們就能變得更有彈性,可以增減計(jì)算容量,毫厘不差地滿足要求,因而只有在確實(shí)需要計(jì)算容量時(shí),才添置實(shí)際需要的那部分容量。
部署到嵌入式設(shè)備
如果使用MirageOS,我們還能創(chuàng)建可以在嵌入式設(shè)備上運(yùn)行的軟件設(shè)備。這類軟件設(shè)備可以部署到家里多個(gè)角落的小設(shè)備中,比如用來(lái)測(cè)量濕度的花盆或冰箱里面可以告訴究竟什么食品變質(zhì)的化學(xué)傳感器。你可以通過一種Web服務(wù)器軟件設(shè)備,訪問來(lái)自這些傳感器的數(shù)據(jù),該軟件設(shè)備也可以本地部署在家里,部署到Raspberry Pi之類的硬件設(shè)備上。將額外的應(yīng)用程序安裝到Raspberry Pi軟件設(shè)備上是很簡(jiǎn)單的操作,只要輕松點(diǎn)擊一下,你就可以共享你的數(shù)據(jù)或者比較別人的數(shù)據(jù)。構(gòu)建這樣一個(gè)家庭網(wǎng)絡(luò),可以確保你不受到任何上游連接問題的影響,數(shù)據(jù)仍然在你的控制之下。
同樣這個(gè)場(chǎng)景可以應(yīng)用到企業(yè)環(huán)境:建筑物四周的傳感器可以監(jiān)測(cè)環(huán)境條件、調(diào)整燈光及其他許多工作參數(shù)。需要額外的計(jì)算資源時(shí),就能在云服務(wù)提供商的平臺(tái)上自動(dòng)創(chuàng)建更多的軟件設(shè)備,以滿足短期需要。
總的來(lái)說(shuō),MirageOS在提高效率和安全方面具有顯著的好處,用來(lái)部署到公有云和嵌入式設(shè)備上再理想不過了。結(jié)合Irmin和Signpost,MirageOS成為了Nymote/MISO工具箱的一個(gè)核心部件,有望支持即將涌現(xiàn)的一大批物聯(lián)網(wǎng)設(shè)備。
原文鏈接:http://www.yuntoutiao.com/yun/paas/4460.html
【文章來(lái)源:mirage.io|云頭條翻譯(未經(jīng)授權(quán)謝絕轉(zhuǎn)載)】