雲計算簡史(完整版)

t媒體 發佈 2021-08-03T07:34:34.505223+00:00

圍繞雲計算相關的技術領域、技術名詞和技術產品令人眼花繚亂。在雲計算髮端之初,應用開發環境還比較簡單,當時還有所謂的全棧工程師存在,意味著如果不考慮開發周期,一個人就能搞定整個應用軟體。今天,這個稱謂已經名不符實。很少再有一個人,甚至一個企業能夠全面掌握和雲計算有關的所有技術棧。

圍繞雲計算相關的技術領域、技術名詞和技術產品令人眼花繚亂。在雲計算髮端之初,應用開發環境還比較簡單,當時還有所謂的全棧工程師存在,意味著如果不考慮開發周期,一個人就能搞定整個應用軟體。今天,這個稱謂已經名不符實。很少再有一個人,甚至一個企業能夠全面掌握和雲計算有關的所有技術棧。他們可能會應用旁人完成的一些成果,結合自有的一些專有經驗,來形成在某個細分市場有競爭力的產品,或者為客戶交付期望的產出。

即使作為純粹的應用者,要想全面了解和雲計算有關的技術,做到合理架構,恰當選型,順利完成集成開發和部署的全過程,也都比過去難得多,需要的技術人才也比過去昂貴。坦率來說,在當下的人才競爭度下,一般行業的企業,即使擁有信息部門,也都不太可能獨立駕馭這樣複雜的開發設施,他們將不得不廣泛依賴雲計算平台提供的服務。這給軟體行業的解決方案商帶來了新的市場機會。誰能夠為數字化轉型企業提供友好的應用開發和部署環境,誰就能夠獲得和保有客戶。

這篇長文主要面向大中型企業的技術和非技術管理者。我通過描繪雲計算技術和市場領域的發展過程,介紹關鍵技術和市場裡程碑,包括不同技術域下的核心開源項目,讓企業能夠對雲計算髮展歷史和相關技術域有一個通盤的了解。有了通盤的認知,你會更容易看透本企業應該怎樣利用雲計算,未來可能的市場機會和挑戰在哪裡?

本文受到Tom Siebel 2019年出版的Digital Transformation一書的啟發,但我儘量結合了中國市場的實際情況通俗地來講述。

雲計算市場的形成和結構

我們今天能夠享受經濟和便捷的雲計算服務,主要來自兩大動力,一是計算資源的虛擬化技術,二則是規模經濟效應。前者發端於2000年後VMWare推出的Hypervisor虛擬化軟體,它不再依賴一個母體作業系統,就允許用戶將硬體和網絡資源劃分成多個單元,從而實現計算資源的池化、共享和按需調度。

2006年,Amazon推出了S3對象存儲服務和SQS簡單隊列服務,開創了公共雲計算服務的先河。在此後,微軟,IBM,谷歌,中國的阿里,騰訊和華為等都陸續加入了公共雲服務的市場,提供的服務也從基礎計算資源擴展到資料庫、人工智慧、物聯網等多個技術領域。目前,這個行業已經成長為年收入2500億美元的巨大市場。

在這十多年的發展過程中,當然出現了很多的公司,產品和服務,但是概括起來這些事物的湧現基本沿著兩條明顯的路線在進行:

趨勢一:從基礎設施,到應用,再到應用相關的平台服務。

基礎雲 (Infrastructure as a Service)

最早的雲計算服務就是最基礎的雲主機(Virtual Machine),服務商把裸金屬裝上Hypervisor,把計算和網絡資源分塊後就可以賣了。隨後,基礎服務被拆分為主機、存儲、網絡、資料庫和安全等幾個重要的基礎雲產品,允許用戶靈活組合,並實現了彈性計費(目前國外基礎雲廠商大多都提供按分鐘或按秒的計費精度,存儲則可以按月計費,比如AWS的S3服務每GB數據的標準存儲月費在0.0125美元,而深度歸檔存儲的每GB月費可以低至每GB0.001美元)。

我們一般把主機,存儲,網絡,資料庫和安全相關的計算服務統稱為基礎雲服務。在這些服務之上,開發者需要完成所有的技術棧搭建,構建自己的數據架構,開發編碼,部署運維,最終才能實現雲端應用。而初代的雲計算客戶大多數都是網際網路公司。他們並非雲服務的最終消費者,而是生產者。

應用即服務(Software as a Service)

和Amazon Web Services幾乎同時起步的另外一家公司Dropbox是一家面向個人和團隊提供文件存儲和共享服務的創業公司。趕上了AWS起步的時候,Dropbox就直接使用了AWS現成的S3對象存儲服務,這讓一家團隊人數很小的初創公司有機會能夠聚焦在應用開發和營銷上,讓Dropbox通過短短的幾年時間發展成市場份額第一的文件共享應用。和Dropbox類似的大票SaaS企業大多也都是在隨後的十年內陸續出現,他們千篇一律都使用了雲計算平台的服務,而不再自建基礎設施。這當中也包括一個超級大用戶「奈飛「(Netflix),他們的下行流量占到整個網際網路下行流量的15%之多,也是AWS的客戶。

我們創辦的明道協作應用誕生在2011年,也正好趕上了中國雲計算平台開始的年份,所以我們也避免了很多基礎設施的建設工作。廣義來說,最早的雲服務在基礎雲公司之前就出現了。1999年創辦的Salesforce,就是一個典型的SaaS公司,只不過當年沒有這樣的行業術語。2016年,據說Salesforce也已經成為了AWS的客戶。因為SaaS服務形式的存在,使得雲計算能夠間接提供服務給大量的中小企業和非網際網路行業企業。今天,幾乎所有的企業都或多或少應用一些SaaS服務。

雲計算市場發展的第一波主要由網際網路企業用戶帶動。他們具備比較完整的開發和自助運維能力,而且也有日益增長的用量,屬於基礎雲服務最理想的客戶群體。直到今天,阿里雲和騰訊雲的主要客戶群體依然是泛網際網路行業。

