雲端運算到底是誰發明的?

說到雲端運算的起源,公眾普遍認為,谷歌前CEO埃里克·施密特是雲端運算概念的第一個提出者。

2006年8月9日,在搜尋引擎大會(SES San Jose 2006)上,他提出了「雲端運算(Cloud Computing)」的概念。

埃里克·施密特(Eric Schmidt)

埃里克·施密特(Eric Schmidt)

也有人認為,當今雲端運算市場的龍頭老大——美國亞馬遜(Amazon)公司,在更早的2006年3月,就正式推出了自家的彈性計算雲(Elastic Compute Cloud,EC2)服務,是事實上的雲端運算開創者。

其實,準確來說,不管是谷歌還是亞馬遜,都不是雲端運算的發明人。雲端運算概念的提出,遠比我們想象中要早得多。

今天這篇文章,我們就針對雲端運算來一次徹底的「尋根問祖」。

▉ Part.1 公共計算——雲端運算理論的萌芽

大家應該還記得,我們的計算機通識課本里說過,世界上第一臺電子計算機是ENIAC(埃尼阿克)

Electronic Numerical Integrator And Computer

電子數字積分計算機

其實,嚴謹來說,ENIAC只能算是世界上第二臺電子計算機。在它之前,還有一臺名叫阿塔納索夫-貝瑞(Atanasoff–Berry Computer)的計算機,簡稱ABC計算機。只不過這臺ABC計算機不可程式設計,所以ENIAC是第一臺通用電子計算機。

ENIAC的出現,宣告了計算時代的開始,從此人類打開了計算機世界的大門。

像ENIAC這樣的早期計算機,體型巨大、耗資昂貴,計算能力也非常有限。最重要的是,它缺乏多使用者能力,同一時間只能被一個人佔用。大家都想用的話,只能排隊。

1955年,美國麻省理工學院(MIT)的約翰·麥卡錫(John McCarthy)教授提出了time-sharing(分時)的技術理念,希望藉此可以滿足多人同時使用一臺計算機的訴求。

約翰·麥卡錫(1927-2011)

約翰·麥卡錫(1927-2011)

這個約翰·麥卡錫大家應該很眼熟,沒錯,他就是Artificial Intelligence(AI)概念的提出者,世界公認的人工智慧之父,後來在1971年獲得了圖靈獎。

無獨有偶,1959年6月,英國電腦科學家克里斯托弗·斯特雷奇(Christopher Strachey)在國際資訊處理大會上,發表了一篇學術論文,也是關於大型機共享使用的,名字叫做《大型高速計算機中的時間共享(Time Sharing in Large Fast Computer)》

克里斯托弗·斯特雷奇(1916-1975)

克里斯托弗·斯特雷奇(1916-1975)

在這篇論文中,虛擬化的概念被首次提出。現在我們都知道,虛擬化是如今雲端運算架構的基石。當時那篇論文,絕對堪稱「驚為天人」。

到了1961年,又是咱們的大神約翰·麥卡錫,在麻省理工學院一百週年紀念慶典上,首次提出了Utility Computing(公共計算服務)的概念:

「如果我設想的那種計算機(注:即分時計算機,同時支持多人同時使用的計算機)能夠成真,那麼計算或許某天會像電話一樣被組織成公共服務…… Utility Computing(公共計算服務)將是一種全新的重要工業的基礎。」

這個Utility Computing的翻譯,其實行業裡存在一定的爭議。Utility有「公共服務、實用、效用」的意思,有人把它翻譯成公共計算,也有人翻譯成效用計算。

麥卡錫的理念,其實借鑑了傳統的電廠模式。

說白了,就是把計算資源當作是一種像電一樣的能源資源。使用者可以像把燈泡插入插座一樣,隨時隨地使用計算資源,並根據使用量進行付費。

受麥卡錫觀點的影響,麻省理工學院和DARPA(美國國防高級研究計劃局)下屬的IPTO(資訊處理技術辦公室)共同啟動了著名的MAC(Multiple Access Computing)項目。DARPA還專門提供了約200萬美元的項目津貼。

