雲端科技...的回顧和對 IT 的衝擊!!
如果你是 IT 人員、如果你對資訊科技有所注意,你會注意到一個新的專有名詞的出現,它.....用很簡單的英文去描述。它就叫:"Cloud System"、"Cloud Computing" ,中文翻成 "雲端系統" 或 "雲端運算",也有人就直接叫它:"雲端"。什麼是雲端?
它是從 Google 而提起來的一個專有名稱,但由 MicroSoft 、Micro Trend (就是趨勢科技)、還有 SUN (昇陽)、IBM、Yahoo …等公司都趨之若晤!!! 它到底是什麼東西?! 一種新的技術? 一種新的服務功能? 一種創新的系統架構? 不都不是!!!
回顧我從前提到的 SOA (Service Oriented Architecture 一文 ),http://mypaper.pchome.com.tw/news/chris0426/3/1304695471/20080316202246/ 及如果是我的伙伴或在研討會上聽過我 SOA 初體驗的伙伴,在最後的一段很重要的話:「不是創新的技術」、不是「高不可及的理想」是隨著「使用者對資訊系統的需求」將資訊大量的處理和運算,透過整合的 InterFace 和良好的引用運算架構將「資訊系統和規則埋在系統裡」而提供服務給「系統需求者」,是一種對業務端服務的系統,是一種觀念上的改變,將服務快速而完整的傳達到客戶端,就像是家庭的用水、用電一樣,透過「服務的概念」建制的一套系統。
在大量計算和儲存的環境中,Google 是雲端運算的成功 model ,而 Yahoo 是雲端系統概念的開始應用者,此話怎說? 先將時間由先而後說起,Yahoo 一開始的服務,是利用登錄制度將網站的分類建立在網路伺服器上,透過 Yahoo 的網路分類功能,使用者可以由分類找尋到網址位址,是網路上第一個成功的 Portal WebSite (入口網站) 的典範! 而 Google 是利用 Crawler (網路爬蟲) 及 PageRank 等網站排名的技術 及文字檢索搜尋的能力,將全世界的網路資料,使用 Google 自己的程式對全世界的網站做出資料抓取的動作後進行運算處理,並以簡單的操作介面,讓使用者敲入要搜尋的關鍵字 ( keyword )後,就把 keyword 送往後端的搜尋比對和網站資料的排序(依 PageRank 算法公式),然後用簡單的回傳介面讓使用者可以得到問題的解答。
Yahoo 將未分類的網站,進行結構化分類,使用人工的方式進行精準的分類,將資料經由分類變成了資訊,但這個資訊的量能是被動的,而分類的方式是被限制的;登入網站的說明和關鍵字,是申請登錄者對於網站當時的想法、概念或功能說明 (試想如果是你去登錄你的網站你會怎麼寫),而隨著時間的改變和網站數量的增加,分類的層數愈來愈多,網站的定位性和被定位性在結構化的分類中漸漸不能被滿足了。Google 的搜尋將非結構的網站資料,經由 Crawler 的抓取並且對於資料進行檢索的技術,將網頁以 page 和 website 的方式都進行定義,並且經由強大的「後端運算」和「即時處理、及時回應」的系統能量,進行快速的運算處理和搜尋回應,並且把使用者的 人-機 操作的次數和複雜度降到非常低;從前去 Yahoo 找網站,要先想好網站大概會放在哪一類,這是一種使用者思考和使用者要對系統做猜測的動作,這時候的系統是死板板的分類,也許分類因為國情、年紀和使用者主觀上的不同,而對於分類的認知而有所出入,要被找到的網站也許放在另一個分類裡,而要點進一層又一層的分類中,再透過尤如翻閱電話本一樣去查網址和網站,這是一個網站的入口當初的功能。
然而 Google 的一個網頁,只要敲入關鍵字,把使用者的動作簡化了,只要使用者輕易的敲入要找的「關鍵字」就可以進行搜尋,並因為使用系統人數、網站資訊大量的收集,使 Google 在後端系統(就是使用者看不到的系統背後),將它的搜尋和檢索排序策略進行不斷的演算,而在使用者需要查詢的時候將「關鍵字」送往後端的搜尋和被搜尋到的文章間的 PageRank 值的評價排序後,將使用者想要找的資訊提供;而這個快速處理的技術,需要將相關關鍵字的網站,在被查詢的那一瞬間將建好索引的關鍵字對應和分類排序進行最即時的運算,以最快的系統處理速度處理完畢,回傳給使用者。這一個背後的技術,是透過「分散」、「平行」的運算方式進行,資訊相關科系的學生不漠生的「Distributing System」(分散式系統)、「Distributing Algorithm 」(分散式演算法)、「Distributing File System」(分散式檔案系統)…等,將單一系統因為受限於單一主機的能量(系統即時的運算能力)而將系統處理資料分散開來;而「平行」就是「Parallel System」(平行式系統)、「Parallel Computing」(分散式運算」,就是在同一時間、平行一同的處理一件需要大量運算資源的工作(例如 Google 的使用者查詢的動作) ,將這一個大量運算需求的工作分成一個個較小的工作程序後,交給許多的電腦在同一時間進行運算的工作,再由運算的結果收回到一主機後將結果可以快速的產生出來,平行式運算是為了在 「較短的處理時間」上成為解決方案的選項。
單一主機就算是超級電腦,也會有處理的系統能量上的限制,大型的單一主機成本不低,並且擴充的彈性不如通用而常見的 PC Server 已是現實狀況,而網路上的資料的成長又以數倍在擴大中(相關數據請參閱各國資訊公報或網路上資料),並且相關的技術不只有在 Google 的搜尋,在平行分散式的系統中,有名的 SETI@home (網址)、FightAIDS@Home (網址)....這些都是有名的分散式運算的成就,也就是利用大量的電腦,產生更大的總和系統能量進行運算結果的加速取得(愈多台電腦,運算的成果就愈快出現)。
而什麼是「雲端」,就是將使用者的資料和對結果的需求,放在可以提供服務的系統商那邊,借由系統商建製大批的服務主機群,以分散式系統、平行式運算和儲存等,將資料安全、系統運算處理即時速度…等,以大量的伺服器主機和分散式的空間,進行儲存和運算後,透過這樣的處理能量放置使用者的 圖文、文字、甚至是影音檔案,並且進行資料的處理、傳遞和運算工作。
雲端,可以算是一個行銷上的名稱,是「SaaS」(Software as a service) 的後端系統能力,但這個說法如果只有自限於 Internet 或服務上的導向就失去了大方針了。有廠商將 SaaS 解釋為:「將資料和運算交給我們」,使用者透過網路進行需求的軟體提供;這一個方向的對錯,我不想去做對與錯的判斷,如果是 Google 這樣的公司,他們將全球的資料撈往自己的系統中放置,這是一個極大成本的建制,我們透過 Internet 取用我們所需要的部分就好了。然而,有些話需要跟身為 IT 決策者或主管的提醒,並非所有的 SaaS 都要以外界的資訊系統建制底層,而使用者都要透過網路去存取,如果可以的話資料和運算,為什麼不自己建制,如果自己有足夠的經費和對資料運算的需求,也是業務上可以支持的,也不一定要用別人的雲端來做所有企業核心的事務吧!!! SaaS 有像是在當初 Internet 風潮下的 「ASP」服務,採用軟體租用的方式提供客戶使用線上的軟體系統,並且用「雲端」這個美麗的名詞將其包覆,在「ASP」在全球軟體業導下後又包裝了一個新的「SaaS」,如果單就為企業建制系統外包業務這塊來看,其實是不是毒藥糖衣我不敢妄下定論。隨選服務的概念沒有錯,但為什麼一定要集中在單一服務的提供業者來管理而用租貸軟體服務的方式來進行? Business 有他的獨特性、資料保密性和營運上的性質,並非只是單純的網路安全、資料安全和運算服務的概念去含概而已。這個方面不去討論了,但服務的本質是沒有錯的。
不管這雲端技術是建制在單一業者或各自的業者的 IT 環境中,代表的是什麼? 資料的處理和分析被大量的要求,快速的使用者回應需要被用更快速的方式來處理。單一主機的運算速度不足以滿足使用者對於資訊系統的要求,而需要以「雲端系統」的概念去建制一個系統的 Base ,一切都是為了滿足「業務上」需求 和「資訊系統」服務的概念!!!
Copy Right....如果您想引用本文,請加註此文章的引用網址
著:Chris Lin ( Chris @ Internet ) 2008.11.11
上一篇:驚~~露天拍賣9999萬物件量
下一篇:鏡頭代號的意義