云計算:大數(shù)據(jù)時代的系統(tǒng)工程


時間:2012-12-25






很多人覺得云計算應(yīng)該是個具體的事物,所以初聽到云計算時,總會先問一句:“什么是云計算”?

什么是云計算?問的人輕松,回答的人卻很費(fèi)力,仿佛描繪一種味覺,感覺強(qiáng)烈,卻不知如何抓住要領(lǐng)呈給面前的人看個仔細(xì)。倘若盡心給出一種解釋,或畫出一張架構(gòu)圖,聽眾可能還是一臉茫然,回答的人多半會急得皺眉跳腳,也有人會撂下一句:“你記得是IaaS、PaaS和SaaS即可”。

話雖好說,理卻難明。即使聽懂了解釋,還是有許多人會不知道“云計算”緣何而來,用于何處。

“云計算”一詞最早被大范圍的傳播應(yīng)該是在2006年。2006年8月,在圣何塞舉辦的SES搜索引擎戰(zhàn)略大會上,谷歌的CEO施密特Eric Schmidt在回答主持人提出的一個有關(guān)互聯(lián)網(wǎng)的問題時說:“……現(xiàn)在出現(xiàn)了一種新的商業(yè)模式……人們還沒有意識到這個機(jī)遇有多大。這種模式的前提是,數(shù)據(jù)服務(wù)的架構(gòu)應(yīng)該在他們稱為‘云計算’的服務(wù)器上,即在某處的云里,如果你有合適的瀏覽器或接入方式,那么不論你有什么設(shè)備,你都可以訪問這些數(shù)據(jù)。”

很多人認(rèn)為云計算自此出現(xiàn),因?yàn)閺拇酥蟾鞣N有關(guān)云計算的概念層出不窮, “云計算”開始流行。

但2006年出現(xiàn)的只是“云計算”這個詞,仿佛一個幕后工作人員忽然被主持人介紹到臺前拿了獎,在媒體長篇累牘的報道下,一夜成名。而實(shí)際上,云計算本身無論是商業(yè)模式還是技術(shù)都已經(jīng)發(fā)展了很長時間,并在實(shí)踐的過程中逐步演進(jìn)。在2006年時,云計算本身未必發(fā)生質(zhì)變,但既然人們對云計算的認(rèn)知發(fā)生了質(zhì)變,所以將其理論化、體系化勢在必行。德國政治學(xué)家伊麗莎白·諾艾爾-諾依曼Elisabeth Noelle-Neumann提出過一種“沉默的螺旋”spiral of silence的理論,認(rèn)為人們在表達(dá)想法和觀點(diǎn)的時候,如果覺得自己的觀點(diǎn)是公眾中的少數(shù)派,就不愿意傳播自己的看法,但如果看到自己贊同的觀點(diǎn)受到廣泛歡迎,就會樂于公開表示自己的觀點(diǎn)或態(tài)度。這樣,多數(shù)派的聲音會越來越大,形成一種螺旋式上升的模式。云計算概念的忽然興起或許就與此相仿。

雖然谷歌為云計算命名,但真正明確云計算商業(yè)模式的是亞馬遜。在施密特態(tài)度鮮明地提出“云計算”這個詞的幾個星期之后,亞馬遜推出了EC2動態(tài)計算云服務(wù),將“云”這個名詞包含在內(nèi)。

亞馬遜是個神奇的公司,銷售包括圖書、DVD、電腦、軟件、電視游戲、電子產(chǎn)品、衣服、家具、計算資源等一切適合電子商務(wù)的“商品”。在推出EC2的時候,亞馬遜也面臨不少“這個零售商為什么想做這些”的質(zhì)疑,但CEO貝索斯對商業(yè)的概念理解明顯要寬泛很多。貝索斯無疑認(rèn)為不管是“PC+軟件”,還是這種從“云”里取得服務(wù)的方式,不僅關(guān)乎技術(shù)的問題,還都是一種“商業(yè)模式”。最早時,為了讓網(wǎng)站能支持大規(guī)模的業(yè)務(wù),亞馬遜在基礎(chǔ)設(shè)施建設(shè)上花了很大功夫,自然也積累了很多經(jīng)驗(yàn)。為了將平時閑置的大量的計算資源也作為商品出售,貝索斯的亞馬遜公司先后推出了S3簡單存儲服務(wù)和EC2等存儲、計算租用服務(wù)。貝索斯表示,“我們認(rèn)為在某一天這也會是一項(xiàng)非常有意思的業(yè)務(wù),所以我們這么做的目的很簡單:我們認(rèn)為這是個好業(yè)務(wù)?!盵1] 雖然媒體認(rèn)為這是貝索斯安全度過

