官术网_书友最值得收藏!

  • 人工智能導(dǎo)論
  • 周蘇 張泳主編
  • 6字
  • 2020-09-18 17:50:20

第一部分 引言

第1章 緒論

【導(dǎo)讀案例】云計算四十年歷史化蝶成繭

從計算機(jī)時代、網(wǎng)絡(luò)時代、因特網(wǎng)時代、云計算時代到物聯(lián)網(wǎng)時代、大數(shù)據(jù)時代,如今,人類社會已經(jīng)大踏步地進(jìn)入了人工智能時代。在開始學(xué)習(xí)人工智能知識之初,先來了解一下云計算的發(fā)展。

云計算(見圖1-1)領(lǐng)域里最不缺的就是遠(yuǎn)見。

圖1-1 云計算

早在大部分人還沒聽說過計算機(jī)的1961年,已經(jīng)有人預(yù)料到將來計算會成為公共服務(wù),然而直到2006年AWS(亞馬遜公司旗下的云計算服務(wù)平臺)發(fā)布S3和EC2,才算真正拉開云計算的大幕,其間四十多年風(fēng)風(fēng)雨雨,為什么最后做成的是亞馬遜呢?

AWS面向用戶提供包括彈性計算、存儲、數(shù)據(jù)庫、物聯(lián)網(wǎng)在內(nèi)的一整套云計算服務(wù),幫助企業(yè)降低IT投入和維護(hù)成本,輕松上云。確實,你甚至很難說亞馬遜做的是不是四十年前所想的那個公共計算。

1.云計算極簡史

1946年,世界上第一臺現(xiàn)代電子計算機(jī)ENIAC在賓夕法尼亞大學(xué)誕生。早期的計算機(jī)昂貴、巨大、稀有且同時只能讓一個人使用(即單用戶)。

1955年,MIT(麻省理工學(xué)院)的約翰·麥卡錫(1971年圖靈獎獲得者)提出了通過Time-sharing(分時)技術(shù)來滿足多人同時使用一臺計算機(jī)的訴求。

1961年,約翰·麥卡錫在MIT的百周年紀(jì)念上第一次提出了公共計算服務(wù)的概念:如果我設(shè)想的那種計算機(jī)能夠成真,那么計算或許某天會像電話一樣被組織成公共服務(wù)。公共計算服務(wù)(Utility Computing)將是一種全新的重要工業(yè)的基礎(chǔ)。這里說的計算機(jī)便是分時計算機(jī),即同時支持多人同時使用的計算機(jī)。

1963年,受麥卡錫的影響,MIT的約瑟夫·利克萊德負(fù)責(zé)的IP TO(信息處理技術(shù)辦公室)啟動了MAC(多址計算)項目,致力于推動分時系統(tǒng)的發(fā)展,具體目標(biāo)包括:

(1)分時系統(tǒng)。

(2)一個使用分時系統(tǒng)的群體。

(3)對用戶的教育。

1964年,大西洋月刊發(fā)表了一篇題為《明天的計算機(jī)》的文章,細(xì)致地分析了公共計算服務(wù)與公共電網(wǎng)的異同點,指出了計算像電網(wǎng)那樣成為公共服務(wù)需要關(guān)注的三個問題:

(1)接口——插上插座就能接入電力,而計算離大眾還太遠(yuǎn)。

(2)服務(wù)設(shè)備——專用設(shè)備將電力轉(zhuǎn)化成人們所需的服務(wù),如電燈、電機(jī)等,隨開隨用,而計算還需要復(fù)雜的編程才能使用。

(3)產(chǎn)品同質(zhì)性——電力是同質(zhì)產(chǎn)品,不管水電、火電還是風(fēng)電,接上用起來沒有區(qū)別,同時電力是單向的,而計算的應(yīng)用效果卻取決于用戶編程能力,這是一種與電力不同的雙向交互方式。

1965年,在《明天的計算機(jī)》的影響下,MAC項目組開始開發(fā)Multics操作系統(tǒng)。在這個過程中,通用電器被選為硬件供應(yīng)商,IBM出局,貝爾實驗室加入到MAC的軟件開發(fā)中。

1965年,從MAC中出局的IBM開始研發(fā)CP-40/CMS分時操作系統(tǒng),該系統(tǒng)于1967年發(fā)布,是歷史上第一個虛擬機(jī)系統(tǒng)。

1969年,貝爾實驗室從MAC項目退出,開始開發(fā)UNIX操作系統(tǒng)。

1969年,在利克萊德的推動下,ARP A(國防部高級研究計劃局)研究的計算機(jī)網(wǎng)絡(luò)ARPANET誕生,其后來發(fā)展為因特網(wǎng)。

自此,云計算所依賴的底層技術(shù)全部出現(xiàn)了:

● 管理物理計算資源——操作系統(tǒng)。

● 把資源分給多人同時使用——虛擬化技術(shù)。

● 遠(yuǎn)程接入——因特網(wǎng)。