SaaS企業是雲計算基礎服務的重要推動者,雖然這個門類和2C的網絡服務相比,貢獻的經濟價值要小得多,但是他們深諳企業市場的需求,推動了雲計算平台的應用開發環境日益成熟。這就是趨勢的下一步:平台即服務。

(開發)平台即服務(Platform as a Service)

所謂平台即服務,特指開發平台。應用開發工作從本地遷移到雲端,自然需要在雲計算環境中提供對應的更優解決方案。所以過去傳統的中間件市場陸續發生變遷,逐一轉換為在雲計算平台上的某項服務。比較常見的開發平台服務包括:

通訊:提供音視頻通信、消息推送、簡訊、郵件等服務

地理信息:提供地圖、定位、導航相關的服務

應用開發框架:提供應用開發環境和運行時環境

媒體服務:提供圖片和音視頻等媒體文件的編碼、加工和存儲服務

機器學習框架:提供面向AI應用開發者的機器學習數據標註和模型訓練平台

小到發送一條驗證碼簡訊也是一項PaaS服務。

作為PaaS服務,主要是為開發者服務的,所以除了功能性服務以外,PaaS廠商也要提供開發友好性相關的周邊能力,比如彈性擴展的能力,調試和控制權限的能力等。參與的開發者越多,一項PaaS服務就能夠有更多的改進機會和攤低的平均成本。

PaaS服務是不是一定由獨立的PaaS廠商來提供呢?不一定。實際上,主流的PaaS服務大多被IaaS公司所覆蓋了。如果你打開阿里雲的產品列表,在數百個產品中,你會發現基礎雲服務只是其中一個門類,其他十幾個門類都是和開發環境有關的服務。這意味著,一家創業公司想要獨立成為一家成功的PaaS廠商,需要相當聚焦地執行,而且產品有明顯的技術領先度。一旦做到這一點,也不用擔心和基礎雲公司的競爭,因為我後面會講到雲計算市場的技術發展,其中已經有眾多的技術趨勢保障了獨立性PaaS公司建立跨雲服務的獨特優勢。

以上說的是雲計算服務過去十五年發展中的一條脈絡,從基礎雲到應用的共生,再到日益豐富的開發平台即服務。雲計算覆蓋的用戶越來越多,依賴的是這三個層次的服務互為補充。

趨勢二:從公共雲、私有雲到混合雲,再到多雲

第二條脈絡有關雲計算服務的部署模式(Deployment Model)。當雲計算概念被提出時,它顯然指的就是公共雲服務,客戶不需要保有任何基礎設施,直接像水電煤一樣使用雲計算資源就可以。但是商業的現實和技術企業的理想之間總是存在溝壑。雲計算到底是技術還是服務,在很長一段時間內是缺乏共識的。

在雲計算服務開啟之前,很多大型企業和組織都有自己的伺服器。2010年,全球伺服器市場就有500億美元的規模,這些伺服器大多數都賣給了企業和政府。企業擁有了這些基礎設施,難道再花錢買公共雲服務嗎?既然雲計算技術這麼好,為什麼我自己來實現呢?政府、金融、醫藥等行業客戶更加不可能在公共雲計算服務誕生的初期就義無反顧地採納,他們有各種各樣所謂的合規要求。

私有雲 (Private Cloud)

果不其然,有需求就有供給。2010年Rackspace和NASA公開了一個叫做OpenStack的開源項目組。它包含了一系列用於構築雲計算服務的開源軟體。這意味著,所有擁有硬體基礎設施的用戶都可以用很低的成本來實現和AWS類似的技術架構。Rackspace是一家IDC公司,它這麼做的動力顯然是很強的。它認為只要幫助客戶解決虛擬化問題,自己的主機託管生意一樣可以興旺發達。

雖然軟體是開源免費的,但是要實施Open Stack依然需要雲計算相關的專業知識。因此,從2010年開始,出現了很多基於OpenStack幫助企業建立私有雲的服務商。在國內,公共雲服務商甚至都提供過這類服務。十年過去了,這股由OpenStack帶起的私有雲風潮基本告一段落。除了極少數大型用戶在經濟上能夠承受自己維護獨立的雲計算平台,絕大多數用戶根本無法得到經濟上合理的回報。虛擬化只是雲計算服務的一個技術前提,但並非所有的價值。私有雲方案永遠無法利用到資源彈性利用(可大可小)和真正的規模經濟效應,除非用戶根本不關切經濟理性。

在中國市場,重點行業可能至今依然無法使用商業雲服務,但是電信運營商和一些國家級的科技企業也在公共雲服務商的幫助下建立了各種行業雲。比如移動雲,聯通雲和電信天翼雲都是這樣形成的,他們為金融、政府、交通、教育等重點行業提供公共雲服務。

故事到這裡,似乎公共雲已經大獲全勝。但是,商業現實又回來了。在越來越同質化的雲計算服務市場,客戶難道完全沒有議價能力嗎?客戶的需求如果不能得到滿足,總有供應商會願意創新。於是混合雲(Hybrid Cloud)出場了。

混合雲 (Hybrid Cloud)

其實混合雲並不是什麼獨特的雲計算技術,它實質上是一組通訊服務。只要堆上足夠好的網絡設備和奢侈的專線連接,世界上任何地點的計算設備都可以組成高速專網。即便客戶預算有限,只要對安全性和連通性的要求沒有那麼高,也可以自助搭建經濟的VPN網絡。圍繞通過商業網絡連接組建混合雲的技術被稱之為「SD-WAN」(軟體定義廣域網)。有了網絡連接,就可以把客戶自有的計算設施和公共雲計算設施連接在一起,稱之為「混合雲」。

