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願意 … 因文章太長, 實在沒功夫去翻譯

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

在〈CLOUD 與 SOA〉中有 1 則留言

  1. 自動引用通知: 網站當機是不可避免的嗎? « 網路誌 :: 數位‧網路‧社群

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *