01 人類(lèi)文明的發(fā)展元素
原始社會(huì )史學(xué)家摩爾根在其里程碑式的著(zhù)作《古代社會(huì )》中說(shuō)到:“野蠻人的進(jìn)化是一步一步的,當他發(fā)現金屬礦的時(shí)候,當他學(xué)會(huì )熔解這些礦石并澆鑄在模具中的時(shí)候,當他把銅礦與錫共同融合制造青銅的時(shí)候,當他發(fā)明熔爐并學(xué)會(huì )冶鐵的時(shí)候……直到當他學(xué)會(huì )制造帶有刃和尖的鐵器的時(shí)候,文明最終才算到來(lái)”。
摩爾根把冶鐵技術(shù)的發(fā)明叫做“關(guān)于事件的事件,制造工具的工具”,在考察了各種古代社會(huì )形態(tài)之后,他指出人類(lèi)社會(huì )發(fā)展核心動(dòng)力是使用與制造工具的過(guò)程,人們不僅使用工具,人們還要制造工具,這兩者相輔相成,共同推動(dòng)著(zhù)人類(lèi)進(jìn)步,而制造工具更是重中之重。
受摩爾根的啟發(fā),早在計算機剛剛發(fā)明的時(shí)候,后來(lái)的第一屆圖靈獎得主Alan Perlis曾經(jīng)寫(xiě)下這樣兩條法則:
被訓練的能夠使用工具的人,被開(kāi)發(fā)出來(lái)用以使用的工具,這兩者的不斷增加表明工具集合逐漸會(huì )成長(cháng)為產(chǎn)品而不是簡(jiǎn)單的加和。創(chuàng )造的部分——用以開(kāi)發(fā)工具的工具數量與使用情況——也是產(chǎn)品的一部分,并且這部分更能從長(cháng)期保證工具使用的增長(cháng)。
計算機與互聯(lián)網(wǎng)的出現不過(guò)短短幾十年,站在未來(lái)看現在,我們極以傲的新時(shí)代可能僅僅是信息文明的一點(diǎn)萌芽,然而復雜系統背后都有簡(jiǎn)單道理,這兩條法則或許也是信息文明發(fā)展的第一性原理。
這兩條法則有多種應用層次,不僅可以解釋全局,也可以解釋局部。
比如,我們用它來(lái)看看國內互聯(lián)網(wǎng)。
注:工具是一個(gè)比較抽象的詞,既可以被人用來(lái)開(kāi)發(fā)其他工具也可以直接使用,為了方便理解,我們先以互聯(lián)網(wǎng)為例做一個(gè)粗淺的劃分,直接被人使用的叫做應用,用以開(kāi)發(fā)這些應用的工具叫做信息技術(shù),簡(jiǎn)稱(chēng)技術(shù)。
中國消費互聯(lián)網(wǎng)與產(chǎn)業(yè)互聯(lián)網(wǎng)的發(fā)展速度不匹配,法則一,中國有大量的使用信息工具(應用)網(wǎng)民,在這種人口紅利的驅動(dòng)下各個(gè)公司進(jìn)行了大量場(chǎng)景和業(yè)務(wù)創(chuàng )新,提供了非常多的應用工具,這兩者構成了國內消費互聯(lián)網(wǎng)的繁榮景象。但根據法則二,國內用以開(kāi)發(fā)這些應用的工具往往是從國外引入的(操作系統、編程語(yǔ)言、數據庫,開(kāi)發(fā)框架、大數據引擎、人工智能框架與算法包),這一部分長(cháng)期落后,而且具有使用能力的開(kāi)發(fā)者不多,導致使用情況很淺,所以長(cháng)期看發(fā)展后勁不足,這便是產(chǎn)業(yè)互聯(lián)網(wǎng)的落后局面。
所以互聯(lián)網(wǎng)不是走完上半場(chǎng)該走下半場(chǎng)了,而是說(shuō)國內產(chǎn)業(yè)互聯(lián)網(wǎng)的乏力影響了消費互聯(lián)網(wǎng)的發(fā)展——很顯然消費者的需求還遠遠沒(méi)被滿(mǎn)足。
舉個(gè)例子,我們看一下隨著(zhù)中國互聯(lián)網(wǎng)一起發(fā)展起來(lái)的搜索引擎。
你別看搜索引擎動(dòng)不動(dòng)返回幾百萬(wàn)條結果,其實(shí)根本是他不知道你需要什么東西,也不知道自己返回了什么東西,你想要的東西混在大量的垃圾頁(yè)面里面,所以每次檢索都要點(diǎn)開(kāi)十幾個(gè)頁(yè)面。
而造成這個(gè)情況的原因恰恰是開(kāi)發(fā)搜索應用的技術(shù)還相當初級——且未得到廣泛應用。
搜索引擎從效果上最依賴(lài)的是自然語(yǔ)言處理技術(shù),在深度學(xué)習和知識圖譜的強力夾持下,某些特定場(chǎng)景已經(jīng)取得了較為理想的結果,比如搜索“姚明的老婆”會(huì )返回“葉莉”,但在更為廣闊的領(lǐng)域,在那些還來(lái)不及精心設計一個(gè)知識圖譜的領(lǐng)域其效果便略顯遺憾了,比如你輸入“鈦媒體的作者”,百度只能給你一個(gè)帶有“鈦媒體作者”標示的頁(yè)面鏈接,并沒(méi)有奇跡般的直接把鈦媒體作者及其介紹展示給你,于是你不得不懷疑人工智能里到底有多少人工。而且這還是頂級公司,他們研究多年的技術(shù)并沒(méi)有廣泛傳播出來(lái)。
更為一般的公司用以開(kāi)發(fā)搜索工具的工具則更為初級,原理就是詞頻。哪個(gè)詞出現的多哪個(gè)詞就重要,就代表了文章的意思,然后有些詞實(shí)在太常見(jiàn)了,以至于在所有文章里出現次數都多,這些詞就需要降一下權重(TF-IDF)。為了體面,這里就不再提中文連詞都分不準的問(wèn)題了。而且使用詞頻的還不算太差,更有甚者,是直接用的Mysql自帶的字符串匹配……
02 云計算的位置與意義
云計算市場(chǎng)規模一年比一年高,參與者一年比一年多,拋開(kāi)金錢(qián)的味道,我們在上面兩條法則下看一下云計算所處的位置。
云計算這個(gè)詞很抽象,不妨看看云計算到底提供了什么產(chǎn)品,這些產(chǎn)品要怎么用。
阿里云產(chǎn)品截圖
服務(wù)器、數據庫、負載均衡、圖像識別、圖像搜索等等,顯然這些都是用以生產(chǎn)工具,是工具的工具。
云計算產(chǎn)品如何使用
以實(shí)時(shí)計算產(chǎn)品為例來(lái)看一下原產(chǎn)品的用法。一般云產(chǎn)品都會(huì )有一個(gè)web控制臺,直接通過(guò)瀏覽器登陸后進(jìn)行操作,管理資源和進(jìn)行開(kāi)發(fā)。瀏覽器相當于一個(gè)入口,作業(yè)在云服務(wù)商的數據中心運行,數據也存儲于這些分散在世界各地的數據中心里。
在云計算早期的時(shí)候很多人說(shuō)這是舊瓶裝新酒,和傳統的VPC或服務(wù)器托管沒(méi)多少區別,但我們不要拘泥于兩者相似之處固步自封。服務(wù)器托管并不是云計算的特點(diǎn),生產(chǎn)完備性才是云計算想象力的基礎:打開(kāi)aws、azure和阿里云的產(chǎn)品頁(yè)面看看,基本上開(kāi)發(fā)用到的各種工具都有提供,而且大部分是這些大廠(chǎng)直接提供的。
以第一節提到的搜索為例,各大云廠(chǎng)商均提供了多種自然語(yǔ)言處理工具,比如分詞、實(shí)體識別等,一般公司基于這些工具開(kāi)發(fā)自己的搜索,至少可以對標當今科技的先進(jìn)水平,這在云計算出現之前是很難想象的。
所以從互聯(lián)網(wǎng)整體來(lái)看,云計算就是信息時(shí)代關(guān)于工具的工具,關(guān)于事件的事件,通過(guò)云的方式促進(jìn)技術(shù)的傳播與使用,進(jìn)而促進(jìn)應用的發(fā)展,這才是云計算的價(jià)值與位置,應用側在互聯(lián)網(wǎng)時(shí)代創(chuàng )造的一切輝煌云計算都將重演,甚至更烈。
說(shuō)到這里,我們很容易解釋一個(gè)現象:大的云計算廠(chǎng)商目前大部分是成功的應用開(kāi)發(fā)商,比如AWS、谷歌云和阿里云。
從整個(gè)互聯(lián)網(wǎng)來(lái)看,云廠(chǎng)商處在供給者的角色,提供創(chuàng )造工具的工具,那么很顯然,只有創(chuàng )造過(guò)工具的人才知道工具如何創(chuàng )造,才能更好的提供創(chuàng )造工具的工具——這聽(tīng)起來(lái)有點(diǎn)繞,我們不妨舉個(gè)例子。
很多互聯(lián)網(wǎng)公司業(yè)務(wù)都有季節周期,甚至每天都有波峰波谷,如果他們尋找解決方案提供商,那誰(shuí)最擅長(cháng)?
顯然像Amazon和阿里巴巴這樣的公司最有經(jīng)驗,雙十一、雙十二、黑五等各種活動(dòng)讓他們飽經(jīng)歷練,積累起大量關(guān)于彈性的技術(shù),很多客戶(hù)的挑戰在他們這里不過(guò)是送分題,所以提供的解決方案也更為有效。
再以前面提到的搜索技術(shù)為例,假如谷歌把自己的搜索技術(shù)直接云化提供,大家接入后很快就便把搜索水平提升到了世界最先進(jìn)水平。
除此之外,對云廠(chǎng)商來(lái)說(shuō),把原有技術(shù)直接云化還省去了大量研發(fā)成本。
所以公司業(yè)務(wù)覆蓋越廣,碰到的問(wèn)題越多,曾經(jīng)解決的問(wèn)題越多,在云計算轉型的過(guò)程中就越貼近客戶(hù)需求,成本越低,總體就越有優(yōu)勢。
03 云廠(chǎng)商、第三方市場(chǎng)與開(kāi)發(fā)者
看完整體,我們再用這兩條法則看一下局部。
被訓練的能夠使用工具的人,被開(kāi)發(fā)出來(lái)用以使用的工具,這兩者的不斷增加表明工具集合逐漸會(huì )成長(cháng)為產(chǎn)品而不是簡(jiǎn)單的加和。
創(chuàng )造的部分——用以開(kāi)發(fā)工具的工具數量與使用情況——也是產(chǎn)品的一部分,并且這部分更能從長(cháng)期保證工具使用的增長(cháng)。
我們可以把云計算廠(chǎng)商提供的產(chǎn)品叫做工具,開(kāi)發(fā)者顯然就是使用這些工具的人,那么從第一條法則來(lái)看,云廠(chǎng)商需要:
增加工具的供給
訓練&增加開(kāi)發(fā)者的數量
說(shuō)到工具的供給,除了在第二節提到的自研和把自己原來(lái)的系統直接云化之外,各大云廠(chǎng)商還有自己的第三方市場(chǎng),就像蘋(píng)果的APP store一樣,允許其它公司和個(gè)人提供服務(wù)。
然后說(shuō)一下開(kāi)發(fā)者。
AWS re:Invent 2018的主題——It is all about builders。我覺(jué)得這句話(huà)說(shuō)的特別好,恰好代表了云廠(chǎng)商對開(kāi)發(fā)者該有的態(tài)度。
開(kāi)發(fā)者首先是自己培養,有些產(chǎn)品完全是云廠(chǎng)商的自研產(chǎn)品,必須要培養開(kāi)發(fā)者,這點(diǎn)各大云廠(chǎng)商都有自己的開(kāi)發(fā)者社區,也都在提供開(kāi)發(fā)者認證培訓。
其次是開(kāi)源開(kāi)發(fā)者,除了自研產(chǎn)品與開(kāi)源產(chǎn)品保持兼容之外(比如阿里云的MaxCompute大數據服務(wù)保持了與開(kāi)源軟件HIVE的兼容),大家最近都在直接爭奪開(kāi)源社區開(kāi)發(fā)者——微軟收購Github、阿里引入Elastic&收購Flink、AWS和Azure引入Databricks等等,甚至阿里畢玄最近有一篇標題為《開(kāi)發(fā)者生態(tài),未來(lái)云的勝負手》的文章。
我前面在鈦媒體的文章《OAS啟示錄:2B業(yè)務(wù)高昂的售前售后成本是否能通過(guò)開(kāi)放源碼降低?》介紹過(guò)開(kāi)源軟件如何降低銷(xiāo)售與交付成本。開(kāi)源軟件已經(jīng)存在了大量經(jīng)過(guò)高度訓練的開(kāi)發(fā)者,顯然這種紅利對云廠(chǎng)商來(lái)說(shuō)不得不考慮,引入開(kāi)源產(chǎn)品不僅能補充云產(chǎn)品,還能獲取大量開(kāi)源開(kāi)發(fā)者,一舉多得。
大家都知道云計算不是新概念,但可能不知道云計算的目標最初就包含開(kāi)發(fā)者。
云計算概念的雛形是1961年由John McCarthy(人工智能之父、1971年圖靈獎獲得者)在MIT的百周年紀念上第一次提出的:
如果我設想的那種計算機能夠成真,那么計算或許某天會(huì )像電話(huà)一樣被組織成公共服務(wù)…… 公共計算服務(wù)(Utility Computing)將是一種全新的重要工業(yè)的基礎。
注:這里說(shuō)的計算機便是分時(shí)計算機,即同時(shí)支持多人使用的計算機。
在公共計算服務(wù)思想的推動(dòng)下,1963年,美國軍方IPTO與MIT、GE、貝爾實(shí)驗室一起發(fā)起了MAC(Multiple Access Computing)項目,這可以認為是云計算的系統雛形。
MAC項目最初目標由MIT提供,共包括三個(gè)部分:1)分時(shí)系統;2)一個(gè)使用分時(shí)系統的群體;3)教育。
注:對于這段歷史感興趣的讀者可以參考《Project MAC》
所以你看,即使在云計算的石器時(shí)代,大家已經(jīng)意識到了用戶(hù)的重要性。
04 總結
其實(shí)Alan Perlis的這兩條法則是不是什么第一性原理并不關(guān)鍵,關(guān)鍵的是他能夠讓我們看清一個(gè)復雜系統發(fā)展的關(guān)鍵因素,能夠看清各種紛雜事件所處的位置。
就像指南針,雖然不能讓你直接達到目的地,但至少能夠防止你迷失方向。
不識廬山真面目,只緣身在此山中,畢竟我們處在云計算的高速發(fā)展之中,最不缺乏的就是細節。希望這兩條法則能讓你跳出山來(lái)看山,跳出云來(lái)看云。