混合雲對客戶的好處是明顯的。首先,每個企業都可能有雲計算基礎用量,但也可能有短期的激增需求。有了混合雲,客戶就可以圍繞自己的基礎用量採購自有IT資產,自己運營私有雲,而短期波動的增量則可以通過公共雲服務滿足,等需求高峰過去,就可以去掉這部分的開支。企業也可以將運維難度比較低的基礎雲服務保留在自己的設施內,而同時使用公共雲提供的複雜計算服務,比如機器學習平台等。Dropbox是一個大規模的SaaS應用,它在2016年做了很大的架構調整,大部分的服務不再使用AWS的公共雲,一舉節省了7000萬美元的年度雲計算開銷。

混合雲策略現在已經得到了廠商和客戶的雙重支持,它終結了公共雲和私有雲非黑即白的爭議,讓整個IT產業更加務實。這其中也誕生了很多的商業機會。微軟,亞馬遜,IBM,Google等領先的雲計算廠商都推出了自己的混合雲解決方案。因為混合雲方案主流化,雲計算廠商的競爭開始從基礎雲資源的成本向應用開發生態環境遷移。因為在混合雲架構下,客戶面臨如何規劃流暢的數據連接,如何快速交付雲原生應用的新挑戰。所以,雲計算的終極競爭不是硬體的競爭,也不是軟體的競爭,而是應用開發和部署(AD&D)環境的競爭。

多雲 (Multi-Cloud)

多雲概念是雲計算市場最近幾年出現的概念。它把所有的雲計算平台,客戶的私有雲設施全部視作一般基礎設施。所有的應用在所有的雲上都能一致並可靠地運行。多雲解決方案不僅是基礎設施提供者需要協調的,更重要的是應用開發和部署要面向多雲運行目標。

2013年,Y Combinator孵化企業Docker Inc開源了Docker項目。它成為應用跨雲部署的重要前提。Docker允許用戶將複雜的應用、數據和依賴的環境,包括作業系統本身打包到一個「容器」中,通過標準的Docker引擎,在任何計算環境中都可以一致地運行。有了這項技術,把一個應用系統從阿里雲轉移到騰訊雲就和傳輸一個文件一樣簡單,雲和雲之間已經沒有邊界。為什麼Windows和mac OS的應用永遠不兼容,而雲計算廠商卻眼睜睜地看著這些事情發生呢?很簡單,因為整個雲計算技術生態都建立在開源軟體上,亞馬遜再大,它也只是一個服務提供者,收的是租金。而客戶方,則越來越看重自主可控性,他們不希望被單一的雲計算公司鎖定,畢竟自己的客戶和交易數據都運行在雲計算上,它是所有企業的命脈了。

2015年,Google開源了Kubernates項目,讓多雲解決方案更勝一籌。K8S能夠對容器的創建、擴展等進行自動編排。這意味著無論應用有多麼複雜,它都能夠在多雲環境中進行統一運維。比如自家的某種類型存儲用完了,就可以臨時購買一些亞馬遜的存儲。數據過時了,就定期自動地轉移到低價格的冷存服務中。

有了多雲技術框架和服務,同時意味著雲計算平台必須提供廣泛支持。阿里雲當然希望多賣一些雲主機服務,但是如果因為技術框架落後,客戶就會流失。所以,全世界的雲計算平台目前都義無反顧地支持了多雲策略,希望在這個過程中繼續以專業服務商的地位存在。

多雲策略對應用開發者的影響也很大。首先開發者必須從第一天就按照雲計算環境來規劃,支持多雲部署,自動伸縮,採用微服務架構以實現容器部署。其次,應用開發者也能夠從這樣的架構中受益。因為它使得客戶獲得私有軟體也像應用SaaS一樣簡單,唯獨不同的是應用和數據運行在客戶控制的計算環境中,但是軟體本身都是基於單一代碼庫的(Single Code Base)。我們明道雲原來是一個SaaS形態應用,客戶只需要在mingdao.com上註冊即可使用,現在,通過容器技術,我們的客戶也可以在自己的雲計算環境中安裝和升級。這些都有賴於多雲技術架構。

前面我們提到了雲計算公司的競爭將向應用開發和部署環境遷移。那麼它具體指的是什麼呢?它有關於圍繞雲計算相關的四個技術領域。Tom Siebel把他們概括為雲計算本身、大數據、人工智慧和物聯網。

接下來,我們會逐一介紹這十五年來,伴隨雲計算髮展起來的數字化技術領域。正是因為雲計算服務的普及,才催化了這些新興的技術領域,反過來,這些技術領域的發展也讓現代雲服務更加完善,當然也更加複雜。正是這些複雜性,讓企業數字化轉型工作變得阻力重重。相較於更早前的基礎信息化工作,企業屆要認知和掌握的技術範疇要比寬廣得多。因此,我們介紹雲計算的發展簡史,就必須要把關聯技術域的發展也一併介紹。


雲計算相關的技術領域

大數據(Big Data)

在大數據概念出現之前,數據存儲、處理和分析的技術早已存在。隨著存儲成本的下降和雲計算提供的彈性計算能力增強,越來越多的數據場景已經不能被傳統的資料庫技術所處理。這些新場景可以被概括為高數據量(Volume),高頻度(Velocity)和多數據類型(Variety)三個特點。比如在電子商務、金融和物聯網領域,系統往往在很短的時間內會產生大量的數據。這些數據甚至在存儲的過程中就會產生瓶頸,更不用說實時性很強的計算和分析。所以,從搜尋引擎時代開始,大數據相關的技術就開始孕育。

MapReduce和Hadoop

搜尋引擎的霸主Google成立於1998年,幾年以後,Google的搜索服務所承載的數據量已經是一個天文數字,而且還在以光速增加。傳統的數據處理技術完全依賴硬體算力的鋪陳,這會讓Google在未來的發展中不堪重負。2004年,Google在內部推出了GFS分布式文件系統和分布式計算框架MapReduce。前者解決了單一硬體資源的限制,後者通過一系列數學原理,將多類型的數據進行切片並分散存儲在特定的分區中,這個設計能夠讓未來的計算和分析大幅提效。MapReduce的技術原理是大數據技術發展的最重要基礎。