互聯(lián)網(wǎng)泡沫之后的一筆冒險賭注,“亞馬遜的CEO想要用他網(wǎng)站背后的技術(shù)來運(yùn)行

你的業(yè)務(wù),但華爾街只想他看好自己的店面?!盵2] 但EC2確實(shí)影響了整個行業(yè),也影響了很多人,當(dāng)時業(yè)界明顯受到了震動。

在亞馬遜之前,雖然有不少服務(wù)按現(xiàn)在來看都有云計算服務(wù)的特征,但即使是谷歌所提供的服務(wù),仍然可以看做是互聯(lián)網(wǎng)服務(wù)意義內(nèi)的一種商業(yè)模式。而亞馬遜推出IaaS基礎(chǔ)設(shè)施即服務(wù)之后,仿佛給互聯(lián)網(wǎng)世界開了一扇窗,告訴人們,還可以這樣來運(yùn)營計算資源,還有一種新的商業(yè)模式,叫云計算。而那些與傳統(tǒng)互聯(lián)網(wǎng)服務(wù)形似神離的服務(wù)模式,也終于可以獨(dú)立出來,找到自己歸屬的陣地——云計算服務(wù)。

云計算起源于互聯(lián)網(wǎng)公司。雖然互聯(lián)網(wǎng)公司給人的印象大多是錢多燒不完,但其實(shí)多數(shù)互聯(lián)網(wǎng)公司都很注重成本控制。尤其是早期不少互聯(lián)網(wǎng)公司都起源于學(xué)生宿舍,費(fèi)用的掣肘使這些公司盡可能合理地利用每一個硬件,最大程度地發(fā)揮機(jī)器的性能。所以早期的互聯(lián)網(wǎng)公司都會自己選主板、硬盤等配件,然后進(jìn)行組裝,完成服務(wù)器硬件的設(shè)計。這種傳統(tǒng)沿襲下來,就是現(xiàn)在硬件定制化日趨流行的原因。如今谷歌、Facebook都會自己動手設(shè)計和生產(chǎn)服務(wù)器,以最少的配件最大可能地支持特定功能需求,并降低服務(wù)器的能耗。

對于硅谷工程師而言,超級家電連鎖店Fry''s或許是最值得逛的“購物天堂”。硅谷有不少Fry''s的連鎖店,由于Fry''s占地面積很大,東西齊全且便宜,理論上一個技術(shù)人員可以在這里買到所有的零配件,然后組裝一個主板,所以這里很受工程師的歡迎。雅虎的工程師們也曾是Fry''s的???。

2000年,互聯(lián)網(wǎng)經(jīng)濟(jì)處于第一波熱潮中。這時全球互聯(lián)網(wǎng)用戶人數(shù)已經(jīng)從1995年的幾千萬增至數(shù)億,并仍在不斷快速增長??焖僭鲩L的用戶數(shù)量,使許多網(wǎng)站感受到了系統(tǒng)支撐的壓力。雅虎也一樣。當(dāng)時雅虎經(jīng)常面臨的一個問題是,一個頻道設(shè)計完成之后,在上線之前測試可支撐一定數(shù)量的用戶比如10萬人,但第二天一上線就出現(xiàn)達(dá)到指標(biāo)的情況。怎么辦?只有增加設(shè)備,盡可能提高系統(tǒng)對服務(wù)的支撐能力,因此即刻購買設(shè)備然后連夜組裝機(jī)器的情形并不少見。到Fry''s選買配件是不少工程師的工作內(nèi)容之一,當(dāng)然也是樂趣之一。雅虎的共同創(chuàng)始人之一大衛(wèi)·菲洛David Filo至今還喜歡組裝機(jī)器,不知道是不是一種習(xí)慣使然。

