January 30,2010 14:49
雲端運算的定義
本 著作 係採用創用 CC 姓名標示-非商業性-禁止改作 3.0 台灣 授權條款授權.
現在PTT的Soft_Job版在討論一個話題:到底怎樣的服務才算雲端服務。現在雲端已經變成一個buzz word,似乎只要是網路上的服務都可以叫做雲端服務?我試著整理一下我對雲端的定義,跟大家分享一下。
我覺得大家對於雲端運算最大的誤解是:只要是能歸類到IaaS, PaaS, SaaS的都算是雲端服務的範圍。但我認為不是這樣,我認為:IaaS, PaaS, SaaS是雲端服務表現出來的特徵,但有這些特徵的服務不見得都屬於雲端服務。
我們先看個一個反例。
===================反例開始=====================
有一家便當店,專門提供內含白飯和配菜的便當半成品,讓其他品牌便當業者只要放入主菜,就可以賣給消費者。他們宣稱他們提供的是PaaS便當服務。
後來這家便當業者發現他們常有許多配菜做好了卻沒能用PaaS便當服務賣出去,所以他們又提供IaaS配菜批發服務,來處理剩餘的配菜。
最後這家便當業者利用他們在便當業多年的經驗,提供SaaS外燴服務,客戶只需要描述清楚需求,公司就能搭配出合適的廚師團隊到府服務。
這家便當公司後來更名為雲端餐飲集團,集團口號是:「只要有心,各行各業都可以在雲端」。
| 電腦雲端 | 餐飲雲端 | |
| IaaS | 提供運算資源 | 提供食物資源 |
| PaaS | 提供有基礎建設的平台服務給第三方開發加值應用 | 提供半成本便當製作服務讓第三方能夠只要添加主菜就能販售 |
| SaaS | 將各種使用者常用的功能包裝成服務,使用者自選所需的服務組合 | 使用者提出所需要的餐飲需求,根據需求組成廚師團隊提供服務 |
===================反例結束=====================
有沒有覺得怪怪的,雲端似乎應該不是這樣用的吧。IaaS, PaaS, SaaS不足以框出雲端運算的涵蓋範圍,至少還缺了一個限制條件,而那個限制條件是什麼?
Resource Virtualization(資源虛擬化)!
為什麼需要資源虛擬化?因為
- 有些資源原本有一個最小的購買單位,而大多數消費者的需求量常常會小於這個單位,所以消費者需要多買不需要的資源,對於消費者來說這是種浪費。
- 有些資源會有一個最大的購買單位,有時候會有消費者的需求大於這個最大的購買單位。
資源虛擬化的目標是要打破這個最小/最大單位的藩籬,讓資源能夠以更自由的方式進行切割/重組成虛擬的資源。對於使用者來說,感受到的是針對自己對於資源數量的需求所配置出來的一個虛擬(Virtual)資源,外表看起來跟真實資源無異,但實際上對應到的實際(Actual)資源可能是多個資源切割/重組的結果。
回到之前「雲端餐飲」的例子。「雲端餐飲」之所以不算雲端服務,是因為食物資源沒有虛擬化的必要性。食物資源本身就是一個可自由切割/重組的資源。所以食物資源衍生出的IaaS, PaaS, SaaS都不算雲端服務。
要達到資源虛擬化本身就是一個技術議題,而同時還衍生出Flexibility的議題:同一個使用者的資源需求會改變,可能這個月要5個單位,下個月要100個單位。在資源虛擬化的狀況下,能夠讓系統儘量自動調配實際資源滿足使用者需求的變化嗎?
另外除了面對如同主機代管/資料中心所面對到的實際資源的擴充與管理的議題之外,在資源已經虛擬化的狀況下,能夠在新機器加入時自動處理load balancing嗎?(Scalability)
以上兩個議題(Flexibility, Scalability)可以看出一家號稱擁有雲端技術公司的實力。以Google來說:GMail能提供到最多16TB的儲存空間(Flexibity);他們的運算平台是由大量的commodity PC所組成的,如果scalability不夠好,光是機器的管理成本就足以壓死Google了…
總結一下,將一個有最小/最大購買單位的資源進行虛擬化,是雲端服務的必要條件,資源切割/重組之後可以用IaaS、PaaS、SaaS等方式提供。雲端技術的強弱取決於Flexibility與Scalability的能力。
要判斷一個服務算不算雲端服務,可以看兩個點:
- 此服務背後需要使用哪些資源,這些資源有最小或最大購買單位嗎?
- 使用者可以使用到比最小或最大購買單位更小或更大的資源量嗎?
延伸閱讀:
本 著作 係採用創用 CC 姓名標示-非商業性-禁止改作 3.0 台灣 授權條款授權.