技術(shù)的成熟需要時間,商業(yè)卻不能等待,從計算機(jī)被發(fā)明以來,人們對計算的需求便沒有停止過。面對公共服務(wù)的遠(yuǎn)夢,企業(yè)家們退而求其次,大型機(jī)、小型機(jī)、x86服務(wù)器,計算只能暫時被裝到盒子里分發(fā)。

計算機(jī)商業(yè)一片繁榮,但效用計算(Utility Computing)卻進(jìn)入了休眠期。效用計算是指一種提供服務(wù)的模型,在這個模型里,服務(wù)提供商提供客戶需要的計算資源和基礎(chǔ)設(shè)施管理,并根據(jù)應(yīng)用所占用的資源情況進(jìn)行計費,而不是僅僅按照速率進(jìn)行收費。

20世紀(jì)90年代,“效用計算”概念又一次復(fù)蘇,這次直接仿照電網(wǎng)起名叫網(wǎng)格計算(Grid Computing),其目標(biāo)是把大量機(jī)器整合成一個虛擬的超級機(jī)器,給分布在世界各地的人們使用,總之還是關(guān)乎公共計算服務(wù)。

1996年,康柏公司的一群技術(shù)主管在討論計算業(yè)務(wù)的發(fā)展時首次使用了云計算(Cloud Computing)這個詞,他們認(rèn)為商業(yè)計算會向云計算轉(zhuǎn)移。

1997年,美國教授拉姆納特·切拉帕對“云計算”這個詞做出了定義:“計算邊界由經(jīng)濟(jì)而并非完全由技術(shù)決定的計算模式”。

接下來是一波小浪潮。

1997年,InsynQ基于HP的設(shè)備上線了按需使用的應(yīng)用和桌面服務(wù)。

1998年,HP成立公共計算部門。

2000年,Sun發(fā)布Sun cloud。

2001年,HP發(fā)布公共數(shù)據(jù)中心產(chǎn)品。

2002年,亞馬遜上線AWS(Amazon.com Web Service),本意是把自己的商品目錄以SOAP接口的方式開放給開發(fā)者。

2002年,IBM在自己的E-business(電子商務(wù))基礎(chǔ)上,綜合網(wǎng)絡(luò)服務(wù)、開放標(biāo)準(zhǔn)、網(wǎng)格計算,進(jìn)一步提出E-business on-demand(按需電子商務(wù))的概念。

2006年,AWS發(fā)布S3(Simple Storage Service,簡單的存儲服務(wù))和EC2(Elastic Compute Cloud,彈性計算云),從此便拉開了云計算真正的大幕,AWS也一騎絕塵,成為云計算市場的領(lǐng)導(dǎo)者。然而有意思的是,這個時候的AWS還沒有提過云計算,不過云計算這個詞卻隨著EC2的發(fā)布迅速崛起,很快大家不再提網(wǎng)格計算和效用計算了。

2.AWS的崛起

歷史未必能重演,但回看歷史總能得到一些有益的啟發(fā),拋開那些繁雜的概念,我們不妨看看AWS到底是如何做出S3和EC2的。

時間回到2000年,當(dāng)時亞馬遜正在開發(fā)電商服務(wù)平臺Merchant.com,旨在幫助第三方公司在亞馬遜上構(gòu)建自己的在線購物網(wǎng)站。

不過這個項目進(jìn)展并沒有想象的順利。

亞馬遜1994年成立,隨后快速發(fā)展,但其技術(shù)架構(gòu)在設(shè)計之初顯然對未來一無所知,整個系統(tǒng)不過是隨業(yè)務(wù)快速發(fā)展而不斷修修補(bǔ)補(bǔ)起來的。這意味著想把它解耦并抽離出一個公共服務(wù)平臺是一個非常困難的問題。

難歸難,這不過是工作量的事情,但關(guān)鍵是亞馬遜的管理層敏銳地意識到了技術(shù)問題在制約公司的發(fā)展。于是整個公司的系統(tǒng)開始做服務(wù)化重構(gòu),把原來交織在一起的代碼解耦成獨立、設(shè)計良好并清晰描述的API服務(wù),不論內(nèi)部還是外部應(yīng)用,大家都按照API的方式進(jìn)行開發(fā)——也就是說大概從2000年開始,亞馬遜已經(jīng)悄然變成了服務(wù)化公司。

API化提高了系統(tǒng)復(fù)用性和靈活性,對多變的因特網(wǎng)業(yè)務(wù)來講,這種特性顯然尤其珍貴。

隨著公司業(yè)務(wù)發(fā)展,工程師的數(shù)量越來越多,亞馬遜卻發(fā)現(xiàn)雖然人數(shù)增加了,自己開發(fā)應(yīng)用的速度似乎并沒有加快。或許很容易用《人月神話》一書來回答這個問題,但亞馬遜并沒有滿足于追求一個解釋,他們想要的是解決方案。

AWS的Andy Jassy發(fā)現(xiàn)了一個活生生的例子:這是一個本來大家都以為三個月就會上線的項目,結(jié)果三個月過去了,項目組卻僅僅完成了服務(wù)器、數(shù)據(jù)庫和存儲部分的開發(fā)——進(jìn)一步調(diào)查,公司里大多數(shù)項目都是如此。顯然,公司有太多的時間被浪費在了重復(fù)造輪子上。

