翟本喬:什麼不是雲端運算?

20111012 CRM2 Update》: 翟本喬博士 @ 科學人雜誌 第115期 2011年9月:雲端運算是一種新的資訊資源配置服務方式,它不再「賣」硬體或軟體,而是以「提供服務」的方式來進行。切記.切記:提供服務

Dr Jai said what is not cloud computing
翟本喬博士@科學人201109期:認清雲端運算,切記,提供服務!

20110729 CRM2 Update》: 如果你喜歡這篇,那絕對不要錯過這個影片,把整個影片看完,感受翟本喬博士的話語:相關文章:[影片] 翟本喬:雲端運算的服務理念 (Computex 2011)

台達電雲端技術中心/翟本喬博士

【網路通訊國家型科技計畫簡訊/2011年3月】

雲端運算是最近幾年來很紅的一個話題,全球資訊大廠無不積極投入,國內廠家也不落人後。政府更是將其列為重點產業,通過了「雲端運算產業發展方案」,決定投入五年台幣 240 億元經費,以期創造一兆元之雲端運算產值。然而在這一片人「雲」亦「雲」的風潮下,到底什麼才是雲端運算,很多人都還搞不清楚。好像只要新一點的電腦相關科技就被叫做雲端。以下我們先來討論幾種常見的誤解。

Wrong「我的東西都存在雲端上,手機就是一台thin client」:這 叫 做 remote storage 和 client-server computing,不是雲端運算。你的東西都存在 Internet 上的伺服器上的硬碟或資料庫裡。

Wrong「我們在雲端對話」:像 FaceBook 這一類的互動網站叫作 Web 2.0,早在雲端運算這個名詞出現之前就有了。

Wrong「雲端運算無非就是將所有的資料都送到網路去處理」:這個說法自從李家同教授提出後就引起了許多討論。很多人認為李教授不瞭解雲端運算就妄發議論,但如果去看全文的話,就發現他是在 2009 年 11 月 7 日只是「查了一下雜誌」就得到這個結論,並不是經過了嚴謹的學術研究之後。當時業界對這個題目都還不是很瞭解,更何況是雜誌記者?只不過李教授位高言重,一語驚人,讓大家對雲端運算產生了嚴重的懷疑,直到最近都還有求職的軟體工程師引用他這句話來質疑雲端運算的價值。

Wrong「要做雲端運算要建置大型機房,將電腦集中運用」:雲端運算是要用到大量的電腦,這樣才能更有彈性地調配資源,但這些電腦不必實體上集中在一起。某種程度的集中可以減少建築、配電、空調和管理上的成本,但大到了一定程度之後這種節省的效果就不再出現了,反而要開始擔心如何應付龐大的用電和散熱問題。分散式的配置可以減少某些類型的風險,也可以讓管理更方便。打個比方來說:假設台北到舊金山的航線每週有七班,載客率百分之八十。造一架六倍大的飛機把它們合併成一班,以圖提升載客率到百分之九十二,並不是一個正確的解決方法。最後的結果可能是這架飛機根本飛不起來,或是一次意外就造成慘重的損失。

Wrong「雲端運算使用虛擬化技術快速部署資源或獲得服務,可以提高伺服器使用率」:虛擬化是最近幾年常見的「雲端運算解決方案」,但不是雲端運算的唯一方法。如果沒有雲端運算,虛擬化一樣有它的用途。沒有虛擬化,雲端運算一樣可以辦得到。虛擬化的原理是在一台運算能力足以應付好幾個伺服程式的主機上,裝置一個虛擬平台來同時執行這幾個伺服程式,而以虛擬平台來解決這些伺服程式對系統需求不同或不相容的問題。但如果這些伺服程式對系統需求本來就相同或相容的話,就完全不需要虛擬平台了。自己在家裡裝過家用伺服器的玩家都知道,你的email, FTP, Web, database 和 le server 本來就可以裝在同一台 Linux 的機器上,完全不需要虛擬化。另外如果一個伺服程式已經大到一台伺服器裝不下的時候,更是不需要虛擬化了。像 Google 就完全不採用虛擬化,因為它一個程式就要上千台伺服器才能跑得動。虛擬化之所以盛行,是因為它可以讓使用者包裝一個完整的軟體工作環境,輕鬆地把它搬到不同的伺服器上。當然,方便是有代價的。就像萬用工具和專用工具之間的差別:萬用工具的效率會差一點,價格也會高一點,不過還是比幾個專用工具加起來便宜。

