邊緣計算工作負載:虛擬機器,容器還是裸機?
我們生活在一個連線和智慧裝置的時代。隨著智慧裝置數量的增長,資料的增長迅速達到了新的高度。這些資料從終端使用者到達雲或資料中心後再進行處理、儲存和其他分析操作,因此,當訪問時必定會帶來延遲和頻寬問題。正如Nati Shalom在他的部落格文章中寫道“ 什麼是邊緣計算?“,邊緣計算實質上是將處理能力轉移到網路邊緣,更接近資料來源。這使組織能夠在訪問資料速度和消耗頻寬的方面獲得顯著優勢。
由於邊緣扮演著至關重要的角色,因此考慮邊緣工作負載執行的基礎架構技術同樣重要。
為邊緣工作負載提供技術
我們已經看到基礎架構技術的整個正規化轉變,從物理伺服器開始,一直到虛擬機器(VM)的誕生,現在最新的是容器。儘管VM在過去十年左右的時間裡做得很好,但與VM相比,容器提供了固有的優勢。它們也是執行邊緣工作負載的理想選擇。
下圖描述了與VM相比容器的工作方式。
每個虛擬機器在共享管理程式(軟體或韌體層)之上執行獨特的作業系統,從而實現“硬體級虛擬化”。相反,容器執行在物理基礎架構之上並共享相同的核心,從而導致“作業系統級虛擬化”。
這個共享作業系統以MB為單位保持容器的大小,使它們非常“輕”和靈活,將啟動時間減少到幾秒鐘,相比之下,VM卻需要幾分鐘。此外,由於容器共享相同的作業系統,作業系統管理員的管理任務(修補,升級等)也會減少。另一方面,在容器的情況下,如果核心漏洞會使整個主機關閉。但是如果攻擊者在到達VM核心之前,只是透過主機核心和管理程式進行路由,則VM仍然是更好的選擇。
今天,許多研究正在朝著實現將裸機功能帶入邊緣工作負載的目標而進行。Packet就是這樣一個組織,致力於實現滿足低延遲和本地處理需求的獨特主張。
虛擬機器或裸機上的容器?
CenturyLink對在裸機和虛擬機器上執行Kubernetes叢集進行了一項有趣的研究。對於此測試,使用名為netperf的開源實用程式來測量兩個群集的網路延遲。
由於物理伺服器沒有管理程式作為開銷,因此結果與預期一致。在裸機伺服器上執行的Kubernetes和容器顯著降低的延遲; 實際上,比在VM上執行Kubernetes時低三倍。此外,與裸機相比,當在VM上執行叢集時,CPU消耗明顯更高。
所有邊緣工作負載都應該在裸機上執行嗎?
雖然資料庫,分析,機器學習演算法和其他資料密集型企業應用程式是在裸機上執行容器的理想選擇,但在VM上執行容器有一些優勢。與裸機環境相比,在VM中可以輕鬆實現開箱即用的功能(例如從一個主機到另一個主機的工作負載運動,在出現任何問題時回滾到先前的配置,軟體升級等)。
因此,如前所述,輕量級且快速啟動/停止的容器非常適合邊緣工作負載。在裸機或VM上執行時總會有一個權衡。
公有云和邊緣工作負載
大多數公有云(包括Microsoft Azure和Amazon)都提供容器即服務(CaaS)。兩者都是建立在現有基礎架構層之上的,基於虛擬機器,從而提供邊緣計算所需的可移植性和靈活性。
AWS還推出了“Greengrass”作為軟體層,將類似雲的功能擴充套件到邊緣,從而實現本地資訊的收集和執行。
讓我們看看它是如何工作的。
Greengrass Group包含兩個元件。第一個是Greengrass核心,用於在本地執行AWS Lambda,訊息傳遞和安全性。第二個是IoT,支援SDK的裝置,透過本地網路與Greengrass核心進行通訊。如果Greengrass核心與雲失去通訊,它仍會保持與本地其他裝置的通訊。
企業採用和所涉及的挑戰
由於容器提供的速度,密度和靈活性,它們是最熱門技術之一。安全性可能會給企業在容器上採用邊緣工作負載帶來障礙。其中兩個主要問題是:
• 拒絕服務:一個應用程式執行時可能會消耗大部分的作業系統資源,從而剝奪了其他應用程式繼續執行所需的最低限度資源,最後迫使作業系統關閉。
• 利用核心:容器共享相同的核心,因此如果攻擊者能夠訪問主機作業系統,他們就可以訪問主機上執行的所有應用程式。
前進之路:最新動態
在基礎設施技術的各種發展中,總部位於紐約的創業公司Hyper正在努力提供VM和容器領域的最佳產品。使用HyperContainers(如Hyper呼叫它),我們看到兩者之間的融合。它提供了容器的速度和靈活性,即能夠在不到一秒的時間內以最小的資源佔用空間啟動例項。同時,它提供VM的安全性和隔離性,即透過硬體強制隔離來防止容器的共享核心問題。
本文來自雲棲社群合作伙伴“SDNLAB”,原文連結:https://yq.aliyun.com/articles/625871?spm=a2c4e.11153940.bloghomeflow.217.204a291arW997Y
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/31137683/viewspace-2212422/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 沙盒化容器:是容器還是虛擬機器虛擬機
- 如何判斷當前主機是物理機還是虛擬機器?虛擬機
- Linux 判定伺服器為物理機還是虛擬機器Linux伺服器虛擬機
- PD虛擬機器好用還是 Virtualbox好用虛擬機
- 虛擬機器、容器和沙箱是什麼關係?虛擬機
- 【從0到1學習邊緣容器系列1】之 邊緣計算與邊緣容器的起源
- 深入理解虛擬機器之虛擬機器類載入機制虛擬機
- vmware 虛擬機器中配置共享裸裝置虛擬機
- 虛擬機器類載入機制虛擬機
- Docker容器和虛擬機器區別Docker虛擬機
- 虛擬機器映象下載虛擬機
- Dalvik虛擬機器、Java虛擬機器與ART虛擬機器虛擬機Java
- 雲端計算和虛擬機器基礎梳理虛擬機
- 網站seo租用伺服器還是虛擬主機網站伺服器
- 邊緣計算|Hadoop——邊緣計算和Hadoop是什麼關係?Hadoop
- java虛擬機器類載入機制Java虛擬機
- Java 虛擬機器類載入機制Java虛擬機
- 邊緣計算?
- VM和Container 虛擬機器和容器AI虛擬機
- Docker,容器,虛擬機器和紅燒肉Docker虛擬機
- 虛擬機器已死,容器才是未來?虛擬機
- 虛擬機器類載入機制:類載入時機虛擬機
- 虛擬機器Ubuntu 掛載硬碟虛擬機Ubuntu硬碟
- Java虛擬機器是什麼?Java虛擬機
- 雲端計算對IT工作者 是挑戰還是機遇?
- 雲端計算發展飛速,虛擬主機還有用嗎?
- 邊緣計算:推動“人-機-物”跨界融合
- java虛擬機器和Dalvik虛擬機器Java虛擬機
- Android 虛擬機器 Vs Java 虛擬機器Android虛擬機Java
- JVM(7)-虛擬機器類載入機制JVM虛擬機
- JVM(五)----虛擬機器類載入機制JVM虛擬機
- Java虛擬機器(六):類載入機制Java虛擬機
- 虛擬機器系列 | JVM類載入機制虛擬機JVM
- Java虛擬機器 —— 類的載入機制Java虛擬機
- 邊緣計算,是在炒概念嗎?
- 虛擬機器虛擬機
- 虛擬機器與容器的混合管理實踐虛擬機
- Java虛擬機器10:類載入器Java虛擬機