云計算領域里最不缺的就是遠見。
早在大部分人還沒聽過計算機的 1961 年,已經有人預料到將來計算會成為公共服務,然而直到 2006 年 AWS 發布 S3 和 EC2,才算真正拉開云計算的大幕,其間四十多年風風雨雨,為什么最后做成的是網上賣貨的 Amazon?
而且你很難說 Amazon 做的是不是四十年前大家想的那個云計算。
01 云計算極簡史
云計算極簡時間軸
1946 年,世界上第一臺現代電子計算機 ENIAC 在賓夕法尼亞大學誕生。早期的計算機昂貴、巨大、稀有且同時只能讓一個人使用。
1955 年,MIT 的 John McCarthy(人工智能之父、1971 年圖靈獎獲得者)想到了通過 time-sharing(分時)技術來滿足多人同時使用一臺計算機的訴求[1]。
1961 年,John McCarthy 在 MIT 的百周年紀念上第一次提出了公共計算服務的概念[2]:
如果我設想的那種計算機能夠成真,那么計算或許某天會像電話一樣被組織成公共服務…… 公共計算服務(Utility Computing)將是一種全新的重要工業的基礎。
注:這里說的計算機便是分時計算機,即同時支持多人同時使用的計算機。
1963 年,受 McCarthy 的影響,MIT 跟 Licklider 負責的 IPTO 共同啟動了 Project MAC(Multiple Access Computing)[3],致力于推動分時系統的發展,VPS租用 國內服務器,具體目標包括:1)分時系統 ;2)一個使用分時系統的群體;3)對用戶的教育。
1964 年,大西洋月刊發表了一篇題為《The Computers of Tomorrow》的文章[4],細致的分析了公共計算服務與公共電網的異同點,指出了計算想像電網那樣成為公共服務需要關注的三個問題:
接口——插上插座就能接入電力,而計算離大眾還太遠;
服務設備——專用設備將電力轉化成人們所需的服務,如電燈、電機等,隨開隨用,而計算還需要復雜的編程才能使用;
產品同質性——電力是同質產品,不管水電火電還是風電,接上用起來沒區別,同時電力是單向的,而計算的應用效果卻取決于用戶編程能力,這是一種與電力不同的雙向交互方式。
1965 年,在《The Computers of Tomorrow》的影響下,MAC 項目組開始開發 Multics 操作系統[5]。在這個過程中,通用電器被選為硬件供應商,IBM 出局,貝爾實驗室加入到 MAC 的軟件開發中。
1965 年,從 MAC 中出局的 IBM 開始研發 CP-40/CMS[6] 分時操作系統,該系統于 1967 年發布,是歷史上第一個虛擬機系統。
1969 年,受不了 Multics 緩慢進展的貝爾實驗室從 MAC 項目退出,開始開發 Unix 操作系統[7]。
1969 年,在 Licklider 的推動下,ARPA(國防部高級研究計劃局)研究的計算機網絡 ARPANET[8] 誕生,其后來發展為 Internet。
自此,云計算所依賴的底層技術全部出現了:
管理物理計算資源——操作系統; 把資源分給多人同時使用——虛擬化技術; 遠程接入——互聯網;
醉里挑燈看劍,夢回吹角連營——技術的成熟需要時間,商業卻不能等待,從計算機被發明以來,人們對計算的需求便沒停止過。面對公共服務的遠夢,企業家們退而求其次,大型機、小型機、x86 服務器,計算只能暫時被裝到盒子里分發。
計算機商業一片繁榮,但 Utility Computing 卻進入了休眠期。
計算資源的分布[9]
1990 年代,Utility Computing 概念又一次復蘇,這次直接照搬了電網(Electric Power Grid)起名叫網格計算(Grid Computing),其目標是把大量機器整合成一個虛擬的超級機器,給分布在世界各地的人們使用,總之還是公共計算服務的[10]。
1996 年,康柏公司的一群技術主管在討論計算業務的發展時首次使用了 Cloud Computing 這個詞[11],他們認為商業計算會向 Cloud Computing 轉移。
1996 年康柏公司關于 cloud computing 的商業計劃
1997 年,美國教授 Ramnath Chellappa 對“Cloud Computing”這個詞做出了定義:“計算邊界由經濟而并非完全由技術決定的計算模式”[12]。
接下來是一波小浪潮[13]。
1997 年,InsynQ 基于 HP 的設備上線了按需使用的應用和桌面服務。
1998 年,HP 成立公共計算部門。
2000 年,Sun 發布 Sun cloud。
2001 年,HP 發布公共數據中心產品。
2002 年,Amazon 上線 AWS(Amazon.com Web Service),本意是把自己的商品目錄以 SOAP 接口的方式開放給開發者[14]。
2002 年,IBM 在自己的 E-business 基礎上,綜合網絡服務(Web Service)、開放標準(Open Standard)、Grid Computing,進一步提出 E-business on-demand 的概念[15]。
到這里為止,云計算還看不到什么曙光。