《雲計算:大數據時代的系統工程(修訂版)》是2016年5月電子工業出版社出版的圖書,作者是姚宏宇、田溯寧。
基本介紹
- 書名:雲計算:大數據時代的系統工程(修訂版)
- 作者:姚宏宇、田溯寧
- ISBN:978-7-121-28303-1
- 頁數:228
- 定價:45.00元
- 出版社:電子工業出版社
- 出版時間:2016年5月
- 開本:16
內容簡介,編輯推薦,內容提要,目錄,精彩節摘,作者簡介,前言,
內容簡介
在網際網路帶來的“大”問題壓力下,我們需要全新的思想,通過“積木化”的改變,來重新定義計算資源的使用方式、服務的提供方式,以及社會化大生產的協作過程。雲計算帶來了這種思想的落實機制,這種機制使我們可以組織資源以服務,組織技術以實現,組織流程以應變。而且,雲計算擴大了我們對服務的定義,並帶來了一個全新的計算資源管理思路,一種信息技術的系統工程理念和一次信息社會的工業化革命。與此同時,大數據的發展為雲計算提供了重要的套用場景,雲計算與大數據之間的關係,以及如何藉助雲計算平台的優勢,更有效地從大數據中發掘出各種價值也正在成為人們關心的焦點。
《雲計算:大數據時代的系統工程(修訂版)》以簡單平實的語言,將這些思考一一展現給讀者,並結合作者多年的實踐經驗,對雲計算涉及的概念、技術,以及將給我們的生活和社會帶來的影響等各方面進行了闡述,從一種全新的視角展現了雲計算的魅力。
編輯推薦
大數據的發展為雲計算提供了重要的套用場景,雲計算與大數據之間的關係,以及如何藉助雲計算平台的優勢,更有效地從大數據中發掘出各種價值也正在成為人們關心的焦點。
內容提要
在網際網路帶來的“大”問題壓力下,我們需要全新的思想,通過“積木化”的改變,來重新定義計算資源的使用方式、服務的提供方式,以及社會化大生產的協作過程。雲計算帶來了這種思想的落實機制,這種機制使我們可以組織資源以服務,組織技術以實現,組織流程以應變。而且,雲計算擴大了我們對服務的定義,並帶來了一個全新的計算資源管理思路,一種信息技術的系統工程理念和一次信息社會的工業化革命。與此同時,大數據的發展為雲計算提供了重要的套用場景,雲計算與大數據之間的關係,以及如何藉助雲計算平台的優勢,更有效地從大數據中發掘出各種價值也正在成為人們關心的焦點。
《雲計算:大數據時代的系統工程(修訂版)》以簡單平實的語言,將這些思考一一展現給讀者,並結合作者多年的實踐經驗,對雲計算涉及的概念、技術,以及將給我們的生活和社會帶來的影響等各方面進行了闡述,從一種全新的視角展現了雲計算的魅力。
目錄
再版序 / VII
序言一 倪光南 走向雲的世界 / X
序言二 王文京 上兵伐謀 / XIII
自 序 / XV
前 言 什麼是雲計算 / XVIII
第一章 信息需求的新菜譜 / 1
“不成功”的產品 / 2
“成功”的新套用 / 4
分合向前的IT變革 / 6
新經濟的特點 / 10
網際網路下的“大”壓力 / 11
雲計算的生態系統 / 15
創新的新菜譜 / 18
第二章 一切皆可為服務 / 21
傳統軟體的“終結者” / 22
SaaS、PaaS和IaaS / 23
區別和聯繫 / 33
網際網路服務的新方向 / 34
新服務的潛力 / 36
第三章 雲計算之辯 / 39
完整的雲計算定義 / 40
與雲計算有關的技術 / 43
雲計算並非萬能靈藥 / 54
第四章 信息技術的系統工程 / 59
集中力量辦大事 / 60
彈性:螞蟻雄兵 / 62
透明:沙地建樓 / 69
積木化:積木重組 / 75
第五章 信息系統架構的轉變 / 79
豎井式的企業信息系統 / 80
日趨完善的系統需求 / 84
全新的信息系統架構 / 87
新型企業信息系統模組介紹 / 91
典型業務套用示例 / 99
第六章 大數據的發動機 / 103
大數據“引擎” / 104
城市的“智慧” / 107
統一數據支撐平台(雲資料庫) / 112
統一運行支撐平台(網路虛擬機) / 122
第七章 商業變革的催化劑 / 129
零售企業的流程再造 / 130
雲計算推動企業變革 / 135
IT資源使用的新方式 / 137
業務整合的新平台 / 140
向“服務”轉型的新思路 / 142
創新增長的新動力 / 144
第八章 信息社會的工業革命 / 147
解放信息生產力 / 148
雲計算改變信息生活 / 151
雲計算推動社會變革 / 156
第九章 雲計算是誰的機會 / 163
中國的私有雲發展更快 / 164
數據中心應“行業”集中 / 169
中國企業的“雲”機會 / 171
中國“雲”企業的機遇和挑戰 / 175
尾語 成長中的雲計算 / 179
引用資料 / 185
精彩節摘
再版序
雲計算的發展如此之快,既在情理之中,又有些超乎我的意料之外。
作為一種以“系統工程”的思路來解決“大”問題的信息技術,雲計算滿足了政府和企業等各類組織應對“大用戶”、“大數據”和“大系統”所帶來的壓力問題,並且使組織能最大程度發揮信息系統資源和能力的價值,從而具備更多的創新可能性,所以雲計算發展在情理之中。
超出意料之外的主要是雲計算的發展速度。從目前來看,雲計算已經跨過能否落地以及如何落地的市場培育期,成為了IT產業發展的戰略重點,並逐漸成為現代信息和通信技術發展的承載基礎。
首先,全球IT公司紛紛向雲計算轉型,並通過各種技術或業務形式,來將雲計算的能力具體化或場景化,比如“軟體定義”、“融合架構”、“容器”技術等, 這些新概念的快速普及,一方面進一步凸顯了雲計算的“彈性”、“透明”、“結構 化”和“動態”等特點,以幫助用戶更好地管理資源、調度資源;另一方面使用戶對雲計算的使用變得自然和簡單,有了更具體的套用場景。
其次,套用場景進一步明確。智慧城市建設的快速進行,以及“網際網路+”對行 業信息化升級的促進,都加快了政府和企業的“入雲”步伐;針對於特定行業的解決方案開始豐富化。在這個過程中,雲計算產業的規模也保持了高速增長,整個信息和 通信產業的格局正在重新洗牌,合併、收購案例層出不窮,如書中所說,“對於芯 片、硬體、軟體、終端等企業來說,都不失為一次重寫市場格局的良機”。
現在,大數據已經成為雲計算最重要的套用場景。隨著社會經濟、技術的高速發展,人與物、物與物、人與人、政府部門及部門等之間的聯繫也變得越來越密切,這種在“全聯接”狀態下所產生的大數據的存儲、管理和利用問題,都為雲計算的能力優勢找到了更多樣化的出口;而雲計算技術的快速發展,也為物聯網、移動網際網路和大數據的發展,提供了有力的支撐——基於隨時可用的雲計算資源而進行的創 新正在呈現出大爆發的跡象,雲計算真的正在帶來一場信息社會的工業革命。
因此,在修訂版中,我們特意加入了“大數據的發動機”這一章,以統一數據支撐平台和統一運行支撐平台雙引擎的概念,重新解讀企業信息系統架構的問題,看看我們能夠如何在雲計算的幫助下讓大數據落地,發掘出各種價值。
當然,我們也希望這些內容能幫助讀者對雲計算和大數據的關係有更多的認識:如果說大數據是一座蘊含巨大價值的礦藏,那么雲計算就是採礦作業的得力工具,沒有雲計算的強大能力,大數據的信息沉澱再豐富,我們或許也只能望洋興嘆,入寶山而空手回;但從另外的角度說,雲計算也是為了解決大數據等“大”問題所發展而來的技術趨勢,沒有大數據的信息沉澱,雲計算的功用也將得不到完全發揮。從整體上看,大數據與雲計算是兩個相輔相成的概念。
此外,在第一版中已經說到,雖然大量的數據中心建設為雲計算的發展提供了堅實的硬體基礎,但如果考慮最終的使用問題,公有雲服務還是應該以套用和服務的落實為方向。並且由於初期的信息化建設已經滿足了企業的通用需求,所以在升級至雲計算服務時,企業往往不會採用一些標準化的解決方案,而會提出更具體的要求,所以一些之前在行業套用市場裡有更多積累的傳統企業,可能會慢慢進入這個市場。
從現在來看,這些情況都已經出現。 首先,公有雲中針對行業的解決方案越來越多,而且越來越多的公有雲服務商
開始開放接口,通過打造一個開放的生態系統吸引第三方進入,來豐富平台所能提供
的服務;其次,傳統行業軟體提供商也在進入市場,不是慢慢進入,而是被整個行業趨勢推動著奔跑加入這個市場,以儘可能在整個變革過程中保持自己的市場競爭力和地位。
總而言之,雲計算以如此迅猛的速度發展,確實有些出乎我的意料,但作為參與到其中的一份子,我又欣喜於整個行業所取得的進步。當然如之前所說,我們還在不斷摸索和深化對雲計算的理解,希望在不久的將來,雲計算所提供的強大能力和便捷的資源使用方式,能更好地改善人們的信息化生活,促進整個社會的創新和變革。
著者
2016年3月
自序
“雲計算”一詞出現之後,市場上出現不少有關雲計算的著作和說辭,許多都 給人以啟示,但也有一些說法中存在值得商榷之處。在本書中,筆者希望能將自己對雲計算的理解分享出來,拋磚引玉,使大家能對雲計算有一個較為全面的認知。
本書的初衷在於向對雲計算感興趣的讀者介紹完整的雲計算概念和雲計算的發展現狀,並與業內人士探討有關雲計算發展可能性的思考,所以本書在寫作過程中更多著力觀點闡述而非技術說明,力爭以通俗的語言展現雲計算的全貌,而且在介紹一些方法和技術時並未對其理論基礎做進一步說明,讀者如有興趣可通過本書所附參考 書目信息或其他途徑進行深入了解。
全書共分九章。
第一章從需求的角度講述了雲計算出現和發展的背景,表明雲計算的出現和普及,是網際網路快速發展之下人們對信息生產工具不斷變革的要求。
第二章和第三章著眼於對現有雲計算概念和觀點的梳理。其中,第二章對現在常見的三種雲計算服務模式(SaaS、PaaS和IaaS)進行了解讀,並說明雲計算服務有 別於早期的網際網路服務,形成了自己特有的商業模式,“一切皆可為服務”。第三 章對現在一些常見的有關雲計算的概念和觀點進行了解讀和分析,指出雲計算包含“服務”和“平台”兩種概念,並幫助讀者釐清常見技術與雲計算之間的關係。
第四章提供了一種新的從底層平台來了解雲計算的視角,通過對雲計算平台的“彈性、透明、積木化、動態、通用和多租賃”這六大核心技術思想進行說明,闡述了雲計算平台如何以“系統工程”的思路來解決“大”問題。
第五章在分析現有的企業信息系統所面臨的問題的基礎上,給出了一種基於雲計算平台的新型企業信息系統架構,並對信息系統架構的套用環境進行了舉例 說明。
第六章以統一數據支撐平台和統一運行支撐平台雙引擎的概念,重新解讀了企業信息系統架構的問題。並以智慧城市的建設舉例,指出大數據不是某種東西,而是一種數據生產力,而藉助雲計算平台的優勢,我們可以更有效地從大數據中發掘出各 種價值。
第七章和第八章分別從商業、生活和社會的角度,論述雲計算已經和將會帶來的影響和改變。
第九章則對中國和美國的雲計算發展現狀進行了比較,並嘗試探討雲計算對於中國企業的機遇和意義。
本書期望能通過這些內容的討論,闡明以下觀點。 首先,雲計算並不神秘,但也並非只是市場宣傳噱頭。無論是國內還是國外,雲計算均早已落地使用,影響也在不斷擴大,其可能產生的意義更是為人們勾勒出一個美好的“雲”時代的遠景。從實用主義的創始人、美國哲學家皮爾士的觀點來看,科學的方法要求我們不僅說出我們所相信的真理,還要說出我們是如何達到它的。雲計算不僅為我們描繪了技術發展可能給社會帶來的改變,還給出了實現這種變 革的科學方法,即根據上層套用需求的不同,以一種靈活可靠的組織機制,通過對底層資源和業務模組進行調度和重組來實現系統平台結構的轉變,從而重新定義資源的使用方式和服務的提供方式。因此,無論是在套用層面還是技術層面,雲計算都絕非 “忽悠”。
其次,雲計算市場前景廣闊,但發展仍需各方努力推進。現在企業所需面對的用戶和數據與日俱增,即便是一個小企業,它所面臨的業務系統的並發訪問流量、數 據存儲和管理壓力或者系統架構的複雜度,都可能遠超過去的大型企業,這些“大用戶、大數據和大系統”問題的日益凸顯,為雲計算的發展提供了廣袤的土壤。物聯網、移動網際網路等技術的快速發展,也在不斷催生新的雲計算套用市場,由此可以預期雲計算發展的光明前景。但我們也應意識到雲計算市場的成熟是一個循序漸進的過程,除技術的發展之外,人們思維方式的轉變速度很大程度上決定了這個過程的快慢。因此,產業鏈上的各方應著眼於未來,努力做好現在,一方面推出具有吸引力的 服務和產品,另一方面,需要人們思維的轉變和社會誠信體系的快速完善。面對問題,我們應該多些耐心。
再次,雲計算不一定能解決所有問題。雲計算的發展始終以市場需求為導向, 這決定了雲計算與其他技術一樣,有其合理的適用領域。因此在某些情況下,採用其他技術對於用戶而言或許是更好的選擇。本書在第三章簡單列舉了幾種不適合使用雲計算的情況,以供探討。
非常感謝倪光南院士和王文京先生於百忙之中通讀全稿,提出寶貴意見,並為本書作序。感謝陳志偉先生為本書成稿提供的大力支持,他在內容組織和編輯上所提 供的幫助使本書以更好的形式呈現給大家。另外,還要感謝姚劍先生和張矩先生在本書成稿過程中提供的寶貴意見和行文素材,也非常感謝蘇晣女士,楊力先生和楊苓女士的專業坦率的建議,他們的指導為本書的創作提供了很大的幫助。最後,邱文嫻女士等人為本書做了很多資料整理和文字校對工作,在此不一一列舉,但同樣致以我的謝意!
本書在寫作過程中參閱了國內外諸多文獻和研究專著,並引用了一些公司和相關人士的觀點,在此向他們表示感謝。
本書觀點主要源自我們長期以來的業務實踐和思考,一家之言難免有失偏頗, 書中如有錯誤和不當之處,歡迎讀者批評指正。
著者
2016年1月
作者簡介
姚宏宇,美國威斯康辛大學麥迪遜分校博士,有多年在矽谷從事大規模企業軟體和網際網路技術的研究、開發和管理工作的經歷,現為友友系統公司CEO,中國電子學會雲計算專家委員會委員,國家特聘專家,併入選中組部千人計畫。
田溯寧,美國德州理工大學博士,中國著名企業家,北京“雲基地”創始人,現為中國寬頻資本基金董事長,並擔任萬事達國際組織獨立董事,聯想集團獨立非執行董事,哈佛商學院顧問委員會委員等職。
田溯寧,美國德州理工大學博士,中國著名企業家,北京“雲基地”創始人,現為中國寬頻資本基金董事長,並擔任萬事達國際組織獨立董事,聯想集團獨立非執行董事,哈佛商學院顧問委員會委員等職。
前言
什麼是雲計算
很多人覺得雲計算應該是個具體的事物,所以初聽到雲計算時,總會先問一 句:“什麼是雲計算?”
什麼是雲計算?問的人輕鬆,回答的人卻很費力,仿佛描繪一種味覺,感覺強 烈,卻不知如何抓住要領呈給面前的人看個仔細。倘若盡心給出一種解釋,或畫出一 張架構圖,聽眾可能還是一臉茫然,回答的人多半會急得皺眉跳腳,也有人會撂下一 句:“你記得是IaaS、PaaS和SaaS即可”。
話雖好說,理卻難明。即使聽懂了解釋,還是有許多人會不知道“雲計算”緣 何而來,用於何處。
1. “雲計算”一詞最早被大範圍的傳播應該是在2006年。2006年8月,在聖何塞舉
辦的SES(搜尋引擎戰略)大會上,谷歌的CEO施密特(Eric Schmidt)在回答主持人提出的一個有關網際網路的問題時說:“……現在出現了一種新的商業模式……人們還沒有意識到這個機遇有多大。這種模式的前提是,數據服務的架構應該在他們稱為‘雲計算’的伺服器上,即在某處的雲里,如果你有合適的瀏覽器或接入方式,那么不論你有什麼設備,你都可以訪問這些數據。”
很多人認為雲計算自此出現,因為從此之後各種有關雲計算的概念層出不窮,“雲計算”開始流行。
但2006年出現的只是“雲計算”這個詞,仿佛一個幕後工作人員忽然被主持人介紹到台前拿了獎,在媒體長篇累牘的報導下,一夜成名。而實際上,雲計算本身無論是商業模式還是技術都已經發展了很長時間,並在實踐的過程中逐步演進。在2006年時,雲計算本身未必發生質變,但既然人們對雲計算的認知發生了質變,所以將其理論化、體系化勢在必行。德國政治學家伊莉莎白·諾艾爾-諾依曼(Elisabeth Noelle-Neumann)提出過一種“沉默的螺旋”(Spiral of Silence)的理論,認為人們在表達想法和觀點的時候,如果覺得自己的觀點是公眾中的少數派,就不願意傳播自己的看法,但如果看到自己贊同的觀點受到廣泛歡迎,就會樂於公開表示自己的觀點 或態度。這樣,多數派的聲音會越來越大,形成一種螺旋式上升的模式。雲計算概念的忽然興起或許就與此相仿。
雖然谷歌為雲計算命名,但真正明確雲計算商業模式的是亞馬遜。在施密特態 度鮮明地提出“雲計算”這個詞的幾個星期之後,亞馬遜推出了EC2(動態計算雲) 服務,將“雲”這個名詞包含在內。
亞馬遜是個神奇的公司,銷售包括圖書、DVD、電腦、軟體、電視遊戲、電子 產品、衣服、家具、計算資源等一切適合電子商務的“商品”。在推出EC2的時候, 亞馬遜也面臨不少“這個零售商為什麼想做這些”的質疑,但CEO貝索斯對商業的 概念理解明顯要寬泛很多。貝索斯無疑認為不管是“PC+軟體”,還是這種從“雲” 里取得服務的方式,不僅關乎技術的問題,還都是一種“商業模式”。
最早時,為了讓網站能支持大規模的業務,亞馬遜在基礎設施建設上花了很大功夫,自然也積累了很多經驗。為了將平時閒置的大量的計算資源也作為商品出售,貝索斯的亞馬遜公司先後推出了S3(簡單存儲服務)和EC2等存儲、計算租用服務。貝索斯表示,“我們認為在某一天這也會是一項非常有意思的業務,所以我們這么做的目的很簡單:我們認為這是個好業務。”雖然媒體認為這是貝索斯安全度過網際網路泡沫之後的一筆冒險賭注,“亞馬遜的CEO想要用他網站背後的技術來運行你的業務,但華爾街只想他看好自己的店面。”但EC2確實影響了整個行業,也影響了很多人,當時業界明顯受到了震動。
在亞馬遜之前,雖然有不少服務按現在來看都有雲計算服務的特徵,但即使是谷 歌所提供的服務,仍然可以看做是網際網路服務意義內的一種商業模式。而亞馬遜推出 IaaS(基礎設施即服務)之後,仿佛給網際網路世界開了一扇窗,告訴人們,還可以這樣來運營計算資源,還有一種新的商業模式,叫雲計算。而那些與傳統網際網路服務形似神離的服務模式,也終於可以獨立出來,找到自己歸屬的陣地——雲計算服務。
2. 雲計算起源於網際網路公司。雖然網際網路公司給人的印象大多是錢多燒不完,但其實多數網際網路公司都很注重成本控制。
尤其是早期不少網際網路公司都起源於學生宿舍,費用的掣肘使這些公司儘可能合理地利用每一個硬體,最大程度地發揮機器的性能。所以早期的網際網路公司都會自己選主機板、硬碟等配件,然後進行組裝,完成伺服器硬體的設計。這種傳統沿襲下來,就是現在硬體定製化日趨流行的原因。如今谷歌、Facebook都會自己動手設計和生產伺服器,以最少的配件最大可能地支持特定功能需求,並降低伺服器的能耗。
對於矽谷工程師而言,超級家電連鎖店Fry's或許是最值得逛的“購物天堂”。矽谷有不少Fry's的連鎖店,由於Fry's占地面積很大,東西齊全且便宜,理論上一個技術人員可以在這裡買到所有的零配件,然後組裝一個主機板,所以這裡很受工程師的歡迎。雅虎的工程師們也曾是Fry's的常客。
2000年,網際網路經濟處於第一波熱潮中。這時全球網際網路用戶人數已經從1995 年的幾千萬增至數億,並仍在不斷快速增長。快速增長的用戶數量,使許多網站感受到了系統支撐的壓力。當時雅虎經常面臨的一個問題是,一個頻道設計完成之後,在上線之前測試可支撐一定數量的用戶(比如10萬人),但第二天一上線就出現達到指標的情況。怎么辦?只有增加設備,儘可能提高系統對服務的支撐能力,因此即刻購買設備然後連夜組裝機器的情形並不少見。到Fry's選買配件是不少工程師的工作內容之一,當然也是樂趣之一。雅虎的共同創始人之一大衛·菲洛(David Filo)至今還喜歡組裝機器,不知道是不是一種習慣使然。
為了支撐業務運轉,滿足用戶需求,伺服器的整體性能在不斷上升,相應地,伺服器的數量也在不斷增加。這很自然會引出一個問題,數十台機器可以手動組裝維護,上千台甚至上萬台機器該如何處理?人能管理的機器數量始終有限,即使勞作不休,所能承受的負荷也有一定的極限。每一個大型網際網路公司,都曾遇到過這個問 題:如何管理和維護成千上萬台伺服器?
很多事情在講述的時候似乎很有意思,但當時經歷的時候會讓人覺得絕望。“大系統”的壓力對於系統維護工程師而言,就是這樣的事情。
2000年初,筆者(此處指姚宏宇博士)當時在雅虎公司編程之外做的最多的兩件事,現在聽起來或 許還有些“土”:一件是組裝機器,一件是維護機器,而這只是為了保證在足夠 多且可靠的硬體支撐下,業務系統能夠有效應對不斷快速增長的用戶需求。
在當時,筆者加班到晚上十點鐘左右是常有的事,然後還要從加利福尼亞州的桑尼維爾(Sunnyvale)開車回家,再和朋友一起找地方吃飯。由於住的地方位於南聖何塞(South San Jose),附近是越南人聚集地,太晚的時間只有越南米粉(Pho)可以吃,於是以越南米粉果腹的時間持續有半年之久,以致現在對“牛 肉粉(Beef Pho)”產生排斥感。吃完飯之後回去還要繼續工作,凌晨兩、三點才能睡覺。美股的開盤時間是東部時間9:30~16:00,這意味著在此之前必須保證交易網站服務的正常運行,所以必須每天早上6點準時起床,來檢查系統的運行狀態。很多人每天都會收到大量郵件,但早上剛起床就看到上萬封郵件和幾百條呼叫(Pager)信息,並且全部來自機器的情況並非人人都有體會,雖然是專職於此的技術人員,這種極大的壓力狀況還是很容易讓人產生無力感,持續下去會有崩潰的感覺。怎么辦?只有把雅虎財經頻道大部分的底層代碼進行重寫,找回些生活。
現在看來,大量用戶帶來的大流量的壓力,以及大系統的問題不僅對於每一個 網際網路公司來說仍然普遍存在,而且已經越來越多地出現在其他傳統企業中。
對於大多數網際網路企業而言,雖然伺服器規模不至於如此龐大,但隨著用戶規模的增加,少則數百台,多則上千台的伺服器仍然對企業的運維管理能力提出了挑戰。
對於企業來說,隨著系統越來越大,維護人員卻不能對應成比例增長——企業 要考慮人力成本,還要顧及運維效率的問題——即便如此,雅虎在某一階段有過半的成本都耗在舊有設備和系統的維護上,而無法把大部分資金投入到新業務的開發中。公司能創造新價值的部分越來越少,創新也越來越少,只能求變。
除了大規模系統的維護之外,海量數據的存儲問題同樣是網際網路公司頭疼的問題所在。隨著網路技術和服務的快速發展,用戶平均線上時間的延長和用戶網路行為的多樣化,導致各類數據在不斷湧現,移動終端的出現更是擴充了網路服務的內容與範圍,這些都大大增加了網際網路公司需要承載的數據量。大量的用戶數據對每一個公司而言都是寶貴的信息財富,但是如果只是購買信箱存儲設備一年就要花費幾億美金的話,每個CEO都會再權衡一下,於是雅虎後來有了Hadoop的研發。
因此,在流量和伺服器數量都高速增長的情況下,“一個能夠與網頁增長速度保持同步的系統”必不可少,這也是谷歌三篇有關分散式的論文(註: 這三篇論文分別是有關GFS(Google File System)分散式存儲系統、MapReduce分 布式處理技術和BigTable分散式資料庫的論文,下文也有所提及) 之所以具有重要指導意義的原因——一切均出自實踐。
隨著信息經濟的發展,許多傳統企業現在也在加速向網際網路化轉型。最初存在於網際網路企業的壓力也出現於其他組織機構中,對大數據的管理和處理需求也在這些組織中產生。比如一個政府部門,如果考慮到信息中心和各垂直部門的信息資源,可能會有數千台伺服器和數百套業務系統需要整合和管理,而且多數分布於不同的地理位置,該如何對這些資源進行集中統一管理?
或許,這些組織也可以考慮選擇雲計算。
3. 對於大多數中小型組織和個人而言,雲計算的魅力來自那些靈活、彈性和隨時隨處可用的雲計算服務,或者一些針對企業和個人的“雲存儲”服務。這些服務是大多數人與雲計算最直接的接觸,也形成了他們對雲計算的直觀認識。但是我們知道,雲計算應該包含兩方面的內容:服務和平台。雲計算既是商業模式,也是技術。
美國加州大學伯克利分校在一篇關於雲計算的報告中,就認為雲計算既是指在網際網路上以服務形式提供的套用,也是指在數據中心裡提供這些服務的硬體和軟體,而這些數據中心裡的硬體和軟體則被稱為“雲”。
雲計算服務代表一種新的商業模式,SaaS(軟體即服務)、PaaS(平台即服務) 和IaaS(基礎設施即服務)是這種商業模式的代表表現形式,美國國家標準與技術研究院(NIST)就曾於2011年發布過一份《雲計算概要及建議(草案)》(DRAFT Cloud Computing Synopsis and Recommendations)的報告,對SaaS、PaaS和IaaS等進行了詳細說明。很多人認為SaaS必須運行在PaaS上,PaaS必須運行在IaaS上,但實際上三者之間並沒有絕對的層次關係,它們都是一種服務,可以有層次疊加關係,也可以沒有。
對於任何一種商業模式而言,除了理論上可行之外,還要保證實踐上可用。因此,伴隨著雲計算服務理念的發展,雲計算也形成了一整套技術實現機制,而雲計算平台則是這套機制的具體體現。
但云計算服務和雲計算平台之間並沒有相互依存的必然關係。即如果以傳統的 底層架構,或類似超級計算等實現的服務具備雲計算服務的三個特點:大用戶群、永遠線上,以及隨時隨地可接入,也可稱為雲計算;而雲計算平台本身在設計上就針對 了“大用戶”、“大數據”和“大系統”的問題提出了解決辦法,這也是在提供雲計算服務時會遇到的典型問題;所以,以雲計算平台支撐的雲計算服務,不僅可以提高服務的效率,而且還會充分發揮平台的能力和優勢。
很多人會把服務和平台模糊起來進行介紹,也有很多人因此會混淆對雲計算的認知。看到雲計算,眉眼之間都覺得熟悉,便以為是舊識,不待招呼細聊,引手就向別人介紹,這是雲計算,以前是……
按照“選擇性認知(Selective Perception)”的理論,人們在處理信息時都有一種選擇性傾向。人們不可能吸收他們所觀察到的所有信息,而只能從接收到的零碎信息中依據自己的興趣、背景、經驗和態度主動地進行選擇性接受。知識結構、看問題的視角和商業利益的各不相同,就使各個群體對雲計算形成了多種解讀方式。
從技術角度而言,雲計算最早的出身,應該是超大規模分散式計算。比如雅虎為了解決系統對大規模套用的支撐問題,而設計的超大規模分散式系統,目的就在於將大問題分解,由分布在不同物理地點的大量計算機共同解決。但隨著技術不斷的發展和完善,雲計算在解決具體問題時,借鑑了不少其他技術和思想,包括虛擬化技術、SOA(面向服務架構)理念等,所以很多人乍看之下會覺得相似。但云計算與這些技術有根本性的差別,不僅體現在商業套用上,還體現在實現細節上,本書將在之後的章節對此進行較為詳細的說明。
我們知道,所有科學的認識都是以一種層次遞進、螺旋上升的方式發展的,每一種技術都有其適用的場景和範圍,比如量子力學不會否認經典力學在一些物理問題上的作用。所以,對於雲計算來說,糅合了各種技術不代表雲計算比其他技術更優秀,而是說明雲計算技術確實是針對“大用戶”、“大數據”和“大系統”發展出來的一種新的實現機制。
另外,為了區分雲計算的部署使用方式,現在經常提到的還有“公有雲(Public Cloud)”、“私有雲(Private Cloud)”和“混合雲(Hybrid Cloud)”的概念。
公有雲通常是指開放給公眾使用的雲基礎設施。可以是企業、院校、政府機構,也可以是一些合作機構來持有、管理和運營公有雲。私有雲通常是指為一個客戶單獨使用而構建的雲基礎設施,因而提供對數據、安全性和服務質量的最有效控制,並可以控制在此基礎設施上部署應用程式的方式。通常,多數中小型企業可以從不同服務商提供的各種公有雲服務中受益,而鑒於現在企業所需面對的用戶量、數據量及系統複雜度都在快速增長,即便是一個小企業所面臨的壓力,從過去的大型企業的角度來看也都已經是“大”問題,因此通過建設私有雲來應對系統壓力、滿足業務系統需求,正在成為越來越多企業和組織的選擇,並且隨著企業規模的增加,私有雲建設所能帶來的收益也在愈發突顯。
從現實情況看,公有雲和私有雲的區別主要體現在商業套用方面,技術上應該是互通的,區別不大。技術層面最根本的區別是訪問許可權和訪問模式的控制,即可訪問的範圍決定了“雲”的業務性質。如前所述,通常意義下,私有雲所面向的是一個組織機構,而非公眾,但這界限其實並不絕對和清晰。比如谷歌的雲作業系統,對內使用而言是私有雲,而對外提供Google App Engine時,就變成了公有雲的PaaS服務。
混合雲也並非半“私有”半“公有”,而是在某一塊資源不夠的情況下,從另一處借用而已。比如遊戲服務提供商Zynga有自己的“雲”運行服務,但在用戶使用高峰期時,又會租用亞馬遜的IaaS服務。
長遠來看,公有雲是雲計算的最終目的,但私有雲和公有雲會以共同發展的形式長期共存。好比銀行服務的出現,貨幣從個人手中轉存到銀行保管,是一個更安 全、方便的過程,但也會有人選擇自己保管,兩者並行不悖。
4. 雲計算的一個特別之處,在於從技術上創造性地給出了一種靈活可靠的組織機制,通過將各種資源進行快速調度和組合,來滿足不同業務套用的需求。這不但適用於業務模組,而且同樣適用於底層硬體資源的“積木式重組”思想,重新定義了反映在上層的計算資源的使用方式、服務的提供方式,以及社會化大生產的協作過程,為我們解決網際網路帶來的“大”問題和創新服務模式帶來了一種全新的思路。也就是說,雲計算帶來了一種組織和實現機制,使我們可以組織資源以服務,組織技術以實現,組織流程以應變。
通過雲計算技術的使用,大量的硬體資源可以通過虛擬化技術結合成一個有機整體,然後通過數據傳輸、負載均衡等技術來相互依賴,相互作用,完成預設功能,形成一個標準概念上的“系統”。這個系統的特徵,是在物理上分散,在邏輯上集中,也就是我們說的分散式集中。
這種大量資源的邏輯集中,一是意味著通過技術手段充分利用這些資源,我們可以滿足“大用戶”的需求,解決“大數據”的問題;二是通過對不同資源(硬 件、套用)進行調度,我們可以基於一個平台提供多種服務,即各種IaaS、PaaS和 SaaS,以及XaaS(一切皆為服務),滿足各類用戶的需求。
有組織,必然有管理。既然雲計算創新性地將大量計算資源組織在一起,協同工作,則雲計算必須在信息技術的層面,給出一種針對大規模系統的科學管理辦法。這種方法能夠解決資源組織管理過程中的各種問題。比如:在增加節點、擴大系統規模的同時,還能保證系統性能的近線性提高。在系統任何一個部分都有可能出問題的情況下,保證系統整體的穩定運行。在面臨不同的業務需求時,快速將資源重新組織,以新的架構適應變化。這些都要求雲計算創新性地將各種技術組織起 來,“調和”實現各種功能。所以,從某種意義而言,雲計算是信息技術的“系統 工程”。
我們知道,系統總是處在一定的環境背景中,與環境保持著某種程度的質量、 能量和信息的交換。一個龐大的信息系統內部會產生多種變化,外部的需求和環境也 隨之而改變,所以整個系統必須不斷自我管理和調整應對變化。反映在套用層面,則是指大量計算資源組織在一起,必須通過系統內部資源的整合來支撐各種套用,並可通過快速重組來應對變化,通用於各種網路服務。為此,作為底層技術支撐的雲計算平台具有六大技術思想:彈性、透明、積木化、通用、動態和多租賃。這六大技術思想的靈活使用,決定了雲計算平台可以通過虛擬化技術整合各類軟硬體資源,可以借鑑SOA的理念實現系統和硬體層面的松耦合,進行計算、存儲和套用的自由調度,以及可以通過負載均衡等方法解決“大”問題。
如同樂高積木模組之間可隨意拼接的“松耦合”性,在一個高彈性可遷移的體系架構下,通過工作流引擎等方式,雲計算平台可實現硬體資源和套用模組的動態調用。在這種被我們稱為“積木化”的技術思想下,雲計算平台可以將資源和模組重新組合,快速形成新的流程來應對業務需求變化。這樣,企業在業務轉型或業務拓展時,如果需要底層IT系統提供信息化支持,則只需明確業務流程,即可由雲計算平台快速實現業務系統的重構,為業務革新帶來新的可能。
可以說,雲計算擴大了我們對服務的定義,並帶來了一個全新的計算資源管理思路,以及一種信息技術的系統工程理念。
5. 雲計算的發展起源自網際網路公司,但由於各網際網路公司的業務方向不同,也造成了各公司發展雲計算技術的路線並不相同,有如不同的技術流派,各有特點。
……
當然,儘管各種“流派”的技術理念和實現方法都不一樣,但其目的都是為了解決“大數據”、“大系統”的問題,並為上層業務套用提供支撐,所以在優劣上沒有可比性。對於用戶而言,適合自己的才是最好的,在選擇雲計算技術服務時,需要從業務場景、開發能力,以及資金預算等各方面綜合考慮。
6. 有些人覺得雲計算“雲裡霧裡”,是忽悠。這是一種誤解。 首先從服務的角度說,作為網際網路服務的一種延伸,雲計算服務或許可被稱為Internet 2.0。雲計算 服務自然有一些網際網路服務的特徵,但也有自己的特點,形成了新商業模式,比如 “按需使用”、“多租戶支持”等。這種服務方式已經在用其產生的市場力量影響著人們的生活和工作,影響著企業的業務模式和經營思想,以及社會的方方面面。
比如美國總務管理局(GSA)在將入口網站遷移至一家公司提供的雲服務中之後,網站升級時間從包括設備採購在內的九個月,縮減至最多一天。傳統的 主機設定下,每月的宕機時間大概為2小時,而在雲的解決方案下,宕機時間基本為零。按其舊有設定,美國總務管理局每年要為USA.gov支付235萬美元,這包括總計200萬美元的硬體更新和重新獲得軟體許可的成本,以及35萬美元的人力成本。而在遷移到雲服務之後,總務管理局目前在USA.gov上一年支付費用僅為65萬美元,這意味著節省了170萬美元的所有相關費用。
其次,從技術套用的角度看,雲計算平台給出了一種新的計算資源的使用和管理思路。在雲計算之前,購買更多更高性能的伺服器,是企業應對大用戶、大數據問題時的唯一選擇。而雲計算的出現,創新性地以“分散式集中”的方式,將分散的廉 價計算資源組合在一起,發揮“群體”的功能,來應對大用戶和大數據的壓力,從而 形成了新的“機器管理機器”的思路,在技術實現上有完整的體系架構。
網際網路企業使用雲計算平台構建自己的業務系統不說,在中國國內的各領域中,雲計算平台也已經落地使用,服務各類組織機 構。比如我們曾幫助一個全國性的政府機構構建數據云系統,把分布於全國數百個地市內的業務系統中生成與維護的業務數據,進行集中存儲管理,並保證系統整體性能,以及高可靠性和高可用性。也曾幫助某電網公司通過對現有IT系統的部分子系統進行雲化改造,實現了對分布於不同地區的業務系統的集中管理和統一調度,以及所有業務數據的統一存儲。
因此,不論對於個人生活,還是企業套用,雲計算都產生著深刻的影響。一些人認為雲計算還有些“虛”,一是因為雲計算還處於普及推廣的過程中,雲計算套用的大量“落地”需要時間;二是因為就公有雲而言,很多人或者企業從心理上還沒做好接受雲計算服務的準備,不放心將數據“存放”在他處。然而,回顧信息技術的發展歷史,我們可以發現,不論是從大型機到個人電腦,將電腦帶給所有人的階段,還是從個人電腦到網際網路,將信息帶給所有人的階段,新的信息技術從出現到普及套用都有一個漸進的過程。
如同一種進化,社會自身會不斷向前推進發展,並因此而產生不同的遞進式的服務模式和技術需求。人們對計算的需求,促進了計算機的普及發展;溝通分享的需求,又促進了網際網路的誕生。雲計算也是一種社會需求推動的結果。在獲取知識、不斷創新和分享的渴望下,人們對信息服務和產品不斷提出新的要求。雲計算的出現,一方面解決了系統層面日趨突顯的壓力問題,另一方面拓寬了網路套用的範疇和創新的可能性,在極大降低人們創造知識和分享知識成本的前提下,進一步滿足了人類社會獲取、創新、分享知識的需求。因此,雲計算是信息社會發展的必然產物。隨著套用環境的發展,雲計算會越來越普及,帶來一個全新體驗的信息社會。
通常所說工業革命的意義之一,在於使人們擺脫了生產條件的束縛,極大地解放了物質產品和有形服務的生產力。雲計算的出現,也在逐步使人們擺脫使用計算資源和信息服務時的束縛,降低知識獲取的成本,也使知識的產生變得更容易、分享變得更方便,革命性地改變了信息產品與知識服務的生產力。或許雲計算與蒸汽機、內燃機及電力有同等重要的意義,會帶來一場信息社會的工業革命。
現在來看,雲計算仍然在發展的過程中,未來會發展到什麼高度還未知。我們還在不斷摸索和深化對雲計算的理解,畢竟對於新事物都有一個聽聞而知見的過 程。對於現階段的雲計算而言,最需要的是支持,最怕的是輕視,或如管窺蠡測地輕下結論。但無論如何,雲計算已經對社會生產和生活的一些領域產生了積極的影 響,相信隨著技術的發展和服務的創新,雲計算的時代將會很快到來,並最終影響到我們每一個人。