如今的云計算應(yīng)用程序是現(xiàn)代數(shù)據(jù)中心架構(gòu)的一個直接擴展?;趯橐苿討?yīng)用程序設(shè)計的微小虛擬機(VM)而構(gòu)建的新型架構(gòu)可實現(xiàn)更小型的應(yīng)用程序和更低的延遲。研究人員設(shè)想將這些微小VM應(yīng)用于諸如打印服務(wù)器、動態(tài)主機配置協(xié)議、VoIP服務(wù)等服務(wù)。流暢的云計算架構(gòu)需要重新思考VM瘦身、即時配置以及跨不同物理服務(wù)器的VM遷移等問題。
NEC的高級研究人員Felipe Manco在加州Santa Clara舉辦的USENIX HotCloud研討會上介紹了其之前在超流暢云計算方面所做的工作。“傳統(tǒng)的云計算基礎(chǔ)設(shè)施被限制在數(shù)據(jù)中心和核心網(wǎng)絡(luò)。在過去的幾年中,運營商已在網(wǎng)絡(luò)的不同位置部署著處理能力。這一基本思想讓在更接近于客戶或企業(yè)內(nèi)部的更小型服務(wù)器上部署云計算服務(wù)成為了可能。”Manco說。
一個流暢云計算的要求
這個新的架構(gòu)有四個基本屬性:位置獨立性、時間獨立性、規(guī)模獨立性以及硬件獨立性。位置獨立性意味著,可根據(jù)應(yīng)用程序需求跨不同網(wǎng)絡(luò)設(shè)計實現(xiàn)服務(wù)器部署的能力。
惠普實驗室互聯(lián)網(wǎng)與計算平臺研究中心的首席架構(gòu)師Mike Schlansker說,這個新架構(gòu)為應(yīng)用程序開發(fā)人員、電信企業(yè)以及客戶提供了把應(yīng)用程序部署在何處的權(quán)利。例如,在靠近客戶的位置部署應(yīng)用程序可減少延遲。這將使提供諸如VoIP電話這類要求低延遲的服務(wù)成為了可能。
時間獨立性是指應(yīng)具有短時間啟動虛擬機的能力,具體時間從幾毫秒到幾小時各不相同。規(guī)模獨立性需要開發(fā)管理工具以便于在一臺單一服務(wù)器上運行成百上千的虛擬機。硬件獨立性需要能夠在網(wǎng)絡(luò)邊緣的較小型服務(wù)器上運行云計算應(yīng)用程序。
考慮新的云計算應(yīng)用程序
Manco相信,這個新式架構(gòu)一定能夠讓各種現(xiàn)有應(yīng)用程序變得更為高效,它可以讓原本老舊的應(yīng)用程序煥然一新。虛擬CDN可以按需提供,其現(xiàn)金節(jié)點可實現(xiàn)動態(tài)填充和取消。
這些微云服務(wù)還將適用于為客戶的內(nèi)部設(shè)備提供后端服務(wù),以便于提高維護(hù)、降低成本、加快推出新服務(wù)。使用在小虛擬機上運行的微云服務(wù)將有助于隔離各個應(yīng)用程序,從而解決安全性問題和滿足性能需求。另一個用例則是提供個性化的邊緣服務(wù),例如家長控制電視服務(wù)、云計算存儲、通知和去除廣告等。
使用unikernel縮小虛擬機規(guī)模
這個新式架構(gòu)的關(guān)鍵要求就是,每臺虛擬機都應(yīng)擁有一個非常小的資源以滿足內(nèi)存和處理方面的要求。這些服務(wù)還應(yīng)針對平臺進(jìn)行量身定制,從而實現(xiàn)對數(shù)以千計的服務(wù)器進(jìn)行按需配置和按需消除配置。
Manco表示,這種新式架構(gòu)的最佳實踐就是使用開銷遠(yuǎn)低于傳統(tǒng)虛擬機的unikernel虛擬機。他們已經(jīng)基于Xen虛擬機基礎(chǔ)設(shè)施建設(shè)了一個初始平臺。在未來,可能把類似的原理應(yīng)用到容器中。但是Manco相信,unikernel可進(jìn)一步提高現(xiàn)有容器的隔離性和安全性。
如果要提高Xen的虛擬特征,還需要付出大量的工作。它的設(shè)計初衷并不是為了支持?jǐn)?shù)以千計短時間運行的虛擬機的。NEC實現(xiàn)了Xen工具堆棧的一個新實踐以提升性能。其他已完成的工作可改善Xen控制臺以便于更為動態(tài)地配置新虛擬機。
推動小虛擬機的極限
使用這個改進(jìn)的Xen內(nèi)核NEC展示了按需啟動10000個客戶虛擬機的能力。啟動如此多數(shù)量虛擬機的挑戰(zhàn)之一在于增加新虛擬機的增量時間會迅速增加。研究團(tuán)隊發(fā)現(xiàn),與LXC容器的135毫秒相比,在新架構(gòu)上增加第一萬臺虛擬機的時間為3.5秒。
Manco承認(rèn),實際應(yīng)用中可能并不會出現(xiàn)同時維持如此大數(shù)量虛擬機的情況。對于剛?cè)腴T者來說,Xen的調(diào)度問題有可能會降低每一個虛擬機的性能。問題是,傳統(tǒng)Xen調(diào)度程序使用一個循環(huán)方式從每一個虛擬機那里收集輸入。一個好的做法就是按需啟動虛擬機而不是在內(nèi)存中保持大量運行的虛擬機。
虛擬機位置至關(guān)重要
另一個好的做法就是在單臺服務(wù)器上啟動大量小虛擬機和在多臺服務(wù)器上啟動大量虛擬機之間進(jìn)行權(quán)衡。如果應(yīng)用程序?qū)?zhí)行具有較大工作量的處理任務(wù)(如打印服務(wù)器),那么它們需要在多臺服務(wù)器上進(jìn)行啟動。在另一方面,應(yīng)用程序如果是執(zhí)行一些諸如DNS查詢這樣的簡單任務(wù),那么就可以在一臺單一的服務(wù)器上啟動虛擬機。
一家云計算分析公司Cloud Physics的CTO Irfan Ahmad表示,“對于為眾多類別服務(wù)提供無縫用戶體驗來說,針對快速移動的虛擬機開發(fā)一個架構(gòu)是非常重要的。”當(dāng)他還在VMware工作時,他們就遇到了這樣的虛擬機挑戰(zhàn),即VoIP電話被虛擬機移動而打斷。
Manco說,實際使用這個靈活的云計算基礎(chǔ)設(shè)施還需要我們付出大量的努力。從長遠(yuǎn)來看,它承諾有望減少網(wǎng)絡(luò)設(shè)備、有線電視盒和企業(yè)設(shè)備的成本。通過移動更多的功能和控制邊緣服務(wù)器,它還能為物聯(lián)網(wǎng)應(yīng)用程序帶來同樣的靈活性。通過今天對這一領(lǐng)域的進(jìn)一步深入研究,企業(yè)將能夠在明天更好地利用好開發(fā)更多的流暢云計算應(yīng)用程序。
分享到微信 ×
打開微信,點擊底部的“發(fā)現(xiàn)”,
使用“掃一掃”即可將網(wǎng)頁分享至朋友圈。