為了支撐業(yè)務(wù)運(yùn)轉(zhuǎn),滿足用戶需求,服務(wù)器的整體性能在不斷上升,相應(yīng)地,服務(wù)器的數(shù)量也在不斷增加。這很自然會引出一個問題,數(shù)十臺機(jī)器可以手動組裝維護(hù),上千臺機(jī)器如何處理?甚至,如果機(jī)器數(shù)上萬呢?人能管理的機(jī)器數(shù)量始終有限,即使勞作不休,所能承受的負(fù)荷也有一定的極限。每一個大型互聯(lián)網(wǎng)公司,都曾遇到過這個問題:如何管理和維護(hù)成千上萬臺服務(wù)器?

很多事情在講述的時候似乎很有意思,但當(dāng)時經(jīng)歷的時候會讓人覺得絕望?!按笙到y(tǒng)”的壓力對于系統(tǒng)維護(hù)工程師而言,就是這樣的事情。2000年初,筆者注:此處指姚宏宇博士。當(dāng)時在雅虎公司編程之外做的最多的兩件事,現(xiàn)在聽起來或許還有些“土”:一件是組裝機(jī)器,一件是維護(hù)機(jī)器,而這只是為了保證在足夠多且可靠的硬件支撐下,業(yè)務(wù)系統(tǒng)能夠有效應(yīng)對不斷快速增長的用戶需求。在當(dāng)時,筆者加班到晚上十點(diǎn)鐘左右是常有的事,然后還要從加利福尼亞州的桑尼維爾Sunnyvale開車回家,再和朋友一起找地方吃飯。由于住的地方位于南圣何塞South San Jose,附近是越南人聚集地,太晚的時間只有越南米粉Pho可以吃,于是以越南米粉果腹的時間持續(xù)有半年之久,以致現(xiàn)在對“牛肉粉Beef Pho”產(chǎn)生排斥感。吃完飯之后回去還要繼續(xù)工作,凌晨兩、三點(diǎn)才能睡覺。美股的開盤時間是東部時間9:30~16:00,這意味著在此之前必須保證交易網(wǎng)站服務(wù)的正常運(yùn)行,所以必須每天早上6點(diǎn)準(zhǔn)時起床,來檢查系統(tǒng)的運(yùn)行狀態(tài)。很多人每天都會收到大量郵件,但早上剛起床就看到上萬 郵件和幾百條呼叫Pager信息,并且全部來自機(jī)器的情況并非人人都有體會,雖然是專職于此的技術(shù)人員,這種極大的壓力狀況還是很容易讓人產(chǎn)生無力感,持續(xù)下去會有崩潰的感覺。怎么辦?只有把雅虎財經(jīng)頻道大部分的底層代碼進(jìn)行重寫,找回些生活。

現(xiàn)在看來,大量用戶帶來的大流量的壓力,以及大系統(tǒng)的問題不僅對于每一個互聯(lián)網(wǎng)公司來說仍然普遍存在,而且已經(jīng)開始越來越多的出現(xiàn)在其他傳統(tǒng)企業(yè)中。谷歌在1998年時的訪問量約為每天1萬次,但到2007年時,日訪問量已達(dá)到5億多次,機(jī)器數(shù)量也已經(jīng)超過50萬臺。對于大多數(shù)互聯(lián)網(wǎng)企業(yè)而言,雖然服務(wù)器規(guī)模不至于如此龐大,但隨著用戶規(guī)模的增加,少則數(shù)百臺,多則上千臺的服務(wù)器仍然對企業(yè)的運(yùn)維管理能力提出了挑戰(zhàn)。

