綜觀目前的狀況,雲端運算正在一團雲霧之中,充滿著不確定因素。我認為,先別太快妄想漫步在雲端,太早踏入,小心你一腳踩空。 雲(Cloud)是網路的象徵,所以雲端運算(Cloud Computing)最廣義的解釋就是「網路運算」。這恐怕是目前大家對於雲端運算認知的最大公約數,在這之外,大家對於雲端運算的理解和定義,都不太一樣。這篇文章試圖用最淺顯的方式,向大家說明我所知道的雲端運算。
網路是由許多伺服器所組成,雲端運算的基礎是大量的伺服器。如果只用一部超級電腦當伺服器,一樣可以提供相當大的運算威力,這樣可以算是雲端嗎?恐怕不行。因為雲端運算強調的是「許多」伺服器聯合起來,提供強大的運算能力。只有一部超級電腦或少數幾部電腦,恐怕太薄弱,無法形成雲,充其量只能稱之為「水蒸氣」。
良好的雲端運算架構方式,必須具備規模彈性、容錯、平衡負載。當運算規模增加,雲端需要增加彈性,只要加上新的節點就可以,這樣的能力稱為水平擴充(horizontal scalability)。資料重複(redundancy)存放在不同位置,確保資料安全。讓伺服器之間的負載盡量平衡,免得某些伺服器太忙,某些卻太悠閒。
既然雲端運算是將許多電腦聯合起來提供運算能力,那麼就會用到網格運算技術(grid computing)。以往的網格運算似乎是供專家使用居多,著重在需要複雜運算的「單一任務」,例如基因定序、核爆模擬。但雲端運算則比較偏大眾應用,相當高比例的大眾應用其實不需要進行複雜的運算,但是由於「大眾」相當多,累積起來的運算需求也相當可觀。所以在應用上,雲端運算可以被視為平民化的網格運算。
全文>>