2009年11月6日星期五

CLOUD 與 SOA



什麼是雲端運算(Cloud Computing)? 什麼是SOA(Service-Oriented Architecture)? 雲端運算跟網格運算(Grid Computing)又有何關係? 這些跟Web Services又有何關聯? 這麼多東西到底在說些什麼趨勢?

ZDNET的文章"李開復看雲端服務市場:值得投資", 到底投資在雲端運算是啥意思?

李開復先生說: 雲端服務市場的商機很大,是網際網路與軟體等兩個產業的加總 ... 其實應該說跟「網際網路」、「軟體」、「硬體」、「內容」、「服務」都有關係

也就是說雲端服務市場的商機在於利用「網際網路」架構下, 如何透過先進的「軟體」、「硬體」組合把「內容」提供給客戶的「服務」, 所以只要投資在這個架構下的環節中都深具未來性

在CNET的這篇文章"Cloud Computing 雲端運算"指出:
其實 cloud computing 在概念上跟 grid computing 並沒有非常嚴格的區隔或是很大的不同,兩者均可看成是 distributed computing (分散式運算) 衍伸出來的概念。

大致上對於一般人來說, 沒太大問題, 但是就技術人員來說, 中間有些觀點可以再釐清

IBM的文章"Cloud computing versus grid computing"說到:
To get cloud computing to work, you need three things: thin clients (or clients with a thick-thin switch), grid computing, and utility computing. Grid computing links disparate computers to form one large infrastructure, harnessing unused resources. Utility computing is paying for what you use on shared servers like you pay for a public utility (such as electricity, gas, and so on).

所以說Grid Computing是Cloud Computing的一環似乎比較適當, 也就是說你可以認為Google或Amazon提供的Web Services是Cloud Computing, 但不能說他們提供的是Grid Computing, 因為只是part-of

雲端運算(Cloud Computing)的定義應該是什麼呢? 這個Cloud其實就是指Internet, 也就是一個特定功能的Internet Computing, 因此雲端運算(Cloud Computing)的定義是:

凡是透過網際網路提供應用服務,讓使用者透過瀏覽器就能使用,不需要了解伺服器在哪裡,內部如何運作,都被稱為雲端運算的服務,背後的技術也概稱為雲端運算

這個定義是由"各方跟進Google推廣雲端服務,但定義不同"而來, 算是比較白話易懂的定義

但是如果你問: 那我在網路上架了一個論壇服務, 算不算"雲端服務"? 當然不算是, 也許背後是雲端服務的hosting, 但論壇服務本身不是"雲端服務"

所以以上的白話定義有必要再說明清楚

凡是透過網際網路提供應用服務,而這個服務架構應用了Grid Computing、Utility Computing、SOA等概念,讓使用者透過瀏覽器就能使用,不需要了解伺服器在哪裡,內部如何運作,都被稱為雲端運算的服務,背後的技術也概稱為雲端運算


所以雲端運算(Cloud Computing)必須使用特定的架構才算, 而非以上的白話定義下的內容

所以我們只需要再瞭解Grid Computing、Utility Computing、SOA, 就可以瞭解雲端運算(Cloud Computing)

雲端運算(Cloud Computing)要服務廣大的用戶, 需要超強的軟硬體跟服務的規劃, Grid Computing使用internet protocol將硬體串起來, 讓這些硬體資源可以共同或個別處理要求, 這些資源是distributed(分散的)、clustered(叢集的)、scalable(可擴展的)、multi-tasked(多工的)、collaborative(協同的)... 也就是在Grid Computing架構中的個體可以單獨工作, 也可以一起做一件事情

但光是Grid Computing是不夠的, 你還需要utility computing(公用運算)讓這個服務可以計費及方便簡單使用, 真正讓使用者能夠plug-n-play(隨插即用)

除此之外, 使用者需要的服務千變萬化, 系統不能硬梆梆的使用傳統的程式概念來建立, 因此必須以服務(Service)觀點來切割成最適當的服務片段, 如某甲需要的是A+B+C, 但是某乙需要的是C+D+E, 但某丙需要的是D+E+part-of-A ... 這時A就必須變成A1, A2 ... 讓某丙也能滿足, SOA(Service Oriented Architecture服務導向架構)就如堆積木般的架起了整個服務

SOA也如Grid Computing只是一個架構概念, 其中可以實現SOA的就是Web Services, 其他方式還有COBRA, DCOM ...等, 礙於篇幅, SOA的內容我們另文再說了