對于企業(yè)來說,隨著系統(tǒng)越來越大,維護(hù)人員卻不能對應(yīng)成比例增長——企業(yè)要考慮人力成本,還要顧及運(yùn)維效率的問題——即便如此,雅虎在某一階段有過半的成本都耗在舊有設(shè)備和系統(tǒng)的維護(hù)上,而無法把大部分資金投入到新業(yè)務(wù)的開發(fā)中。公司能創(chuàng)造新價值的部分越來越少,創(chuàng)新也越來越少,只能求變。

除了大規(guī)模系統(tǒng)的維護(hù)之外,海量數(shù)據(jù)的存儲問題同樣是互聯(lián)網(wǎng)公司頭疼的問題所在,隨著網(wǎng)絡(luò)技術(shù)和服務(wù)的快速發(fā)展,用戶平均在線時間的延長和用戶網(wǎng)絡(luò)行為的多樣化,導(dǎo)致各類數(shù)據(jù)在不斷涌現(xiàn),移動終端的出現(xiàn)更是擴(kuò)充了網(wǎng)絡(luò)服務(wù)的內(nèi)容與范圍,這些都大大增加了互聯(lián)網(wǎng)公司需要承載的數(shù)據(jù)量。大量的用戶數(shù)據(jù)對每一個公司而言都是寶貴的信息財富,但是如果只是購買郵箱存儲設(shè)備一年就要花費(fèi)幾億美金的話,每個CEO都會再權(quán)衡一下,于是雅虎后來有了Hadoop的研發(fā)。

因此,在流量和服務(wù)器數(shù)量都高速增長的情況下,“一個能夠與網(wǎng)頁增長速度保持同步的系統(tǒng)”[3]必不可少,這也是谷歌三篇有關(guān)分布式的論文*注:這三篇論文分別是有關(guān)GFSGoogle File System分布式存儲系統(tǒng)、MapReduce分布式處理技術(shù)和BigTable分布式數(shù)據(jù)庫的論文,下文也有所提及。之所以具有重要指導(dǎo)意義的原因——一切均出自實(shí)踐。

隨著信息經(jīng)濟(jì)的發(fā)展,許多傳統(tǒng)企業(yè)現(xiàn)在也在加速向互聯(lián)網(wǎng)化轉(zhuǎn)型。最初存在于互聯(lián)網(wǎng)企業(yè)的壓力也出現(xiàn)于其他組織機(jī)構(gòu)中,對大數(shù)據(jù)的管理和處理需求也在這些組織中產(chǎn)生。比如一個政府部門,如果考慮到信息中心和各垂直部門的信息資源,可能會有數(shù)千臺服務(wù)器和數(shù)百套業(yè)務(wù)系統(tǒng)需要整合和管理,而且多數(shù)分布于不同的地理位置。如何對這些資源進(jìn)行集中統(tǒng)一管理?

或許,這些組織也可以考慮選擇云計算。

對于大多數(shù)中小型組織,甚至于個人而言,云計算的魅力來自那些靈活、彈性和隨時隨處可用的云計算服務(wù),比如亞馬遜的計算資源租用服務(wù),或者一些針對企業(yè)和個人的“云存儲”服務(wù)。這些服務(wù)是大多數(shù)人與云計算最直接的接觸,也形成了他們對云計算的直觀認(rèn)識。但是我們知道,云計算應(yīng)該包含兩方面的內(nèi)容:服務(wù)和平臺。云計算既是商業(yè)模式,也是技術(shù)。

美國加州大學(xué)伯克利分校在一篇關(guān)于云計算的報告中,就認(rèn)為云計算既是指在互聯(lián)網(wǎng)上以服務(wù)形式提供的應(yīng)用,也是指在數(shù)據(jù)中心里提供這些服務(wù)的硬件和軟件,而這些數(shù)據(jù)中心里的硬件和軟件則被稱為“云”[4]。

