導(dǎo)讀:?說到云計算的起源,公眾普遍認為,谷歌前CEO埃里克·施密特是云計算概念的第一個提出者。
說到云計算的起源,公眾普遍認為,谷歌前CEO埃里克·施密特是云計算概念的第一個提出者。
2006年8月9日,在搜索引擎大會(SES San Jose 2006)上,他提出了“云計算(Cloud Computing)”的概念。
埃里克·施密特(Eric Schmidt)
也有人認為,當今云計算市場的龍頭老大——美國亞馬遜(Amazon)公司,在更早的2006年3月,就正式推出了自家的彈性計算云(Elastic Compute Cloud,EC2)服務(wù),是事實上的云計算開創(chuàng)者。
其實,準確來說,不管是谷歌還是亞馬遜,都不是云計算的發(fā)明人。云計算概念的提出,遠比我們想象中要早得多。
今天這篇文章,我們就針對云計算來一次徹底的“尋根問祖”。
▉ Part.1 公共計算——云計算理論的萌芽
大家應(yīng)該還記得,我們的計算機通識課本里說過,世界上第一臺電子計算機是ENIAC(埃尼阿克)。
Electronic Numerical Integrator And Computer
電子數(shù)字積分計算機
其實,嚴謹來說,ENIAC只能算是世界上第二臺電子計算機。在它之前,還有一臺名叫阿塔納索夫-貝瑞(Atanasoff–Berry Computer)的計算機,簡稱ABC計算機。只不過這臺ABC計算機不可編程,所以ENIAC是第一臺通用電子計算機。
ENIAC的出現(xiàn),宣告了計算時代的開始,從此人類打開了計算機世界的大門。
像ENIAC這樣的早期計算機,體型巨大、耗資昂貴,計算能力也非常有限。最重要的是,它缺乏多用戶能力,同一時間只能被一個人占用。大家都想用的話,只能排隊。
1955年,美國麻省理工學(xué)院(MIT)的約翰·麥卡錫(John McCarthy)教授提出了time-sharing(分時)的技術(shù)理念,希望借此可以滿足多人同時使用一臺計算機的訴求。
約翰·麥卡錫(1927-2011)
這個約翰·麥卡錫大家應(yīng)該很眼熟,沒錯,他就是Artificial Intelligence(AI)概念的提出者,世界公認的人工智能之父,后來在1971年獲得了圖靈獎。
無獨有偶,1959年6月,英國計算機科學(xué)家克里斯托弗·斯特雷奇(Christopher Strachey)在國際信息處理大會上,發(fā)表了一篇學(xué)術(shù)論文,也是關(guān)于大型機共享使用的,名字叫做《大型高速計算機中的時間共享(Time Sharing in Large Fast Computer)》。
克里斯托弗·斯特雷奇(1916-1975)
在這篇論文中,虛擬化的概念被首次提出?,F(xiàn)在我們都知道,虛擬化是如今云計算架構(gòu)的基石。當時那篇論文,絕對堪稱“驚為天人”。
到了1961年,又是咱們的大神約翰·麥卡錫,在麻省理工學(xué)院一百周年紀念慶典上,首次提出了Utility Computing(公共計算服務(wù))的概念:
“如果我設(shè)想的那種計算機(注:即分時計算機,同時支持多人同時使用的計算機)能夠成真,那么計算或許某天會像電話一樣被組織成公共服務(wù)…… Utility Computing(公共計算服務(wù))將是一種全新的重要工業(yè)的基礎(chǔ)?!?/p>
這個Utility Computing的翻譯,其實行業(yè)里存在一定的爭議。Utility有“公共服務(wù)、實用、效用”的意思,有人把它翻譯成公共計算,也有人翻譯成效用計算。
麥卡錫的理念,其實借鑒了傳統(tǒng)的電廠模式。
說白了,就是把計算資源當作是一種像電一樣的能源資源。用戶可以像把燈泡插入插座一樣,隨時隨地使用計算資源,并根據(jù)使用量進行付費。
受麥卡錫觀點的影響,麻省理工學(xué)院和DARPA(美國國防高級研究計劃局)下屬的IPTO(信息處理技術(shù)辦公室)共同啟動了著名的MAC(Multiple Access Computing)項目。DARPA還專門提供了約200萬美元的項目津貼。
MAC項目的目標,就是開發(fā)“多人可同時使用的電腦系統(tǒng)”。實際上,這就是“云”和“虛擬化”技術(shù)的雛形。
1964年,大西洋月刊發(fā)表了一篇題為《The Computers of Tomorrow(明日計算機)》的文章,詳細分析了公共計算服務(wù)與公共電網(wǎng)的異同點。
文章指出,計算想要成為像電網(wǎng)那樣的公共服務(wù),需要關(guān)注三個問題:
接口——用戶如何和資源進行對接?服務(wù)設(shè)備——用戶通過什么設(shè)備將資源轉(zhuǎn)換成服務(wù)?產(chǎn)品同質(zhì)性——電總歸是電,而計算是一種復(fù)雜的服務(wù),存在多樣性,存在不同的編程語言和硬件,如何兼容、交互?
1965年,在《The Computers of Tomorrow》的影響下,MAC項目組開始開發(fā)Multics分時多任務(wù)操作系統(tǒng)。在這個過程中,GE(通用電氣)被選為硬件供應(yīng)商,IBM出局。貝爾實驗室后來也加入到MAC的軟件開發(fā)中。
1965年,從MAC中出局的IBM開始研發(fā)CP-40/CMS分時操作系統(tǒng),該系統(tǒng)于1967年發(fā)布,是歷史上第一個虛擬機系統(tǒng)。
1969年,受不了Multics緩慢進展的貝爾實驗室從MAC項目退出,開始開發(fā)Unix操作系統(tǒng)(1970年問世)。
1969年,在約瑟夫·利克萊德(J.C.R.Licklider,IPTO負責人)的推動下,ARPA(國防部高級研究計劃局)研究的計算機網(wǎng)絡(luò)ARPANET誕生。
我相信大家都認識ARPANET,沒錯,這就是后來的Internet。
約瑟夫·利克萊德(1915-1990)
自此,云計算所依賴的三大底層技術(shù)全部出現(xiàn)了:
用于管理物理計算資源的操作系統(tǒng)用于把資源分給多人同時使用的虛擬化技術(shù)用于遠程接入的互聯(lián)網(wǎng)
▉ Part.2 網(wǎng)格計算——云計算理念的復(fù)蘇
雖然云計算基礎(chǔ)技術(shù)紛紛出現(xiàn),但20世紀70-80年代,人們沉浸于PC市場的繁榮,主要精力都放在了軟件和網(wǎng)絡(luò)上,進而忽視了對Utility Computing的關(guān)注。
1984年,SUN公司聯(lián)合創(chuàng)始人John Gage(約翰·蓋奇)提出 “網(wǎng)絡(luò)就是計算機(The Network is the Computer)”的重要猜想,用于描述分布式計算技術(shù)帶來的新世界。云計算,其實就是分布式計算的一種。
約翰·蓋奇
然而,人們?nèi)匀粵]有對云計算引起足夠的關(guān)注。
直到90年代,云計算相關(guān)的理念重新回到了人們的視野。不過這次它換了一個更簡單的名字,叫做網(wǎng)格計算(Grid Computing)。
網(wǎng)格(Grid)的叫法,和我們?nèi)粘@斫獾摹熬W(wǎng)格化管理”有很大不同,它是直接照搬自電網(wǎng)的概念(Electric Power Grid)。它的本質(zhì)目的,還是把大量機器整合成一個虛擬的超級機器,給分布在世界各地的人們使用,也就是公共計算服務(wù)。
1996年,康柏(Compaq)公司的一群技術(shù)主管在討論計算業(yè)務(wù)的發(fā)展時,首次使用了Cloud Computing這個詞,他們認為商業(yè)計算會向Cloud Computing的方向轉(zhuǎn)移。
1996年11月14日,康柏公司關(guān)于cloud computing的商業(yè)計劃
這是Cloud Computing(云計算)概念的真正首次出現(xiàn)。
1997年,美國教授Ramnath K. Chellappa對“Cloud Computing”這個詞做出了首個學(xué)術(shù)定義:“計算邊界由經(jīng)濟而并非完全由技術(shù)決定的計算模式”。
拉姆納特·K·切拉帕(印度裔)
此后的云計算發(fā)展,掀起了一股小高潮——
1997年,InsynQ基于HP的設(shè)備上線了按需使用的應(yīng)用和桌面服務(wù)。
1998 年,VMware公司成立,并首次引入 X86 的虛擬技術(shù)。同年,HP成立公共計算部門。
1999 年,MarcAndreessen創(chuàng)建LoudCloud,是世界上第一個商業(yè)化的IaaS平臺。
同年,salesforce.com公司成立。這家公司是目前公認的云計算先驅(qū),創(chuàng)始人是幾個Oracle公司前高管。
公司成立之初,他們就喊出了“No Software”的口號,宣布開啟”軟件終結(jié)“革命。
他們通過自己的互聯(lián)網(wǎng)站點向企業(yè)提供客戶關(guān)系管理(CRM)軟件系統(tǒng),使得企業(yè)不必像以前那樣通過部署自己的軟件系統(tǒng)來進行客戶管理。這就是最早的軟件即服務(wù)(SaaS)模型。
2000年,Sun公司發(fā)布 Sun cloud。
2001年,HP公司發(fā)布公共數(shù)據(jù)中心產(chǎn)品。
……
此時此刻,云計算已經(jīng)是呼之欲出了。
▉ Part.3 亞馬遜&谷歌——云計算的正式誕生
2000年,當時美國電子商務(wù)公司Amazon正在開發(fā)電商服務(wù)平臺Merchant.com,旨在幫助第三方公司在Amazon上構(gòu)建自己的在線購物網(wǎng)站。
不過,因為架構(gòu)設(shè)計能力和管理流程等方面的問題,這個項目進展緩慢。
于是,亞馬遜的管理層開始考慮,是不是可以將已有的代碼進行解耦,設(shè)計成獨立的API服務(wù),然后讓內(nèi)部或外部應(yīng)用進行服務(wù)調(diào)用。這樣,既可以節(jié)約后續(xù)的開發(fā)工作量,也可以增強系統(tǒng)的靈活性和復(fù)用度。
由此,2002年亞馬遜啟用了Amazon Web Services(AWS)平臺。當時該免費服務(wù)可以讓企業(yè)將Amazon.com的功能整合到自家網(wǎng)站上。
2003年,安迪·杰西(Andy Jassy),當時杰夫·貝索斯(Jeff Bezos,亞馬遜創(chuàng)始人)的秘書長,現(xiàn)在AWS的CEO,在貝索斯的家里召開了一次管理層會議。會上,大家決定要把應(yīng)用開發(fā)的通用部分抽離出來,做一個公共基礎(chǔ)設(shè)施服務(wù)平臺,讓內(nèi)外部開發(fā)者可以基于這個平臺開發(fā)自己的應(yīng)用。
安迪·杰西
隨后,他們整理了一系列可以成為公共服務(wù)的候選模塊,并從中挑了服務(wù)器、存儲和數(shù)據(jù)庫三個部分開始。不僅因為這三個需求最多,還因為Amazon最擅長這部分,畢竟低利潤率商業(yè)模式讓他在如何降低數(shù)據(jù)中心的運營成本上頗有積累。
2006年,亞馬遜推出了兩款重磅產(chǎn)品,分別是S3(Simple Storage Service,簡單存儲服務(wù))和EC2(Elastic Cloud Computer,彈性云計算),從而奠定了自家云計算服務(wù)的基石(直至今日都無人可以撼動)。
在那一期間,谷歌其實也沒有閑著。這家誕生于1998年的年輕公司,在2003~2006年期間,連續(xù)發(fā)表了四篇重磅文章,分別關(guān)于分布式文件系統(tǒng)(GFS)、并行計算(MapReduce)、數(shù)據(jù)管理(Big Table)和分布式資源管理(Chubby)。
這些關(guān)鍵技術(shù)不僅奠定了谷歌自家的云計算服務(wù)基礎(chǔ),也為全世界云計算、大數(shù)據(jù)的發(fā)展指明了方向。
2006年,27歲的Google高級工程師克里斯托夫·比希利亞第一次向Google董事長兼CEO施密特提出“云端計算”的想法。在施密特的支持下,Google推出了“Google 101計劃”,并正式提出“云”的概念。
克里斯托夫·比希利亞
后來《財富》雜志10大最具頭腦人物授予其“最聰明的工程師”稱號
于是,就有了本文開頭施密特發(fā)表的講話。
至此,云計算揭開了神秘的面紗,正式來到了公眾的面前。隨后的云計算,進入了快速發(fā)展階段,并最終滲透到了我們工作和生活的各個領(lǐng)域。