MAC項目的目標,就是開發「多人可同時使用的電腦系統」。實際上,這就是「雲」和「虛擬化」技術的雛形。

1964年,大西洋月刊發表了一篇題為《The Computers of Tomorrow(明日計算機)》的文章,詳細分析了公共計算服務與公共電網的異同點。

文章指出,計算想要成為像電網那樣的公共服務,需要關注三個問題:

  • 接口——使用者如何和資源進行對接?

  • 服務設備——使用者透過什麼設備將資源轉換成服務?

  • 產品同質性——電總歸是電,而計算是一種複雜的服務,存在多樣性,存在不同的程式語言和硬體,如何兼容、互動?

1965年,在《The Computers of Tomorrow》的影響下,MAC項目組開始開發Multics分時多工作業系統。在這個過程中,GE(通用電氣)被選為硬體供應商,IBM出局。貝爾實驗室後來也加入到MAC的軟體開發中。

1965年,從MAC中出局的IBM開始研發CP-40/CMS分時作業系統,該系統於1967年發佈,是歷史上第一個虛擬機器系統

1969年,受不了Multics緩慢進展的貝爾實驗室從MAC項目退出,開始開發Unix作業系統(1970年問世)

1969年,在約瑟夫·利克萊德(J.C.R.Licklider,IPTO負責人)的推動下,ARPA(國防部高級研究計劃局)研究的計算機網路ARPANET誕生。

我相信大家都認識ARPANET,沒錯,這就是後來的Internet。

約瑟夫·利克萊德(1915-1990)

自此,雲端運算所依賴的三大底層技術全部出現了:

  • 用於管理物理計算資源的作業系統

  • 用於把資源分給多人同時使用的虛擬化技術

  • 用於遠端接入的網際網路

▉ Part.2 網格計算——雲端運算理念的復甦

雖然雲端運算基礎技術紛紛出現,但20世紀70-80年代,人們沉浸於PC市場的繁榮,主要精力都放在了軟體和網路上,進而忽視了對Utility Computing的關注。

1984年,SUN公司聯合創始人John Gage(約翰·蓋奇)提出 「網路就是計算機(The Network is the Computer)」的重要猜想,用於描述分散式計算技術帶來的新世界。雲端運算,其實就是分散式計算的一種。

約翰·蓋奇

約翰·蓋奇

然而,人們仍然沒有對雲端運算引起足夠的關注。

直到90年代,雲端運算相關的理念重新回到了人們的視野。不過這次它換了一個更簡單的名字,叫做網格計算(Grid Computing)

網格(Grid)的叫法,和我們日常理解的「網格化管理」有很大不同,它是直接照搬自電網的概念(Electric Power Grid)。它的本質目的,還是把大量機器整合成一個虛擬的超級機器,給分佈在世界各地的人們使用,也就是公共計算服務。

1996年,康柏(Compaq)公司的一群技術主管在討論計算業務的發展時,首次使用了Cloud Computing這個詞,他們認為商業計算會向Cloud Computing的方向轉移。

1996年11月14日,康柏公司關於cloud computing的商業計劃

這是Cloud Computing(雲端運算)概念的真正首次出現。

1997年,美國教授Ramnath K. Chellappa對「Cloud Computing」這個詞做出了首個學術定義:「計算邊界由經濟而並非完全由技術決定的計算模式」。

拉姆納特·K·切拉帕(印度裔)

拉姆納特·K·切拉帕(印度裔)

此後的雲端運算發展,掀起了一股小高潮——

1997年,InsynQ基於HP的設備上線了按需使用的應用和桌面服務。

1998 年,VMware公司成立,並首次引入 X86 的虛擬技術。同年,HP成立公共計算部門。

1999 年,MarcAndreessen創建LoudCloud,是世界上第一個商業化的IaaS平臺。

同年,salesforce.com公司成立。這家公司是目前公認的雲端運算先驅,創始人是幾個Oracle公司前高管。

公司成立之初,他們就喊出了「No Software」的口號,宣佈開啟」軟體終結「革命。