云計算服務(wù)代表一種新的商業(yè)模式,SaaS軟件即服務(wù)、PaaS平臺即服務(wù)和IaaS基礎(chǔ)設(shè)施即服務(wù)是這種商業(yè)模式的代表表現(xiàn)形式,美國國家標(biāo)準(zhǔn)與技術(shù)研究院NIST就曾于2011年發(fā)布過一份《云計算概要及建議草案》 DRAFT Cloud Computing Synopsis and Recommendations的報告,對SaaS、PaaS和IaaS等進(jìn)行了詳細(xì)說明。很多人認(rèn)為SaaS必須運(yùn)行在PaaS上,PaaS必須運(yùn)行在IaaS上,但實(shí)際上三者之間并沒有絕對的層次關(guān)系,它們都是一種服務(wù),可以有層次疊加關(guān)系,也可以沒有。

對于任何一種商業(yè)模式而言,除了理論上可行之外,還要保證實(shí)踐上可用。因此,伴隨著云計算服務(wù)理念的發(fā)展,云計算也形成了一整套技術(shù)實(shí)現(xiàn)機(jī)制,而云計算平臺則是這套機(jī)制的具體體現(xiàn)。

但云計算服務(wù)和云計算平臺之間并沒有相互依存的必然關(guān)系。即如果以傳統(tǒng)的底層架構(gòu),或類似超級計算等實(shí)現(xiàn)的服務(wù)具備云計算服務(wù)的三個特點(diǎn):大用戶群、永遠(yuǎn)在線,以及隨時隨地可接入,也可稱為云計算;而云計算平臺本身在設(shè)計上就針對了“大用戶”、“大數(shù)據(jù)”和“大系統(tǒng)”的問題提出了解決辦法,這也是在提供云計算服務(wù)時會遇到的典型問題;所以,以云計算平臺支撐的云計算服務(wù),不僅可以提高服務(wù)的效率,而且還會充分發(fā)揮平臺的能力和優(yōu)勢。

很多人會把服務(wù)和平臺模糊起來進(jìn)行介紹,也有很多人因此會混淆對云計算的認(rèn)知??吹皆朴嬎?,眉眼之間都覺得熟悉,便以為是舊識,不待招呼細(xì)聊,引手就向別人介紹,這是云計算,以前是……

按照“選擇性認(rèn)知selective perception”的理論,人們在處理信息時都有一種選擇性傾向。人們不可能吸收他們所觀察到的所有信息,而只能從接收到的零碎信息中依據(jù)自己的興趣、背景、經(jīng)驗(yàn)和態(tài)度主動地進(jìn)行選擇性接受。因而知識結(jié)構(gòu)、看問題的視角和商業(yè)利益的各不相同,就使各個群體對云計算形成了多種解讀方式。

從技術(shù)角度而言,云計算最早的出身,應(yīng)該是超大規(guī)模分布式計算。比如雅虎為了解決系統(tǒng)對大規(guī)模應(yīng)用的支撐問題,而設(shè)計的超大規(guī)模分布式系統(tǒng),目的就在于將大問題分解,由分布在不同物理地點(diǎn)的大量計算機(jī)共同解決。但隨著技術(shù)不斷的發(fā)展和完善,云計算在解決具體問題時,借鑒了不少其他技術(shù)和思想,包括虛擬化技術(shù)、SOA面向服務(wù)架構(gòu)理念等,所以很多人乍看之下會覺得相似。但云計算與這些技術(shù)有根本性的差別,不僅體現(xiàn)在商業(yè)應(yīng)用上,還體現(xiàn)在實(shí)現(xiàn)細(xì)節(jié)上,本書將在之后的章節(jié)對此進(jìn)行較為詳細(xì)的說明。

我們知道,所有科學(xué)的認(rèn)識都是以一種層次遞進(jìn)、螺旋上升的方式發(fā)展的,每一種技術(shù)都有其適用的場景和范圍,比如量子力學(xué)不會否認(rèn)經(jīng)典力學(xué)在一些物理問題上的作用。所以,對于云計算來說,糅合了各種技術(shù)不代表云計算比其他技術(shù)更優(yōu)秀,而是說明云計算技術(shù)確實(shí)是針對“大用戶”、“大數(shù)據(jù)”和“大系統(tǒng)”發(fā)展出來的一種新的實(shí)現(xiàn)機(jī)制。