很快,開源軟體領域開始響應這項技術方案,Lucene項目創始人Doug Cutting在2006年正式獨立出Hadoop開源項目,在其中包括了分布式文件系統,在集群資源上的調度工具,以及最核心的大數據並行處理開發框架。有了Hadoop以後,那些面對海量數據分析難題行業從此有了更好的解決方案。只是在2006年前後,主要的應用行業還是網際網路行業本身。Yahoo,

中國的百度等都很快應用了Hadoop來解決海量數據的存儲和檢索問題。

Hive,Spark和流式計算

在隨後的幾年中,Hadoop相關的大數據處理技術繼續得到增強。Facebook開源的Hive分析工具用更高層和抽象的語言來描述算法和數據處理流程,能夠用SQL語句進行大數據分析,這大大降低了使用者門檻,也提升了大數據技術的應用效率。不要小看這項改進,它讓全世界大多數現有的數據分析人員可以輕易掌握大數據技術。

2009年,加州大學伯克利分校的AMP實驗室開發了Spark開源集群計算框架,通過完善API和庫,提供更完善的能力和通用性。而且Spark的特色是能夠將數據存儲在內存中,所以數據處理和查詢效率要比利用硬碟存儲的MapReduce框架快百倍。目前,Spark已經加入Apache Software Foundation,成為Apache開源項目中的明星項目,被大數據技術領域作為最重要的工具框架。

至此為止的技術棧基本解決了針對海量數據批量進行處理和分析的需求。比如零售業企業如果需要研究顧客和交易數據,從而對顧客群進行特徵細分,這些技術就足夠了。但是,數字化技術的發展總是會刺激出更高級的需求。比如,在線上零售中,商品和顧客的行為數據是永續不斷在發生的,我們希望在數據發生的時刻就立即進行計算,及時地給顧客推送一張個性化的優惠券,而不是定時進行某種批量計算,這時候就需要大數據技術的一個分支—流式計算。

流式計算的常用框架包括Storm和Spark Stream和Flink,他們在零售和電子商務行業中的交易分析、金融風控、物聯網中的態勢監控、車聯網中的自動駕駛等領域都被廣泛應用。2019年,阿里巴巴用1億美元收購了Flink,是因為我們用的淘寶天貓中的搜索、商品推薦,包括雙11的實時監控大屏數據都是由Flink來驅動的。Flink用幾乎無延遲的速度截獲雙十一最後一秒鐘結束後的GMV數值,可見它在實時處理數據方面的性能。

NoSQL資料庫

與大數據技術同步發展的還包括NoSQL(非關係型)資料庫市場。在上個世紀,大多數商業資料庫都是關係資料庫,通過SQL語言進行數據處理和查詢。當大數據技術發展起來後,技術專家們發現資料庫完全可以用不同的形態來存儲數據,這樣可以大幅減少數據分析過程中的預處理工作量。所以,從2009前後開始,各種NoSQL資料庫開始進入市場。

下圖是維基百科上針對NoSQL資料庫類型的分類方法:

類型

主要產品

鍵值緩存

Apache Ignite, Couchbase, Coherence, eXtreme Scale, Hazelcast, Infinispan, Memcached, Redis, Velocity

鍵值存儲

ArangoDB, Aerospike, Couchbase, Redis

鍵值 存儲 (最終一致)

Oracle NoSQL Database, Dynamo, Riak, Voldemort

鍵值存儲 (序列化)

FoundationDB, InfinityDB, LMDB, MemcacheDB

元組存儲

Apache River, GigaSpaces

對象資料庫

Objectivity/DB, Perst, ZopeDB

文檔資料庫

ArangoDB, BaseX, Clusterpoint, Couchbase, CouchDB, DocumentDB, eXist-db, IBM Domino, MarkLogic, MongoDB, Qizx, RethinkDB, Elasticsearch

寬表存儲

Amazon DynamoDB, Bigtable, Cassandra, Scylla, HBase, Hypertable

多模資料庫

ArangoDB, Cosmos DB, OrientDB, MarkLogic

讀者可以忽略其中的細節技術語言,只需要了解不同類型的NoSQL資料庫會有利於特定場景的應用開發。比如文檔資料庫採用JSON格式存儲,可以隨心所欲定義不同的數據結構,而且橫向擴展性很強(數據規模增大後可以保證查詢效率)。我們明道雲的工作表就是利用了文檔資料庫MongoDB作為存儲方案。

NoSQL資料庫普遍支持分布式文件系統,所以都具備很強橫向擴展性。和關係資料庫相比,NoSQL資料庫大多不具備事務一致性,但是這個犧牲交換得到數據處理的效率,因而作為大數據技術相關的常見存儲方案。

雲計算平台上的大數據服務

以上我們介紹了大數據技術發展依賴的各個重要技術棧。很顯然,和傳統的應用開發相比,大數據技術相對更加複雜。它不僅涉及複雜的編程框架,還需要一個專業的運維體系。這使得大部分普通企業用戶很難自己來搭建大數據開發環境。所以雲計算平台在基礎雲服務之外,也開始結合雲計算資源提供大數據服務。阿里雲上的MaxCompute是一個全託管的大數據SaaS服務,用戶甚至無需管理主機基礎設施,直接按照大數據計算任務量付費。順便說一下,這種直接將計算服務提供給開發者的模式被稱為「無伺服器」(Serverless)計算,它的目的是為了簡化開發工作中的運維任務,讓開發者聚焦在應用開發上。不僅僅是大數據領域,在AI,物聯網等其他技術領域,無伺服器服務模式正在日益成為主流。E-MapReduce則是一整套大數據相關的PaaS服務,用戶可以選擇利用現成的服務在自己控制的雲主機上完成部署,客戶主要支付的是基礎雲的資源費用。和阿里雲類似,亞馬遜AWS等其他雲計算平台也提供豐富的大數據相關平台服務。

