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