另外,為了區(qū)分云計算的部署使用方式,現(xiàn)在經(jīng)常提到的還有“公有云Public Cloud”、“私有云Private Cloud”和“混合云Hybrid Cloud”的概念。

公有云通常是指開放給公眾使用的云基礎(chǔ)設(shè)施??梢允瞧髽I(yè)、院校、政府機(jī)構(gòu),也可以是一些合作機(jī)構(gòu)來持有、管理和運(yùn)營公有云。私有云通常是指為一個客戶單獨(dú)使用而構(gòu)建的云基礎(chǔ)設(shè)施,因而提供對數(shù)據(jù)、安全性和服務(wù)質(zhì)量的最有效控制,并可以控制在此基礎(chǔ)設(shè)施上部署應(yīng)用程序的方式。通常,多數(shù)中小型企業(yè)可以從不同服務(wù)商提供的各種公有云服務(wù)中受益,而鑒于現(xiàn)在企業(yè)所需面對的用戶量、數(shù)據(jù)量及系統(tǒng)復(fù)雜度都在快速增長,即便是一個小企業(yè)所面臨的壓力,從過去的大型企業(yè)的角度來看也都已經(jīng)是“大”問題,因此通過建設(shè)私有云來應(yīng)對系統(tǒng)壓力、滿足業(yè)務(wù)系統(tǒng)需求,正在成為越來越多企業(yè)和組織的選擇,并且隨著企業(yè)規(guī)模的增加,私有云建設(shè)所能帶來的收益也在愈發(fā)突顯。

從現(xiàn)實(shí)情況看,公有云和私有云的區(qū)別主要體現(xiàn)在商業(yè)應(yīng)用方面,技術(shù)上應(yīng)該是互通的,區(qū)別不大。技術(shù)層面最根本的區(qū)別是訪問權(quán)限和訪問模式的控制,即可訪問的范圍決定了“云”的業(yè)務(wù)性質(zhì)。如前所述,通常意義下,私有云所面向的是一個組織機(jī)構(gòu),而非公眾,但這界限其實(shí)并不絕對和清晰。比如谷歌的云操作系統(tǒng),對內(nèi)使用而言是私有云,而對外提供Google App Engine時,就變成了公有云的PaaS服務(wù)。混合云也并非半“私有”半“公有”,而是在某一塊資源不夠的情況下,從另一處借用而已。比如游戲服務(wù)提供商Zynga有自己的“云”運(yùn)行服務(wù),但在用戶使用高峰期時,又會租用亞馬遜的IaaS服務(wù)。

長遠(yuǎn)來看,公有云是云計算的最終目的,但私有云和公有云會以共同發(fā)展的形式長期共存。好比銀行服務(wù)的出現(xiàn),貨幣從個人手中轉(zhuǎn)存到銀行保管,是一個更安全、方便的過程,但也會有人選擇自己保管,兩者并行不悖。



來源:計世網(wǎng)



  版權(quán)及免責(zé)聲明:凡本網(wǎng)所屬版權(quán)作品,轉(zhuǎn)載時須獲得授權(quán)并注明來源“中國產(chǎn)業(yè)經(jīng)濟(jì)信息網(wǎng)”,違者本網(wǎng)將保留追究其相關(guān)法律責(zé)任的權(quán)力。凡轉(zhuǎn)載文章,不代表本網(wǎng)觀點(diǎn)和立場。版權(quán)事宜請聯(lián)系:010-65363056。

延伸閱讀

熱點(diǎn)視頻

第六屆中國報業(yè)黨建工作座談會(1) 第六屆中國報業(yè)黨建工作座談會(1)

熱點(diǎn)新聞

熱點(diǎn)輿情

特色小鎮(zhèn)

版權(quán)所有:中國產(chǎn)業(yè)經(jīng)濟(jì)信息網(wǎng)京ICP備11041399號-2京公網(wǎng)安備11010502003583