應用領域

我們前面提到大數據技術起源於搜尋引擎應用。在隨後的十多年中,它的主要應用場景依然還是在網際網路領域。最常見的應用包括計算廣告(依據用戶和內容數據動態決定廣告投放策略和定價),內容檢索和推薦(百度、頭條),商品推薦和營銷活動優化(淘寶、拼多多)。不要小看這幾個場景,它們幾乎和網際網路用戶上網過程中的每一分秒都有關係,所以創造了巨大的經濟價值。

數據的價值當然不僅僅局限於網際網路行業,幾乎每個產業都有機會在大數據技術的幫助下發掘出數據的價值,或者改善運營效率,或者發現出新的業務機會。金融行業是較早的受益者。銀行貸款業務中的風險控制、零售和結算業務中的欺詐發現、保險業務中的精算和保單個性化定價、證券行業中的期貨定價和股價預測等都實實在在在創造出財富。

大數據在研究和開發領域也在大顯身手。在生物醫藥領域,大數據技術在幫助縮短藥物研發的周期和提高成功率;合成化學行業也在利用大數據和機器學習技術來加快發現新材料。有人甚至認為數據科學將成為實驗、推演和仿真以外的一種新的科學研究方法,成為「第四範式」。

大數據在城市交通、社會治理、能源傳輸、網絡安全、航空航天等領域也都已經有了現實的應用。但在這些資本投入密集的領域之外,大數據在一般行業和企業中的應用依然道路曲折。這不是因為大數據技術不夠完善,而是諸多行業尚未能夠明確抽象出大數據應用的價值以及可付諸實施的方法論。正如前面提到的,雲計算和大數據對於普通中小企業來說依然是一個模糊的技術工具,一般企業也很難僱傭大數據專家,而專業服務企業目前還沒有找到利用自己的技術專長提供普遍服務的有效機會。通用領域中的大數據應用還停留在理念階段。所以,在過去幾年出現的大數據技術公司大多都還在服務金融、公安、交通、能源等大客戶集中的行業。

突破的關鍵點可能在兩個方面,一是大數據技術棧本身十分複雜,當下的工具還依賴專門訓練的計算機專家,產業還沒有抽象出一個通用領域的應用模型,也無法提供一個類似SaaS這樣友好的應用介面。這值得數據技術領域和企業應用領域中的跨界專家來探索。二是企業數字化建設還剛剛開始,很多企業缺失穩定和可靠的數據採集和記錄的過程。如果沒有數據流,自然就不會有大數據應用。因此大數據技術被廣泛應用可能還需要五到十年的時間。

人工智慧(Artificial Intelligence)

人工智慧的概念和基本原理起源早至1950年代。早期的人工智慧研究集中在加州大學伯克利分校,麻省理工,斯坦福和南加州大學等計算機實驗室中。今天已經商業化的神經網絡算法就來自於半個世紀多前麻省理工大學的明斯基教授發表的《感知元》論文,但是計算機算力在當時實在是太弱了,以至於任何計算理論上的假設都很難付諸於現實。因此,在長達五十年的時間內,人工智慧技術都停留在理論研究和一部分不成功的實踐上。

雖然人工智慧領域經歷了漫長的冬天,但它所提出的機器向人類學習,並最終在特定領域能夠做得比人類更好的假設卻是千真萬確的。

千禧年後的AI復甦

2000年以後,有幾大動因推動了人工智慧概念的復興。首先,因為摩爾定律的存在,計算機的運算速度和單位存儲成本均用指數速率發展到一個新的階段。雲計算和大數據技術也允許計算機用很快的速度處理TB甚至PB級的數據。其次,網絡服務的興起在諸多領域生產出豐富的數據,Google,Netflix和Amazon的業務就像數據機器一樣,每分每秒都能產生海量的用戶行為數據。

第三,在人工智慧的數學方法研究中,AT&T貝爾實驗室的三位科學家(Tin Kam Ho, Corinna Cortes, 和 Vladimir Vapnik)在機器學習領域取得了突出的進展。機器學習技術可以將複雜和不確定的非線性問題通過線性的數學公式來解決。在解決不同的問題的過程中,機器學習理論方法和實踐被明確驗證。最早的一批網際網路企業,包括Google,Facebook,Linkedin等在這個過程中既提供了海量數據,也從研究過程中獲得了巨大的成果。尤其是Google,它是機器學習及其分支深度學習領域最重要的信奉者和推動者。2010年,Google成立了Google大腦,一個專注人工智慧研究的內部組織,後來又收購了英國企業DeepMind。後者在2016年3月擊敗了人類圍棋冠軍李世石。

下圖是Tom Siebel在Digitlal Transofrmation一書中對AI技術進化史的一張插圖,顯示了從1950年代開始到現在的主要技術疊代歷史。

機器學習(Machine Learning)

機器學習是推動AI復甦的最重要動力。它的興起標誌著人工智慧很長時間彎路的終結。要想讓機器比人做得更好,並不是依靠人來教機器規則,而是讓機器從歷史數據中學習。比如最常見的機器學習場景——物體識別,要想讓機器從各種照片中找出「貓」,只要讓機器學習各種各樣貓的照片對象。機器學習算法會將訓練用的貓圖像背後的向量特徵總結為一個預測模型,讓這個模型預測任何一張新圖片中包含貓的機率。同樣的道理,語音識別、語言翻譯、人臉識別等都是使用的類似的原理。餵養算法的數據量越大,通常預測的準確率就越高。