所以使用UDDI/WSDL/XML/SOAP等技術的Web Servies就是SOA的其一型態, 也是目前大多被採用的型態, 其他的COBRA/DCOM也都支援相容性

所以Grid Computing、Utility Computing、SOA這些概念就形成了Cloud Computing

因此常看到有人說Cloud Computing已經取代SOA, 或取代了Web Services, 或取代了Grid Computing ... 都是只見樹而不見林, 在Cloud這朵大雲之下, 你可以使用各種不同的技術, 但是都是類似的概念

Cloud Computing到底長得如何? 我們的資料在Cloud下安全嗎? CNN記者John D. Sutter也有同樣的疑問, 這篇"A trip into the secret, online 'cloud'"就說明了目前企業大多都不太願意公開Cloud Computing的真正樣貌, 連CNN記者都被Amazon與Google拒絕參觀, 最後只有IBM願意 ... 因文章太長, 實在沒功夫去翻譯

以上整理了相關的資料, 如有錯誤, 希望可以多多討論交流 ...

標籤: , ,

加入書籤 :

其他書籤 :

3 個意見:

2009年11月6日下午8:10 , Anonymous 匿名 提到...

所以Web Servies就不一定是cloud computing? 還是一定是cloud computing?

 
2009年11月7日下午11:15 , Anonymous 匿名 提到...

李家同在聯合報的文章 - 原來,我早就在「雲端」,就是很典型對於雲端的誤解

遠端不是雲端,使用Internet也未必是雲端
當然web services也未必是雲端,只是大多的大型web services都以雲端運算方式,因為如果不以雲端運算來架構,很難有效率的提供web services

 
2009年11月7日下午11:21 , Anonymous 匿名 提到...

把李家同教授的文章PO出來提供參考.....所以不是教授就什麼都懂的

---------------------------------
原來,我早就在「雲端」

【聯合報╱李家同/暨南、清華、靜宜大學榮譽教授(新竹市)】 2009.11.07 03:35 am


最近看到媒體大肆討論「雲端計算」,我這個土包子不知道何謂雲端科技,所以就查了一下雜誌,發現所謂雲端科技,無非就是將所有的資料都送到網路去處理。我鬆了一口氣,知道我不但不是土包子,而且是一個先知先覺者,因為在民國九十一年就已經將資料一概都儲存到位在遠處的電腦裡。

我的一位高足發展了一套軟體,有了這套軟體,不僅我的論文全部放在遠處,我的所有學生一旦研究結果出來了,也會將報告送進這個系統,我在任何一個地方,都能隨時進入這個系統,查看學生的成果,也能修改學生和我合寫的論文,如果我的學生正在寫他的論文,不希望有人干擾,可以將文件鎖住,一旦文件被鎖住,任何人都只能看這分文件,而不能作任何修改。我如開始修改,也一定會將文件鎖住。我曾利用這個系統,和好幾位教授合寫過兩本書,每位教授修改的時候,其他的教授都只有等。

有一次,我看到一則新聞,某所大學的一間研究室遭竊,小偷偷走了所有電腦,那些研究生呼天搶地地苦苦哀求小偷開恩,他們並未要求小偷歸還電腦,只要求將電腦裡的資料還給他們。這些學生真可憐,如同生在石器時代。我的學生絕不會擔心這種事,有時他們的電腦中了毒,完全垮掉了,他們也不會在乎,因為資科都保存在那個系統中。

我學生的全部論文以及演講投影片,全部都保存在系統中。每篇論文,一旦修改而上傳,上一個版本就留了下來。萬一傳輸發生問題,還可以用舊一期的版本。

我雖然幾乎每天都要處理各種資料,也必須到各地去,我也從不帶電腦,到時只要能夠上網,我就可以輕鬆地獲得我要的資料。每次演講,投影片都事先寄去演講的地方。有時出了差錯,上網就可取得了我的演講投影片。

用這種系統的人很多,有很多企業也用這個系統,大老闆即使在國外,也可隨時隨地知道公司的狀況,也可以發出指令。

坦白說,大家忽然大談雲端計算,好像這是一件非常奇特的想法,但我擔心的是:政府可能會以為唯有和外國大公司聯絡,才可以發展這種技術,其實最重要的是,應該大力獎勵我國已經有這種技術的公司。既然談雲端計算,就一定要有雄心壯志,發展更普及的寬頻網路到家,自己的中央處理器、電腦、作業系統,以及網頁瀏覽器,我們的野心應該是從此擺脫對外國的依賴,可是如果政府根本不知道我們已經有相當不錯的系統,那就沒有什麼戲唱了。

 

張貼意見

<< 首頁