2003年,Jassy在貝佐斯的家里召開了一次管理層會議,會上大家決定要把應(yīng)用開發(fā)的通用部分抽離出來,做一個公共基礎(chǔ)設(shè)施服務(wù)平臺,不僅亞馬遜,甚至其他開發(fā)者也可以基于這個平臺開發(fā)自己的應(yīng)用。

到這里他們才第一次意識到這可能是改變歷史的東西。

隨后他們整理了一系列可以成為公共服務(wù)的候選模塊,并從中挑了服務(wù)器、存儲和數(shù)據(jù)庫三個部分開始。不僅僅是因為這三個需求最多,還因為亞馬遜最擅長這部分,畢竟低利潤率商業(yè)模式讓它在如何降低數(shù)據(jù)中心的運營成本上頗有積累。

再后來的故事,大家就都清楚了。

3.概念消失,產(chǎn)品的勝利

人們曾經(jīng)從工具的角度解釋過為什么大的云廠商目前都是成功的應(yīng)用開發(fā)公司:

公司業(yè)務(wù)覆蓋越廣,碰到的問題越多,曾經(jīng)解決的問題越多,在云計算轉(zhuǎn)型的過程中就越貼近客戶需求,成本越低,總體就越有優(yōu)勢。

AWS就是個活生生的例子,它能做成的第一個原因就是亞馬遜有這么多業(yè)務(wù),這種快速的業(yè)務(wù)嘗試讓其內(nèi)部環(huán)境像極了因特網(wǎng)創(chuàng)業(yè)的過程,所以它從自己需求出發(fā)找到的解決方案正是所有因特網(wǎng)業(yè)務(wù)都需要的銀彈。

其次,AWS僅僅抽離出了公共部分做成了服務(wù),而不是創(chuàng)造了新的東西,開發(fā)者還在使用自己熟悉的東西,只不過是在云上。作為對比,看一下谷歌2008年推出的第一個云產(chǎn)品Google App Engine,引用一段維基對它的描述:

有些應(yīng)用程序托管服務(wù)讓用戶安裝、配置幾乎所有?NIX兼容的軟件,而App Engine則要求開發(fā)者使用Python或Java語言來編程,而且只能使用一套限定的API。當(dāng)前的API允許程序在一個BigTable非關(guān)系數(shù)據(jù)庫上存儲和檢索數(shù)據(jù)、提出HTTP請求、發(fā)送E-mail、處理圖像、進(jìn)行緩存。大多數(shù)現(xiàn)存的Web應(yīng)用程序,若未經(jīng)修改,均不能直接在App Engine上運行,因為它們需要使用關(guān)系數(shù)據(jù)庫。

Google的技術(shù)實力不容置疑,相信App Engine這么設(shè)計一定讓它在彈性方面具有巨大優(yōu)勢,但不知道他們有沒有想過,這種對用戶的“過度關(guān)愛”是否真是當(dāng)時用戶想要的。

最后從外部環(huán)境來看,AWS正好趕上了因特網(wǎng)一波創(chuàng)業(yè)浪潮。內(nèi)外幾個因素疊加到一起,最終的結(jié)果就是AWS收割了因特網(wǎng)創(chuàng)業(yè)潮的紅利,快速崛起。拋開運氣的成分,從這段歷史來看,AWS沒有炒作概念——否則不至于2006年推出S3和EC2的時候都沒提云計算;AWS也沒有鉆研技術(shù)——EC2底層的虛擬化技術(shù)直接應(yīng)用了開源的Xen;但AWS卻在做產(chǎn)品——剖析問題,抽象解決方案并最終收斂成了三個產(chǎn)品。

云計算在發(fā)展,AWS和Azure等云廠商的熱度在崛起,云計算的概念卻在衰落,抽象的概念被具體的產(chǎn)品所取代,或許這便是成熟的標(biāo)志。

所以AWS們確實殺死了云計算,云計算從一個漂亮的蝴蝶概念蛻化成了一個繭——云主機(jī)與云存儲,只不過這個繭太丑陋了,以至于很多人都說這不過是傳統(tǒng)主機(jī)托管的概念封裝。

但AWS在2003年是有遠(yuǎn)見和野心的,他們想的是如果大家都基于AWS做開發(fā),或許AWS未來會成為網(wǎng)絡(luò)操作系統(tǒng)。

計算需要交互,為何非要像水和電?

文:郭華,2019/04/07,本文首發(fā)鈦媒體。

主站蜘蛛池模板: 江永县| 菏泽市| 车致| 亚东县| 乌拉特中旗| 成都市| 桐梓县| 文登市| 磐安县| 苏尼特右旗| 新竹县| 新乐市| 宜兰市| 晋江市| 体育| 屯昌县| 梅河口市| 江达县| 溧水县| 田东县| 万年县| 大洼县| 高台县| 股票| 旌德县| 沙洋县| 石楼县| 信阳市| 德昌县| 麻阳| 密山市| 宝兴县| 金平| 孝感市| 泸溪县| 苏州市| 清新县| 桃园市| 陇西县| 封开县| 思茅市|