機器學習應用可以分為有監督學習和無監督學習。前者需要人工參與訓練數據的標識,後者則通過數學方法自動聚類出存在相似性的對象。在缺少訓練數據的情況,無監督機器學習就會起到更大的作用。

機器學習的一個分支被稱為深度神經網絡(DNN),它的設計已經高度參照了人類大腦神經元的連接結構。在深度神經網絡中,數據被輸送到輸入層,結果則從輸出層產生,在輸入層到輸出層之間存在多個隱藏層,每一層會對輸入數據的各個特徵進行推斷,最終能夠得到更為準確的預測結果。打敗李世石的AlphaGo就是一個基於深度神經網絡的算法。但是,DNN對於用戶來說依然是一個黑盒子。設計者並不需要也不會知道神經網絡中的每一層到底在判斷什麼具體特徵,以及它是如何分解特徵的。它背後都是高度抽象的數學方法。不管它有多麼玄妙,深度神經網絡的確厲害,它不僅具備高超的自學習能力,而且還簡化了傳統機器學習中大量複雜和耗時的特性工程(Feature Engineering,通過行業專有知識來調優機器學習算法的過程)。

TensorFlow

2015年,Google開源了內部的TensorFlow框架,開始將人工智慧計算框架作為一項雲計算服務向外界提供。在核心開源庫之後,TensorFlow還陸續推出了Javascript版本,滿足在瀏覽器和Node.js上開發和訓練機器學習模型,以及在移動設備和IoT設備上部署的Lite版本。另外,TensorFlow Extended是一個端到端的機器學習生產平台,它連帶提供了編程環境和數據處理工具。

當然,TensorFlow並不是唯一的機器學習框架,Caffe,Torch,Keras等都是。它們無一例外都是開源的。在雲計算的前沿領域,軟體開源是一個普遍的策略。為什麼如此複雜和高級的軟體都會義無反顧地選擇開源呢?一方面因為框架性產品本身並不直接包含商業價值,價值需要開發者進行二次創造,另一方面,在雲計算服務的商業模式大前提下,通過API來提供封裝好的人工智慧服務是一個非常容易實現的商業手段。這些開源產品的運營者沒有必要對框架進行收費。

人工智慧服務

事實上,即便你不使用這些機器學習框架,也能直接使用人工智慧服務。國內外雲計算平台都已經在通過API提供各色各樣的人工智慧服務。這些服務已經完全封裝成應用開發接口,開發者完全不需要了解和處理複雜的機器學習過程,只要把自己當作用戶就可以了。

但是這些服務都非常具體和專向,並不存在任何通用的AI接口,每個接口只能為用戶解決一類具體問題。以下是阿里雲AI類目下的服務分布。你可以看出這些服務都和用戶的某一個具體需求有關。比如語音識別可以讓移動開發者開發出讓用戶直接通過語音來控制功能的應用。人臉識別可以識別出影像中的人臉對象和實現身份對比驗證。

提供一次此類服務要收多少錢呢?在雲計算平台上,這類AI應用開發接口大多按照次數或者每秒次數級別(QPS)進行收費。比如識別一張身份證上的信息大約要收取1-5分錢,聽起來不少吧?

實際上,從事人工智慧技術的企業並不僅僅是雲計算平台提供商。比如中國市場中,Face++,科大訊飛、商湯科技、寒武紀、優必選等都分別在計算機視覺、語音、機器人等領域有專長。但是它們的專向定位讓這些企業很難提供普遍的開發者服務。因為開發者往往希望在一個雲計算平台上獲得一攬子服務,而且用戶的基礎雲資源也是從雲計算平台購買的。作為開發者來說,擁有一個統一和完善的應用開發環境是非常重要的。

所以,在人工智慧的商業化中,還有不少企業利用自己的專向技術優勢來解決更加細分的問題。比如科大訊飛主要通過自己在語音和自然語言處理方面的技術積累為教育和司法等行業提供解決方案,中國法院的庭審文字記錄現在很多都是通過自動化的語音轉錄而實現的。商湯科技和曠視科技則主要在智慧城市和安防領域提供軟硬體一體化方案。還有一組創業企業專注於解決高價值的自動駕駛問題,並從中派生出更細分的AI晶片設計和製造企業。

技術棧和人才

AI相關的技術棧是前面介紹的大數據技術的一個擴展。也就是說,沒有離得開數據獲取和處理的人工智慧項目。要把如此眾多的開發框架和微服務組合在一起,對於非雲計算專業企業來說是非常困難的。除了技術棧的複雜性以外,開發者還需要搞定大規模訓練數據的獲取和處理過程,這個成本在短時間內一定會成為牽制企業投入的因素。

成本還是相對容易克服的問題,因為只要問題足夠值錢,有長期主義價值觀的企業總是願意投入。但是更致命的問題在於AI相關人才的激烈競爭。能夠從事AI應用開發的團隊需要包含大數據相關的資料庫專家,深諳數學建模的算法專家,以及熟練掌握C++或Python等程式語言的高級程式設計師,同時還離不開有技術素養的業務專家參與。而在當下階段,雲計算巨頭企業和專業企業像吸鐵石一樣吸引走了絕大多數專長人才,讓普通企業根本無從獲取。

考慮到AI技術的複雜性和專業度,它極可能像雲計算服務一樣,大多數企業都只會成為用戶級別的角色,這就給專業開發者留下了創新的空間,看誰能夠進行足夠合理的抽象,組合出更加易用,面向通用業務場景的AI服務。

物聯網(Internet of Things)

消費產品引爆的物聯網普及

雲計算服務的普及不僅為用戶提供了彈性伸縮的經濟性,還提供了一個泛在的可連接性。任何計算設備只要連上網際網路,就彼此通過TCP/IP協議能夠相互訪問。這個互聯價值在物聯網技術發展之前還僅僅限於傳統計算設備,也就是伺服器和個人計算終端。在個人、家庭和企業世界,還有大量非傳統計算設備並沒有聯入這個數字化世界。

