繼「雲端計算(Cloud Computing)」之後,近年來又多了一個新的名詞「霧端計算(Fog Computing)」它主要來自於「霧是更貼近地面的雲」這句話。

前幾年喊得火熱的「雲端計算」如今已經是像陽光、空氣、水,存在我們的生活之中。那麼,「霧端計算」和「雲端計算」又有什麼分別呢?

為什麼有了「雲端計算」還會需要有「霧端計算」呢?我們在本文中做個簡單的介紹。

因應物聯網應用需求,於是,從雲端計算衍生出霧端運算

霧端計算這個名詞,最早是由 Cisco公司所提出。在「霧是更貼近地面的雲」這句話裡,「雲」是在高高的天空中,象徵接著位在網路中心的計算資源,代表的是計算資源的集中化。「地面」代表的則是 用戶所處的網路末端,因此,更貼近地面的意思,就是更接近用戶所處的網路末端,「霧」所代表的,便是比「雲」更接近用戶所在網路末端的計算資源。

為什麼我們需要將計算資源,部署在更接近網路末端呢?

有一個很重要的原因,是為了物聯網技術及應用的發展。有愈來愈多的智慧型聯網裝置連接到網路上,在雲端計算的基礎模型下,它們大多只具備非常薄弱的計算能力,因此,必須透過網路從雲端取用相關的計算資源,像是儲存或是計算力。隨著需求量快速的成長,一來是雲端的負擔愈來愈重,畢竟它是一個集中化的資源,二來,雲距離末端比較遠,這些智慧型裝置存取雲端上的資源時,會有較長的延遲時間。

因此,在這些考量之下,有了霧端計算,也就是將計算資源進行某種程度的去中心化,並且部署在更接近用戶的所在。

所以,霧端計算並不是替代雲端計算的角色,而是做為雲端計算的延伸。

基本上,這二者的搭配是將計算資源的分配予以階層化,最上層是雲、中間層是霧、最底層是用戶端的連網裝置。因此,在這種模式底下,原先一律集中在雲端的計算資源,就有一定比例被降到了霧端,當裝置要取用資源時,便就近至霧端取用。

這麼一來,因為霧端更接近地面,因此,存取的速度就快,二來,即使需要頻繁大量的溝通,大量的網路流量也只會散佈在地面與霧之間,不會通通往雲裡丟,降低了雲上的負擔。

以霧端計算的應用場景為例,進一步了解與雲端計算之間的差異

舉個簡單的例子,警察單位開發了路口車牌的監視系統,希望即時接收來自於廣佈於各路口的監視器的影像,並且立即進行車牌辨識的計算,將通過路口的車輛的車牌號碼,即時儲存在資料庫中。這麼一來,便可以即時進行特定車輛的監控,或是事後調閱所指定車輛的移動路線。

以典型雲端計算的方式來發展這樣的系統,可能的實作方式之一,會是將每個路口監視器的即時影像串流都傳送至雲端,由雲端上的計算服務即時的進行車牌辨識的處理,接著,再將時間、地點、車牌號碼予以儲存起來,以介接其他的應用模組。

在這種模式下,所有的影像串流都必須被傳送至雲端,而且,也都在雲端進行車牌辨識的影像分析計算。

可以想見的是,由於影像串流的資料量非常的龐大,雲端服務因此便會耗去可觀的頻寬,同時集中在一起。再者,車牌辨識所需的算力,也都會集中在雲端,這讓雲端的負荷不輕。

上述的應用,若是改以霧端計算的模式來輔助,則可以想像有些計算裝置會被部署在更接近路口監視器,也就是地面的「霧端」。

而這些「霧端」裝置的作用,就是接收來自於路口監視器的影像資料,同時即時辨識出車牌號碼。在辨識出車牌號碼之後,再將所辨識得出的車牌號碼送至雲端,進行記錄及後續的處理。

藉由霧端裝置的搭配,能夠改變原本過於集中至雲端處理的模式

而基於這樣的設計架構,我們其實可以得到一些好處。

首先,原先傳輸至雲端的大量影像串流資料,只需要從路口監視器傳輸至霧端了,使得大部分的流量被區域化了。

由於雲端上的頻寬成本,不論從實際上購買的價格,或是因為集中化所產生的代價,其實,都比霧端高很多。除了流量被區域化,之後,因為車牌辨識的計算也從雲降至霧,計算也去中心化了,所以,這能夠大幅降低雲上的負擔。

從上述的例子不難看出,霧端計算試圖將計算資源做新的調配,將原先部署在雲端的計算資源,降低其高度至霧上,藉由將原本較為中心化的計算模式,達到某種程度的階層化、去中心化,因而得到這些好處。

兩者都包含了集中化和分散化的特性

從人類發明了電腦以來,計算的模型,就一直在集中化和分散化之間擺盪,不過,集中和分散其實只是程度的差別。從最早的大型電腦到個人電腦,從高度集中的計算到分散式的計算。以雲端計算為例,它在概念上是集中,但是在雲端之上本身又是分散式計算,充滿了數量龐大的伺服器,而且,構成了龐大的計算資源以供取用。

曾經一度,點對點(Peer-to-Peer)的計算模式也曾大行其道,人們試圖將所有的計算力,分散到更大量的計算裝置上,而在那之後,趨勢才又擺回了雲端計算。

雲端計算雖說是集中化,但也已經不是高度集中,它是集中裡有分散。

因此,我們也可以說,霧端計算是分散裡有集中。在大量分散化的智慧型物聯網裝置之上,部署較為集中化的霧端裝置。但霧端相較於雲端而言,又顯得分散多了。

從計算資源的充沛程度來看,雲端因為最集中,因此計算資源最豐富,不論是計算力、儲存空間或是頻寬。相對而言,霧端較弱,但因為數量遠多於部署在雲端的伺服器,因此,組合在一起也能提供可觀的計算資源,再加上位處接近用戶的所在,更能收地利之便,這些也便是引入霧端計算概念後,所能得到的好處。

隨著技術的發展,現在即使是末端的計算裝置,所擁有的計算資源都遠勝過去。一具小小的智慧型手機,其計算力也都遠遠超過昔日的個人電腦。同時,集中和分散的擺錘,還是在繼續的擺盪著,只是愈來愈靠中間,就像雲端是集中裡有分散,而霧端是分散裡有集中一般。

隨著計算裝置的更多樣化,有著不同程度資源的裝置,部署在網路的不同位置上,人們會透過適當的調配不同裝置的角色,來使得應用系統取得更佳的表現。

近來區塊鏈(Blockchain)的技術深受矚目,一心一意要達到全然的去中心化。在計算模型的歷史發展上,目前又有擺向分散化的趨勢。但未來的真實世界也一定是不斷混搭著各種集中和分散的元素,依據需求來決定分散及集中的組成及程度。

在接下來幾年裡,以雲端計算搭配霧端計算的模式很有可能會開始普及,並且帶來高度的影響及大幅的改變。以霧來搭配雲,日後不僅要騰雲,更要駕霧。

作者簡介


Advertisement

更多 iThome相關內容