Wrong「我用 Hadoop 來做雲端運算」:2007 年 10 月 8 日 Google 與 IBM 發 佈 合 作 新 聞 稿,要 在美國七所大學教授如何處理大量資料的高速計算技術,基本上使用 Hadoop 作為教材。從此很多人把 Hadoop 和雲端運算劃上了等號,嚴重的甚至 宣 稱 Hadoop 就 是 一 種 PaaS。事 實 上 Hadoop是根據 Google 的 GFS 和 MapReduce 兩種技術開發的一個開放源碼套件,主要功能是穩定地儲存變動性不大的大量資料,以及提供同時啟動大量電腦以批次容錯處理資料的能力。對於某些雲端運算的應用來說,如果剛好有這兩種需求,它是一個不錯的工具。但它的地位比起其他任何工具來說,並沒有太大的特殊之處。大部份的雲端應用程式甚至完全用不到這樣的功能。

Wrong「我的軟體是 SaaS,所以是一種雲端運算」:SaaS 是雲端運算的一種服務模式,並不表示只要是 SaaS 就是雲端運算。SaaS 這個名字比雲端運算早了很多年出現。一般非雲端運算的服務模式也可以是 SaaS。就像房子可以出租,並不表示出租的都是房子。

Wrong「我們建雲端機房」「我們製造雲端伺服器」:機房有雲端沒雲端,長得是一模一樣的。伺服器有雲端沒雲端,長得也是一模一樣的。差別是在於裡面跑的軟體是不是一個雲端系統。如果說原意是:「我們建這個機房來放我們的雲端叢集」「我們製造這些伺服器來跑我們的雲端系統」,那也無可厚非。但如果實際上沒有這種情形就宣稱是雲端機房和雲端伺服器,那就只是趕搭順風車作廣告了。

Wrong「雲端運算使用貨櫃型資料中心」:Google做雲端運算,Google 也做了貨櫃型資料中心。這兩件事情一點關係都沒有。

好,那到底什麼才是雲端運算呢?

在網路上可以看到很多不同的解釋。與其找了一堆不同的說法來比較,再設法判斷誰比較正確,不如直接找最權威的美國國家標準局 (NIST):
http://csrc.nist.gov/groups/SNS/cloud-computing/cloud-def-v15.doc
這份文件自起草後由各界發表評論,已經改到第十五版,在千錘百煉之後於
2009 年 10 月 7 日定案,至今未再改變。定義如下:

Cloud computing is a model for enabling convenient, on-demand network access to a shared pool of con gurable computing resources (e.g., networks, servers, storage, applications, and services) that can be rapidly provisioned and released with minimal management effort or service provider interaction. This cloud model promotes availability and is composed of five essential characteristics, three service models, and four deployment models. ( 下略,請自行參照原文。)

其中的三個 service model (SaaS, PaaS, IaaS) 和四個 deployment model (Private Cloud, Community Cloud, Public Cloud, Hybrid Cloud) 是很多人都耳熟能詳的。但五個基本特徵 (On-demand self-service有需求時自助服務、Broad network access 普遍網路存取、Resource pooling 資源共享、Rapid elasticity 快速彈性佈署、Measured service 服務量測 ) 就很少有人在提了。為什麼呢?

如果一個廠商只做了一個應用軟體、或一台伺服器、或一個貨櫃型資料中心、或只是把一個舊系統重新包裝了一下、換了一個標籤,他告訴你雲端運算的正確定義的話,是不是就自己招認了他做的不是雲端運算?那他怎麼趁別人還搞不清楚的時候大撈一筆呢?怎麼趁政府要發展這個重點產業的時候多要一些經費呢?

雲端運算是一個新的運算模式,新的東西總是會變的。所以今天也許有一個準則可以判定一個東西是雲端運算,而明天這個準則就不靈了。但不管雲端運算怎麼變,有一個很簡單的原則可以判定一個東西不是雲端運算:如果你把一份企劃案上所有的「雲端」兩個字都改成「網路化」、「電子化」、「e化」、或「m化」,而整份企劃案看起來還是一模一樣的話,那它就不是一份雲端運算的企劃案。

這個原則在以後有更新的科技出現時還是通用的,只要把那些新的科技代入「雲端」現在的地位就行了:如果你把一份企劃案上所有的<新科技>都改成<前幾年的新科技>,而整份企劃案看起來還是一模一樣的話,那它就不是一份<新科技>的企劃案。

原文:[PDF] 翟本喬:什麼不是雲端運算?.pdf

相關文章:[影片] 翟本喬:雲端運算的服務理念 (Computex 2011)