汽車、家電、個人穿戴設備、工廠的製造設備現在都已經有接入網際網路的條件,市場上流通的這些互聯智能產品也越來越多。當連接的設備豐富到一定程度的時候,各種智能化場景才能真正實現。IHS Markit預測到2025年,全球聯網設備總數量將達到750億個。萬物互聯,正是物聯網技術所追求的願景。

具有數字化連接能力的非常規計算設備在上個世紀90年代就已經出現,比如可以無線連接的攝像頭。真正具備中長距離連接能力的設備首先出現在零售和工業製造領域,包括西門子,通用電氣等企業開發的工業設備互聯協議(M2M)。在當時,這些設備已經可以通過低速的無線區域網使用IP協議連接到工廠的控制中心。這樣的網絡被成為工業乙太網。但當時商業網際網路並沒有開始發展起來,所以M2M的出現只能算作是物聯網技術的局部發展。

物聯網開始成型還是通過消費產品市場來推動的。2000年代初期,LG率先推出了可以接入網際網路的家電產品,一台聯網冰箱售價高達20000美元,這顯然無法真正帶動市場。在隨後幾年中,像Garmin GPS和Fitbit智能手環這樣的消費電子產品開始獲得更大的產銷量,從而帶動相關的低功耗晶片行業發展。到了2011-12年,消費電子領域出現了更多的明星級產品,這其中包括後來被Google收購的家用傳感器Nest,Philip推出的Hue智能燈泡等。在中國市場,以小米為代表的智慧型手機廠商開始擴展到物聯網產品領域,推出了一系列圍繞個人和家庭的智能設備和家庭網關產品。蘋果也於2015年正式進入可穿戴產品市場,推出了Apple Watch,後來還推出了智能音箱HomePod。Google和國內的網際網路巨頭企業也都加入了這場通過新型個人數字設備爭奪用戶和數據的競爭。目前,全球可穿戴產品市場已經多年保持了40%以上的年度增長率。

個人和家庭智能設備的量產促進了和物聯網相關的協議發展和元器件成本的降低。在這期間,藍牙5.0,WiFi-6,IPv6,NFC和RFID等關鍵傳輸和通信協議得到進一步發展,讓設備能耗和連接速率都進一步提升。在同一時間,雲計算基礎服務和大數據處理技術也起到了關鍵作用。物聯網設備往往在短時間內會產生大量數據,如果沒有前文提到的大數據技術棧,傳統的資料庫工具是無法承載的,同時雲計算也是設備數據匯聚的海洋,今天幾乎所有的物聯網技術平台都架構在雲計算平台上,他們是典型的互生行業。

物聯網的技術棧

物聯網相關的技術棧非常綜合。它橫跨軟硬體,既包含感知探測相關的硬體技術,也包含網絡傳輸和應用構築的軟體技術。直至今天,物聯網相關的技術棧都沒有完全穩定下來,甚至很可能長期保持多元的特徵。但是概括起來,整個技術棧還是有一些層次特徵。

行業一般把物聯網相關的技術架構分解為四層,分別定義為和物理環境相關的設備感測層、和數據傳輸和通信有關的網絡層,IoT相關的平台管理層,以及最終實現用戶價值的業務應用層。無論是針對消費市場還是企業市場的物聯網系統都會有這四個層次。

設備感測層是由各種類型的傳感器和可交互訪問的硬體模塊及其嵌入式軟體而組成的。例如溫度濕度傳感器、攝像頭、電源開關和插座和網關等。感測層設備不僅是單向獲取數據,還可能從外界接受指令改變硬體狀態(比如智能鎖)。行業內一般把這個層次稱為「邊緣」(Edge)。

設備感測層的技術棧主要由軟硬體協同開發的嵌入式系統構成。我們用的智慧型手機本質上也是一個嵌入式系統,只是它的嵌入度非常完整,甚至不亞於一台標準計算設備。嵌入式系統開發經歷了早期的單片機和嵌入式作業系統/CPU階段,目前最前沿的是SoC(片上系統),把一個專用系統的所有嵌入式軟體完全整合在一個集成電路上。今天的智慧型手機、智能電視等都是由若干個SoC整合而成的。在嵌入式系統中,固化在硬體上的軟體程序甚至依然可以得到更新,而且這種更新目前大多都可以通過連接網際網路實現,這種升級被稱之為OTA (Over-the-air)更新。

另外,設備感測層還需要解決設備的訪問協議問題。物聯網系統目前已經廣泛支持IPv6協議。IPv6能夠提供全球的IP位址總量高達2的128次方,這是一個天文數字,可以確保任何物聯網設備都能夠擁有獨立的IP位址,從而實現在全球的唯一尋址。當全球物聯網設備達到千億,甚至萬億數量級的時候,IPv6功不可沒。

網絡傳輸層要解決的是感測設備和計算設備之間,以及最終與平台管理層之間的數據傳輸問題。根據連接性質不同,又可以分為短距、中距和長距類型,以及有線和無線類型。在這些連接協議中,藍牙、NFC、Wi-Fi、無線射頻(RFID)、4G和5G等是比較常用的。這些傳輸協議在設備側一般都是直接設計在板上系統上的,通過IP協議提供可訪問地址。開發者需要根據連接的距離、速率、功耗和成本等要求做出合理的選擇。

IoT平台層是物聯網系統中至關重要的部分,它的出現也標誌著基於雲計算平台的物聯網系統誕生。一個IoT平台的核心作用是管理成千上萬的物聯網設備,包括他們的狀態,數據上報接收,建立對它們的控制,對設備進行運維分組,並能夠實現從雲端往邊緣側的更新推送(OTA)。同時,物聯網平台也要借用上文提到的大數據技術棧,對設備上報數據進行處理,並用各種資料庫完成存儲,這其中比較重要的資料庫類型就是時序資料庫。