他們透過自己的網際網路站點向企業提供客戶關係管理(CRM)軟體系統,使得企業不必像以前那樣透過部署自己的軟體系統來進行客戶管理。這就是最早的軟體即服務(SaaS)模型。

2000年,Sun公司發佈 Sun cloud。

2001年,HP公司發佈公共資料中心產品。

……

此時此刻,雲端運算已經是呼之欲出了。

▉ Part.3 亞馬遜&谷歌——雲端運算的正式誕生

2000年,當時美國電子商務公司Amazon正在開發電商服務平臺Merchant.com,旨在幫助第三方公司在Amazon上構建自己的線上購物網站。

不過,因為架構設計能力和管理流程等方面的問題,這個項目進展緩慢。

於是,亞馬遜的管理層開始考慮,是不是可以將已有的程式碼進行解耦,設計成獨立的API服務,然後讓內部或外部應用進行服務調用。這樣,既可以節約後續的開發工作量,也可以增強系統的靈活性和複用度。

由此,2002年亞馬遜啟用了Amazon Web Services(AWS)平臺。當時該免費服務可以讓企業將Amazon.com的功能整合到自家網站上。

2003年,安迪·傑西(Andy Jassy),當時傑夫·貝佐斯(Jeff Bezos,亞馬遜創始人)的祕書長,現在AWS的CEO,在貝佐斯的家裡召開了一次管理層會議。會上,大家決定要把應用開發的通用部分抽離出來,做一個公共基礎設施服務平臺,讓內外部開發者可以基於這個平臺開發自己的應用。

安迪·傑西

隨後,他們整理了一系列可以成為公共服務的候選模組,並從中挑了伺服器、儲存和資料庫三個部分開始。不僅因為這三個需求最多,還因為Amazon最擅長這部分,畢竟低利潤率商業模式讓他在如何降低資料中心的運營成本上頗有積累。

2006年,亞馬遜推出了兩款重磅產品,分別是S3(Simple Storage Service,簡單儲存服務)和EC2(Elastic Cloud Computer,彈性雲端運算),從而奠定了自家雲端運算服務的基石(直至今日都無人可以撼動)。

在那一期間,谷歌其實也沒有閒著。這家誕生於1998年的年輕公司,在2003~2006年期間,連續發表了四篇重磅文章,分別關於分散式檔案系統(GFS)平行計算(MapReduce)資料管理(Big Table)分散式資源管理(Chubby)

這些關鍵技術不僅奠定了谷歌自家的雲端運算服務基礎,也為全世界雲端運算、大資料的發展指明瞭方向。

2006年,27歲的Google高級工程師克里斯托夫·比希利亞第一次向Google董事長兼CEO施密特提出「雲端計算」的想法。在施密特的支持下,Google推出了「Google 101計劃」,並正式提出「雲」的概念。

克里斯托夫·比希利亞

克里斯托夫·比希利亞

後來《財富》雜誌10大最具頭腦人物授予其「最聰明的工程師」稱號

於是,就有了本文開頭施密特發表的講話。

至此,雲端運算揭開了神祕的面紗,正式來到了公眾的面前。隨後的雲端運算,進入了快速發展階段,並最終滲透到了我們工作和生活的各個領域。

相關文章

世界算力簡史(下)

世界算力簡史(下)

世界算力簡史(上) 世界算力簡史(中) 今天終於要完結了…… █1980-1990:PC時代 IBM-PC和「兼容機」 上一篇,我們說到,7...

英偉達的元宇宙夢想,不止 Omniverse

英偉達的元宇宙夢想,不止 Omniverse

英偉達已經成為元宇宙的基礎服務商。 作者 | Founder Park 要談元宇宙,英偉達是避不開的。 不管是更真實呈現虛擬世界所需要的光追...

關於「算力」,這篇文章值得一看

關於「算力」,這篇文章值得一看

今天這篇文章,我們來聊聊算力。 這兩年,算力可以說是ICT行業的一個熱門概念。在新聞報道和大咖演講中,總會出現它的身影。 那麼,究竟到底什麼...