更完整的IoT平台還包括圍繞設備數據建立自動化工作流的能力,數據分析工具以及為更上層的應用開發提供數據開發接口的設計。

目前,主流雲計算平台都專門為客戶提供了物聯網技術平台,結合基礎雲和大數據相關服務獲取增值業務收入。阿里雲,AWS,Azure和Google Cloud都有專門的解決方案,國內外也有專門的物聯網平台技術公司將自己的解決方案架構在基礎雲上或者提供跨雲服務。

Oracle,Salesforce和微軟Azure等企業軟體廠商的物聯網平台不僅提供了上述基礎服務,還結合了自己的企業應用套裝優勢,提供一站式的物聯網應用開發平台。它們更適合企業物聯網系統建設。

最上一層的應用層是整個物聯網技術架構中最不標準化的部分。應用層最終要將連接的設備和數據用於具體的商業場景。比如共享充電寶就是一個物聯網系統,它的應用層包含面向C端的租用和支付系統,面向商戶的設備狀態報告,收益結算系統,以及面向運營部門的設備運維管理系統。換到另外一個物聯網場景,應用層的構成可能完全不一樣。

邊緣計算和AIoT

物聯網技術架構的基本思路是分層分工,感測層主要取得數據和建立對物理硬體的控制,數據通過網絡層和計算平台連接,計算則在雲端完成。但是隨著物聯網應用場景的豐富,設備規模的擴大,以及晶片技術的發展,邊緣計算概念開始得到認可。所謂邊緣計算,就是利用設備端和鄰近網關的計算能力處理和存儲數據,減少和雲端的數據傳輸,從而實現更快速的應用響應。除了速度的提升,邊緣計算還能夠大幅減少雲計算和數據傳輸成本。比如針對一個大型的視頻監控網絡,如果攝像頭將所有的視頻流數據都傳輸到雲端,雲端算力要求和成本將會非常高。而如果在攝像頭設備內部實現必要的視覺計算(比如識別異常),整個物聯網系統的效率將大大提高。再例如廣泛應用的人臉認證和識別系統,如果不能依賴本地的設備計算能力,十億用戶的高頻度使用將會讓雲平台不堪重負。

上面兩個例子顯示了邊緣計算往往和人工智慧應用相關,設備側往往完成的是模式識別類的人工智慧算法,因此往往需要專門晶片的助力。Nvidia公司推出的Jetson系列模塊就是專門為邊緣計算場景而服務的。這些晶片模塊被安裝在機器人、自動駕駛汽車等邊緣設備上,所以這組技術產品也被稱為「自主機器」。因為物聯網和這些人工智慧應用的結合,因此,這套技術方案也常被稱為AIoT。

應用領域

如果把2012年前後作為基於雲計算的物聯網平台技術發展開端的年份,僅僅八年左右的時間,物聯網應用領域已經發展得非常廣泛。只是我們身在其中,享受它帶來的便利,並不一定能夠感知它的存在。這個高速發展過程很大程度上受益於基礎雲計算服務和大數據技術棧的同步發展。

在消費應用領域,個人穿戴設備已經從手錶、手環發展到耳環戒指這樣的雜項。在智能家居領域,我們可見的家電、門鎖、照片、開關、音箱等都已經是網際網路設備。在個人和家庭領域,物聯網技術競爭已經不再重要,競爭的焦點已經遷移到內容生態和用戶網絡效應。在這些領域,蘋果、谷歌和國內的華為、小米等已經牢牢占據了領先地位。小米生態鏈重點指的就是依託米家體系的一群消費電子產品企業。

在工業、農業、交通運輸、能源和社會管理領域,物聯網的應用場景更為廣泛。我們的街道上已經密布了各種攝像頭,這些攝像頭通過專門網絡構築了天眼系統;我們頭頂上的電力傳輸網絡和用電單位終端也已經完成了智能電網改造;礦場和工地上也都布滿了各種安全監控設備。這些都是最近十年來重大的IT投資。預計未來十年這樣的建設和更新依然不會結束。



雲計算的未來

本文主要是對雲計算過去十五年的一個回顧。技術領域的發展速度是如此之快,以至於我們很難預測未來的十五年會發生什麼。在本文的最後,我僅僅對當下已經呈現的雲計算市場趨勢做一些簡單的概括,它們甚至已經在發生,但我們不知道這些技術趨勢的發展具體會顛覆哪些巨頭,會催生出哪些明星。

  • 存儲和計算的成本將進一步下降,但消耗會同步增長。考慮到全球範圍內的計算服務還有大量沒有轉移到雲計算環境中,未來十年基礎雲服務的算力還會大量增加,服務單價會持續下降。

  • 前沿技術將持續融合到雲計算平台,包括量子計算、AR/VR、區塊鏈等。尤其是那些依賴海量數據計算能力和彈性計算資源的應用,雲計算是成就它們更快成長速度的軌道。

  • 雲計算的核心競爭將聚焦在應用開發環境的優越性上。誰能夠提供廉價、完善和前沿的開發技術棧環境,誰就能夠獲得更多的開發者用戶。當開發者用戶選擇了雲服務商後,他們其實就為終端用戶做出了選擇。
  • 多雲、或稱混合雲環境成為長期的企業應用策略,雲計算用戶將綜合使用邊緣、各個雲計算服務商和自有IT設施。
  • 雲計算開發技術棧會越來越複雜,這會讓應用開發領域的分工更加明確。面向終端用戶的應用開發將變得更加簡潔,應用生成的方式會越來越多元,無需編碼,依靠普通業務用戶建立應用程式的服務商會越來越多。

本文作者是明道雲創始人,明道雲是一個零代碼應用平台廠商,通過可視化方式幫助企業用戶建立中後台企業應用,具備快速搭建,靈活調整,數據貫通和簡單易學的特點。

文/明道雲創始人任向暉

關鍵字: