如何用最短的時(shí)間理解一項(xiàng)數(shù)字技術(shù)?就用七本白皮書!

信息技術(shù)、數(shù)據(jù)被國家認(rèn)定為新的生產(chǎn)要素,對于數(shù)據(jù)從業(yè)者來說是時(shí)代賦予的巨大紅利,但也要認(rèn)識(shí)到,數(shù)據(jù)要素要發(fā)揮出價(jià)值,離不開數(shù)據(jù)要素市場的培育,更依賴于信息技術(shù)(大數(shù)據(jù)、人工智能、區(qū)塊鏈、云計(jì)算、邊緣計(jì)算、物聯(lián)網(wǎng)等)的加持。
為了抓住這難得的的機(jī)遇,數(shù)據(jù)從業(yè)者除了掌握必要的數(shù)據(jù)管理技能外,也要突破專業(yè)的限制,對最新的數(shù)字技術(shù)有所理解,這樣才能揮斥方遒,推進(jìn)數(shù)字技術(shù)的融合創(chuàng)新,從而更好的發(fā)揮出數(shù)據(jù)要素的價(jià)值。
那么,如何了解這些最新的數(shù)字技術(shù)呢?
筆者的感覺是,如果總是從一個(gè)點(diǎn)切入去理解這些技術(shù),雖然比較具體,但往往成了盲人摸象,很難形成一個(gè)體系化的認(rèn)知,而《白皮書》則為理解某個(gè)技術(shù)的全貌提供了很好的指引。
自己最近連續(xù)學(xué)習(xí)了七本最新的白皮書,分別是
《大數(shù)據(jù)白皮書(2020)》、
《云計(jì)算發(fā)展白皮書(2020)》、
《云原生架構(gòu)白皮書》、
《云原生中間件白皮書(2020)》、
《聯(lián)邦學(xué)習(xí)白皮書V2.0》、
《區(qū)塊鏈白皮書(2020)》、
《數(shù)字孿生白皮書(2020)》,
受益匪淺,本文針對每本白皮書的核心內(nèi)容做了摘錄,如果你對相關(guān)內(nèi)容感興趣,可以下載下來仔細(xì)讀一讀(文末有全部白皮書的下載地址)。

這本白皮書給出了下面這張大數(shù)據(jù)技術(shù)全景圖,很有價(jià)值。有兩篇文章專門做了解讀,一篇是《萬字長文解讀最新最全的大數(shù)據(jù)技術(shù)體系圖譜!》,主要講了主流的大數(shù)據(jù)技術(shù)和產(chǎn)品,另一篇是《如何理解《2020年大數(shù)據(jù)白皮書》的大數(shù)據(jù)技術(shù)最新發(fā)展趨勢?》,介紹了存算分離、數(shù)據(jù)分析能力服務(wù)化、數(shù)據(jù)管理自動(dòng)化智能化、圖分析及隱私計(jì)算五個(gè)技術(shù)趨勢。


這本《白皮書》給出了云計(jì)算發(fā)展的四個(gè)趨勢,分別是云原生的大幅進(jìn)化、云需求從IaaS 向SaaS 上移、云布局從中心向邊緣延伸及云定位從基礎(chǔ)資源向基建操作系統(tǒng)擴(kuò)展。
1、云原生推進(jìn)云計(jì)算從粗放向精細(xì)轉(zhuǎn)型
過去十年,云計(jì)算技術(shù)快速發(fā)展,云的形態(tài)也在不斷演進(jìn)?;趥鹘y(tǒng)技術(shù)棧構(gòu)建的應(yīng)用包含了太多開發(fā)需求,而傳統(tǒng)的虛擬化平臺(tái)只能提供基本運(yùn)行的資源,云端強(qiáng)大的服務(wù)能力紅利并沒有完全得到釋放。隨著云原生技術(shù)進(jìn)一步成熟和落地,用戶可將應(yīng)用快速構(gòu)建和部署到與硬件解耦的平臺(tái)上,使資源可調(diào)度粒度越來越細(xì)、管理越來越方便、效能越來越高。
容器和微服務(wù)的組合為云原生應(yīng)用開發(fā)提供了基本的底層架構(gòu)。在此基礎(chǔ)上,當(dāng)前云原生技術(shù)關(guān)注點(diǎn)逐漸上移,云原生中間件、服務(wù)網(wǎng)格、無服務(wù)器等技術(shù)使用戶更加聚焦業(yè)務(wù)邏輯,最大化應(yīng)用開發(fā)的價(jià)值。
(1)云原生中間件
指在公有云、私有云和混合云等新型動(dòng)態(tài)環(huán)境中,用于構(gòu)建和運(yùn)行可彈性擴(kuò)展的應(yīng)用,持續(xù)交付部署業(yè)務(wù)生產(chǎn)系統(tǒng)的分布式中間件。云原生時(shí)代的中間件延續(xù)了傳統(tǒng)中間件的功能,不同之處在于其將功能從應(yīng)用中剝離,在運(yùn)行時(shí)為應(yīng)用動(dòng)態(tài)賦能,比如Kafka等等。
(2)服務(wù)網(wǎng)格(Service Mesh)
主要是為了解決眾多微服務(wù)間通信的性能瓶頸問題,其重新構(gòu)建了服務(wù)間通信模式,給云原生應(yīng)用開發(fā)者帶來更好的開發(fā)和維護(hù)體驗(yàn),加速業(yè)務(wù)的創(chuàng)新效率,服務(wù)網(wǎng)格可以認(rèn)為是微服務(wù)的TCP/IP協(xié)議。
(3)無服務(wù)器(Serverless)
Serverless 是一種軟件系統(tǒng)架構(gòu)思想和方法,它的核心思想是開發(fā)者使用Serverless 無須關(guān)注底層資源,而只需關(guān)注業(yè)務(wù)應(yīng)用的開發(fā),即用戶只需要關(guān)注函數(shù)這個(gè)實(shí)現(xiàn)業(yè)務(wù)邏輯的最小單元,無需關(guān)注和業(yè)務(wù)不相關(guān)的資源申請和資源運(yùn)維等工作,從而縮短流程,節(jié)省的運(yùn)維人力可以投入到研發(fā),提高研發(fā)效率,縮短業(yè)務(wù)上線時(shí)間。
(4)數(shù)字中臺(tái)數(shù)字中臺(tái)為業(yè)務(wù)而生,包括了數(shù)據(jù)中臺(tái)、業(yè)務(wù)中臺(tái)和技術(shù)中臺(tái)。
業(yè)務(wù)中臺(tái)需要微服務(wù)、云原生、分布式事務(wù)體系支撐,并設(shè)計(jì)業(yè)務(wù)模型和微服務(wù)邊界,最終形成業(yè)務(wù)單元;數(shù)據(jù)中臺(tái)引入多終端、多形態(tài)數(shù)據(jù),采用數(shù)據(jù)分層架構(gòu)模式,同時(shí)需要指標(biāo)管理、數(shù)據(jù)服務(wù)、元數(shù)據(jù)管理等一系列的數(shù)據(jù)管理技術(shù)做支撐。云原生技術(shù)為數(shù)字中臺(tái)建設(shè)提供了強(qiáng)有力的技術(shù)支撐,形成了數(shù)字中臺(tái)建設(shè)的技術(shù)底座,為企業(yè)數(shù)字化轉(zhuǎn)型和業(yè)務(wù)能力沉淀賦能。

2、云需求從IaaS 向SaaS 上移伴隨企業(yè)上云進(jìn)程不斷深入,企業(yè)用戶對云服務(wù)的認(rèn)可度逐步提升,對通過云服務(wù)進(jìn)一步實(shí)現(xiàn)降本增效提出了新訴求。企業(yè)用戶不再滿足于僅僅使用基礎(chǔ)設(shè)施層服務(wù)(IaaS)完成資源云化,而是期望通過應(yīng)用軟件層服務(wù)(SaaS)實(shí)現(xiàn)企業(yè)管理和業(yè)務(wù)系統(tǒng)的全面云化。未來,SaaS 服務(wù)必將成為企業(yè)上云的重要抓手,助力企業(yè)提升創(chuàng)新能力。
3、云布局從中心向邊緣延伸隨著5G、物聯(lián)網(wǎng)等技術(shù)的快速發(fā)展和云服務(wù)的推動(dòng)使得邊緣計(jì)算備受產(chǎn)業(yè)關(guān)注,但只有云計(jì)算與邊緣計(jì)算通過緊密協(xié)同才能更好地滿足各種需求場景的匹配,從而最大化體現(xiàn)云計(jì)算與邊緣計(jì)算的應(yīng)用價(jià)值。未來,隨著新基建的不斷落地,構(gòu)建端到端的云、網(wǎng)、邊一體化架構(gòu)將是實(shí)現(xiàn)全域數(shù)據(jù)高速互聯(lián)、應(yīng)用整合調(diào)度分發(fā)以及計(jì)算力全覆蓋的重要途徑。
4、云定位從基礎(chǔ)資源向基建操作系統(tǒng)擴(kuò)展在企業(yè)數(shù)字化轉(zhuǎn)型的過程中,云計(jì)算被視為一種普惠、靈活的基礎(chǔ)資源,隨著新基建定義的明確,云計(jì)算的定位也在不斷變化,內(nèi)涵也更加豐富,云計(jì)算正成為管理算力與網(wǎng)絡(luò)資源,并為其他新技術(shù)提供部署環(huán)境的操作系統(tǒng)。未來,云計(jì)算將進(jìn)一步發(fā)揮其操作系統(tǒng)屬性,深度整合算力、網(wǎng)絡(luò)與其他新技術(shù),推動(dòng)新基建賦能產(chǎn)業(yè)結(jié)構(gòu)不斷升級。


關(guān)于云原生沒看過癮,因此特意找了阿里云不久前發(fā)布的《云原生架構(gòu)白皮書》來讀,下面是《白皮書》的目錄,干貨滿滿,大家一定要讀一讀。

1、云原生架構(gòu)定義從技術(shù)的角度,云原生架構(gòu)是基于云原生技術(shù)的一組架構(gòu)原則和設(shè)計(jì)模式的集合,旨在將云應(yīng)用中的非業(yè)務(wù)代碼部分進(jìn)行最大化的剝離,從而讓云設(shè)施接管應(yīng)用中原有的大量非功能特性(如彈性、韌性、安全、可觀測性、灰度等),使業(yè)務(wù)不再有非功能性業(yè)務(wù)中斷困擾的同時(shí),具備輕量、敏捷、高度自動(dòng)化的特點(diǎn)。

上圖展示了在代碼中通常包括三部分:業(yè)務(wù)代碼、三方軟件、處理非功能特性的代碼。其中“業(yè)務(wù)代碼”指實(shí)現(xiàn)業(yè)務(wù)邏輯的代碼;“三方軟件”是業(yè)務(wù)代碼中依賴的所有三方庫,包括業(yè)務(wù)庫和基礎(chǔ)庫;“處理非功能性的代碼”指實(shí)現(xiàn)高可用、安全、可觀測性等非功能性能力的代碼。
三部分中只有業(yè)務(wù)代碼是核心,是對業(yè)務(wù)真正帶來價(jià)值的,另外兩個(gè)部分都只算附屬物,但隨著軟件規(guī)模的增大、業(yè)務(wù)模塊規(guī)模變大、部署環(huán)境增多、分布式復(fù)雜性增強(qiáng),使得今天的軟件構(gòu)建變得越來越復(fù)雜,對開發(fā)人員的技能要求也越來越高。
云原生架構(gòu)相比較傳統(tǒng)架構(gòu)進(jìn)了一大步,從業(yè)務(wù)代碼中剝離了大量非功能性特性(不會(huì)是所有,比如易用性還不能剝離)到 IaaS 和 PaaS 中,從而減少業(yè)務(wù)代碼開發(fā)人員的技術(shù)關(guān)注范圍,通過云廠商的專業(yè)性提升應(yīng)用的非功能性能力。
2、云原生架構(gòu)原則阿里總結(jié)了七大原則,分別是服務(wù)化原則、彈性原則、可觀測原則、韌性原則、所有過程自動(dòng)化原則、零信任原則、架構(gòu)持續(xù)演進(jìn)原則,非常通俗易懂。
3、主要架構(gòu)模式(1)服務(wù)化架構(gòu)模式云時(shí)代構(gòu)建云原生應(yīng)用的標(biāo)準(zhǔn)架構(gòu)模式,要求以應(yīng)用模塊為顆粒度劃分一個(gè)軟件,以接口契約(例如 IDL)定義彼此業(yè)務(wù)關(guān)系,以標(biāo)準(zhǔn)協(xié)議(HTTP、gRPC 等)確保彼此的互聯(lián)互通,結(jié)合 DDD(領(lǐng)域模型驅(qū)動(dòng))、TDD(測試驅(qū)動(dòng)開發(fā))、容器化部署提升每個(gè)接口的代碼質(zhì)量和迭代速度。
通過服務(wù)化架構(gòu),把代碼模塊關(guān)系和部署關(guān)系進(jìn)行分離,每個(gè)接口可以部署不同數(shù)量的實(shí)例,單獨(dú)擴(kuò)縮容,從而使得整體的部署更經(jīng)濟(jì)。此外,由于在進(jìn)程級實(shí)現(xiàn)了模塊的分離,每個(gè)接口都可以單獨(dú)升級,從而提升了整體的迭代效率。
(2)Mesh 化架構(gòu)就是把中間件框架(比如 RPC、緩存、異步消息等)從業(yè)務(wù)進(jìn)程中分離,讓中間件SDK與業(yè)務(wù)代碼進(jìn)一步解耦,從而使得中間件升級對業(yè)務(wù)進(jìn)程沒有影響,甚至遷移到另外一個(gè)平臺(tái)的中間件也對業(yè)務(wù)透明。分離后在業(yè)務(wù)進(jìn)程中只保留很“薄”的Client部分,Client 通常很少變化,只負(fù)責(zé)與 Mesh 進(jìn)程通訊,原來需要在SDK中處理的流量控制、安全等邏輯由 Mesh 進(jìn)程完成。整個(gè)架構(gòu)如下圖所示。

(3)Serverless 模式
和大部分計(jì)算模式不同,Serverless 將“部署”這個(gè)動(dòng)作從運(yùn)維中“收走”,使開發(fā)者不用關(guān)心應(yīng)用在哪里運(yùn)行,更不用關(guān)心裝什么 OS、怎么配置網(wǎng)絡(luò)、需要多少 CPU。架構(gòu)抽象上看,當(dāng)業(yè)務(wù)流量到來/業(yè)務(wù)事件發(fā)生時(shí),云會(huì)啟動(dòng)或調(diào)度一個(gè)已啟動(dòng)的業(yè)務(wù)進(jìn)程進(jìn)行處理,處理完成后云自動(dòng)會(huì)關(guān)閉/調(diào)度業(yè)務(wù)進(jìn)程,等待下一次觸發(fā),也就是把應(yīng)用的整個(gè)運(yùn)行時(shí)都委托給云。
(4)存儲(chǔ)計(jì)算分離模式分布式環(huán)境中的CAP困難
主要是針對有狀態(tài)應(yīng)用,因?yàn)闊o狀態(tài)應(yīng)用不存在C(一致性)這個(gè)維度,因此可以獲得很好的A(可用性)和P(分區(qū)容錯(cuò)性),因而獲得更好的彈性。在云環(huán)境中,推薦把各類暫態(tài)數(shù)據(jù)(如session)、結(jié)構(gòu)化和非結(jié)構(gòu)化持久數(shù)據(jù)都采用云服務(wù)來保存,從而實(shí)現(xiàn)存儲(chǔ)計(jì)算分離。但仍然有一些狀態(tài)如果保存到遠(yuǎn)端緩存,會(huì)造成交易性能的明顯下降,比如交易會(huì)話數(shù)據(jù)太大、需要不斷根據(jù)上下文重新獲取等,則可以考慮通過采用 Event Log + 快照(或 Check Point)的方式,實(shí)現(xiàn)重啟后快速增量恢復(fù)服務(wù),減少不可用對業(yè)務(wù)的影響時(shí)長。
(5)分布式事務(wù)模式
微服務(wù)模式提倡每個(gè)服務(wù)使用私有的數(shù)據(jù)源,而不是像單體這樣共享數(shù)據(jù)源,但往往大顆粒度的業(yè)務(wù)需要訪問多個(gè)微服務(wù),必然帶來分布式事務(wù)問題,否則數(shù)據(jù)就會(huì)出現(xiàn)不一致。架構(gòu)師需要根據(jù)不同的場景選擇合適的分布式事務(wù)模式。
(6)可觀測架構(gòu)
包括Logging、Tracing、Metrics三個(gè)方面,其中Logging提供多個(gè)級別(verbose/debug/warning/error/fatal)的詳細(xì)信息跟蹤,由應(yīng)用開發(fā)者主動(dòng)提供;Tracing 提供一個(gè)請求從前端到后端的完整調(diào)用鏈路跟蹤,對于分布式場景尤其有用;Metrics則提供對系統(tǒng)量化的多維度度量。
(7)事件驅(qū)動(dòng)架構(gòu)(EDA,Event Driven Architecture)
本質(zhì)上是一種應(yīng)用/ 組件間的集成架構(gòu)模式,事件和傳統(tǒng)的消息不同,事件具有schema,所以可以校驗(yàn)event 的有效性,同時(shí)EDA 具備QoS保障機(jī)制,也能夠?qū)κ录幚硎∵M(jìn)行響應(yīng)。典型的事件驅(qū)動(dòng)架構(gòu)如下圖:

4、云原生技術(shù)
(1)容器技術(shù)容器作為標(biāo)準(zhǔn)化軟件單元,它將應(yīng)用及其所有依賴項(xiàng)打包,使應(yīng)用不再受環(huán)境限制,在不同計(jì)算環(huán)境間快速、可靠地運(yùn)行。

(2)微服務(wù)
微服務(wù)模式將后端單體應(yīng)用拆分為松耦合的多個(gè)子應(yīng)用,每個(gè)子應(yīng)用負(fù)責(zé)一組子功能。這些子應(yīng)用稱為“微服務(wù)”,多個(gè)“微服務(wù)”共同形成了一個(gè)物理獨(dú)立但邏輯完整的分布式微服務(wù)體系。這些微服務(wù)相對獨(dú)立,通過解耦研發(fā)、測試與部署流程,提高整體迭代效率。此外,微服務(wù)模式通過分布式架構(gòu)將應(yīng)用水平擴(kuò)展和冗余部署,從根本上解決了單體應(yīng)用在拓展性和穩(wěn)定性上存在的先天架構(gòu)缺陷。
微服務(wù)架構(gòu)經(jīng)歷了四代,2016 年出現(xiàn)了第三代微服務(wù)架構(gòu) - 服務(wù)網(wǎng)格,原來被模塊化到服務(wù)框架里的微服務(wù)基礎(chǔ)能力,被進(jìn)一步的從一個(gè) SDK 演進(jìn)成為一個(gè)獨(dú)立進(jìn)程 - Sidecar。這個(gè)變化使得第二代架構(gòu)中多語言支持問題得以徹底解決,微服務(wù)基礎(chǔ)能力演進(jìn)和業(yè)務(wù)邏輯迭代徹底解耦。這個(gè)架構(gòu)就是在云原生時(shí)代的微服務(wù)架構(gòu) - Cloud Native Microservices,邊車(Sidecar)進(jìn)程開始接管微服務(wù)應(yīng)用之間的流量,承載第二代中服務(wù)框架的功能,包括服務(wù)發(fā)現(xiàn)、調(diào)用容錯(cuò),到豐富的服務(wù)治理功能,例如:權(quán)重路由、灰度路由、流量重放、服務(wù)偽裝等。

(3)Serverless
隨著以 Kubernetes為代表的云原生技術(shù)成為云計(jì)算的容器界面,Kubernetes成為云計(jì)算的新一代操作系統(tǒng)。面向特定領(lǐng)域的后端云服務(wù)(BaaS)則是這個(gè)操作系統(tǒng)上的服務(wù) API,存儲(chǔ)、數(shù)據(jù)庫、中間件、大數(shù)據(jù)、AI 等領(lǐng)域的大量產(chǎn)品與技術(shù)都開始提供全托管的云形態(tài)服務(wù),如今越來越多用戶已習(xí)慣使用云服務(wù),而不是自己搭建存儲(chǔ)系統(tǒng)、部署數(shù)據(jù)庫軟件。當(dāng)這些 BaaS 云服務(wù)日趨完善時(shí),Serverless 因?yàn)槠帘瘟朔?wù)器的各種運(yùn)維復(fù)雜度,讓開發(fā)人員可以將更多精力用于業(yè)務(wù)邏輯設(shè)計(jì)與實(shí)現(xiàn),而逐漸成為云原生主流技術(shù)之一。
Serverless 計(jì)算包含全托管的計(jì)算服務(wù)、通用性、自動(dòng)的彈性伸縮及按量計(jì)費(fèi)四大特征。
(4)開放應(yīng)用模型(OAM)容器技術(shù)
以“徹底改變了軟件打包與分發(fā)方式”迅速得到大量企業(yè)的廣泛使用。不過軟件打包與分發(fā)方式的革新,并沒有能夠讓軟件本身的定義與描述發(fā)生本質(zhì)變化;基于 Kubernetes 的應(yīng)用管理體驗(yàn),還沒有讓業(yè)務(wù)研發(fā)與運(yùn)維的工作變得足夠簡單。
最典型的例子,Kubernetes 至今都沒有“應(yīng)用”這個(gè)概念,它提供的是更細(xì)粒度的“工作負(fù)載”原語,比如 Deployment 或者 DaemonSet。在實(shí)際環(huán)境中,一個(gè)應(yīng)用往往由一系列獨(dú)立組件組成,比如一個(gè)“PHP 應(yīng)用容器”和一個(gè)“數(shù)據(jù)庫實(shí)例”組成電商網(wǎng)站;一個(gè)“參數(shù)服務(wù)節(jié)點(diǎn)”和一個(gè)“工作節(jié)點(diǎn)”組成機(jī)器學(xué)習(xí)訓(xùn)練任務(wù)。
OAM 的一個(gè)設(shè)計(jì)目標(biāo)就是補(bǔ)充“應(yīng)用”這一概念,建立對應(yīng)用和它所需的運(yùn)維能力定義與描述的標(biāo)準(zhǔn)規(guī)范。換而言之,OAM 既是標(biāo)準(zhǔn)“應(yīng)用定義”同時(shí)也是幫助封裝、組織和管理 Kubernetes 中各種“運(yùn)維能力”。
在具體設(shè)計(jì)上,OAM 的描述模型是基于 Kubernetes API 的資源模型(Kubernetes Resource Model)來構(gòu)建的,它強(qiáng)調(diào)一個(gè)現(xiàn)代應(yīng)用是多個(gè)資源的集合,而非一個(gè)簡單工作負(fù)載。
例如在 PHP 電商網(wǎng)站的 OAM語境中,一個(gè) PHP 容器和它所依賴的數(shù)據(jù)庫以及它所需要使用的各種云服務(wù),都是一個(gè)“電商網(wǎng)站”應(yīng)用的組成部分。同時(shí),OAM 把這個(gè)應(yīng)用所需的“運(yùn)維策略”也認(rèn)為是應(yīng)用的一部分,比如這個(gè) PHP 容器所需的HPA(水平自動(dòng)擴(kuò)展策略)。
例如,一個(gè)由 PHP 容器和 Redis 實(shí)例組成的應(yīng)用,在 OAM 的框架和規(guī)范下,就可以用如下的示意圖來表達(dá)出來:

(5)Service Mesh 技術(shù)
Service Mesh 是分布式應(yīng)用在微服務(wù)軟件架構(gòu)之上發(fā)展起來的新技術(shù),旨在將那些微服務(wù)間的連接、安全、流量控制和可觀測等通用功能下沉為平臺(tái)基礎(chǔ)設(shè)施,實(shí)現(xiàn)應(yīng)用與平臺(tái)基礎(chǔ)設(shè)施的解耦。
這個(gè)解耦意味著開發(fā)者無需關(guān)注微服務(wù)相關(guān)治理問題而聚焦于業(yè)務(wù)邏輯本身,提升應(yīng)用開發(fā)效率并加速業(yè)務(wù)探索和創(chuàng)新。換句話說,因?yàn)榇罅糠枪δ苄詮臉I(yè)務(wù)進(jìn)程剝離到另外進(jìn)程中,Service Mesh 以無侵入的方式實(shí)現(xiàn)了應(yīng)用輕量化,下圖展示了Service Mesh 的典型架構(gòu):

在這張架構(gòu)圖中,Service A 調(diào)用 Service B 的所有請求,都被其下的 Proxy(在 Envoy 中是 Sidecar) 截獲,代理 Service A 完成到 Service B 的服務(wù)發(fā)現(xiàn)、熔斷、限流等策略,而這些策略的總控是在 Control Plane 上配置。
(6)DevOpsDevOps
就是為了提高軟件研發(fā)效率,快速應(yīng)對變化,持續(xù)交付價(jià)值的的一系列理念和實(shí)踐,其基本思想就是持續(xù)部署(CD),讓軟件的構(gòu)建、測試、發(fā)布能夠更加快捷可靠,以盡量縮短系統(tǒng)變更從提交到最后安全部署到生產(chǎn)系統(tǒng)的時(shí)間。
相對于傳統(tǒng)IT基礎(chǔ)設(shè)施,云具有更加靈活的調(diào)度策略,接近無限的資源、豐富的服務(wù)供用戶選擇、使用,這些都極大方便了軟件的建設(shè)。而云原生開源生態(tài)的建設(shè),基本統(tǒng)一了軟件部署和運(yùn)維的基本模式。更重要的是,云原生技術(shù)的快速演進(jìn),技術(shù)復(fù)雜性不斷下沉到云,賦能開發(fā)者個(gè)體能力,不斷提升了應(yīng)用開發(fā)效率。
首先是容器技術(shù)和 Kubernetes 服務(wù)編排技術(shù)的結(jié)合,解決了應(yīng)用部署自動(dòng)化、標(biāo)準(zhǔn)化、配置化問題。CNCF 打破了云上平臺(tái)的壁壘,使建設(shè)跨平臺(tái)的應(yīng)用成為可能,成為事實(shí)上的云上應(yīng)用開發(fā)平臺(tái)的標(biāo)準(zhǔn),極大簡化了多云部署。
一個(gè)完整開發(fā)流程涉及到很多步驟,而環(huán)節(jié)越多,一次循環(huán)花費(fèi)的時(shí)間越長,效率就越低。微服務(wù)通過把巨石應(yīng)用拆解為若干單功能的服務(wù),減少了服務(wù)間的耦合性,讓開發(fā)和部署更加便捷,可以有效降低開發(fā)周期,提高部署靈活性。
Service Mesh讓中間件的升級和應(yīng)用系統(tǒng)的升級完全解耦,在運(yùn)維和管控方面的靈活性獲得提升。Serverless讓運(yùn)維對開發(fā)透明,對于應(yīng)用所需資源進(jìn)行自動(dòng)伸縮。FaaS 是 Serverless 的一種實(shí)現(xiàn),則更加簡化了開發(fā)運(yùn)維的過程,從開發(fā)到最后測試上線都可以在一個(gè)集成開發(fā)環(huán)境中完成。無論哪一種場景,后臺(tái)的運(yùn)維平臺(tái)的工作都是不可以缺少的,只是通過技術(shù)讓擴(kuò)容、容錯(cuò)等技術(shù)對開發(fā)人員透明,讓效率更高。
(7)云原生中間件
云原生中間件最大的技術(shù)特點(diǎn)就是中間件技術(shù)從業(yè)務(wù)進(jìn)程中分離,變成與開發(fā)語言無關(guān)的普惠技術(shù),只與應(yīng)用自身架構(gòu)和采用的技術(shù)標(biāo)準(zhǔn)有關(guān),比如一個(gè) PHP 開發(fā)的 REST 應(yīng)用也會(huì)自動(dòng)具備流量灰度發(fā)布能力、可觀測能力,即使這個(gè)應(yīng)用并沒有采用任何服務(wù)化編程框架。
微服務(wù)架構(gòu)一般包含下列組件:服務(wù)注冊發(fā)現(xiàn)中心、配置中心、服務(wù)治理、服務(wù)網(wǎng)格、API 管理、運(yùn)行時(shí)監(jiān)控、鏈路跟蹤等。隨著 Kubernetes 的流行,Kubernetes 提供的基礎(chǔ)部署運(yùn)維和彈性伸縮能力已經(jīng)可以滿足多數(shù)中小企業(yè)的微服務(wù)運(yùn)維要求。微服務(wù)與 Kubernetes 集成會(huì)是一個(gè)大趨勢。
服務(wù)注冊發(fā)現(xiàn)和配置中心的功能主要致力于解決微服務(wù)在分布式場景下的服務(wù)發(fā)現(xiàn)和分布式配置管理兩個(gè)核心問題。隨著云原生技術(shù)的發(fā)展,服務(wù)發(fā)現(xiàn)領(lǐng)域出現(xiàn)了兩個(gè)趨勢,一個(gè)是服務(wù)發(fā)現(xiàn)標(biāo)準(zhǔn)化(Istio),一個(gè)是服務(wù)下沉(CoreDNS);配置管理領(lǐng)域也有兩個(gè)趨勢,一個(gè)是標(biāo)準(zhǔn)化(ConfigMap),一個(gè)是安全(Secret)。
提到事件驅(qū)動(dòng)就必須先講消息服務(wù),消息服務(wù)是云計(jì)算PaaS領(lǐng)域的基礎(chǔ)設(shè)施之一,主要用于解決分布式應(yīng)用的異步通信、解耦、削峰填谷等場景。消息服務(wù)提供一種BaaS化的消息使用模式,用戶無需預(yù)先購買服務(wù)器和自行搭建消息隊(duì)列,也無需預(yù)先評估消息使用容量,只需要在云平臺(tái)開通即用,按消息使用量收費(fèi)。

為了加強(qiáng)對于云原生中間件的理解,自己又去找了云原生產(chǎn)業(yè)聯(lián)盟的《云原生中間件白皮書(2020)》來看,云原生技術(shù)幾乎就是指云原生中間件了。
1、中間件的概念
中間件是指網(wǎng)絡(luò)環(huán)境下處于操作系統(tǒng)、數(shù)據(jù)庫等系統(tǒng)軟件和應(yīng)用軟件之間的一種起連接作用的分布式軟件。中間件主要解決異構(gòu)網(wǎng)絡(luò)環(huán)境下分布式應(yīng)用軟件的互連與互操作問題。提供標(biāo)準(zhǔn)接口、協(xié)議,屏蔽實(shí)現(xiàn)細(xì)節(jié),提高應(yīng)用系統(tǒng)易移植性為其主要技術(shù)優(yōu)勢。它使用戶能使用一種腳本語言來選擇和連接已有的服務(wù),從而生成簡單程序的軟件開發(fā)工具。
中間件涉及軟件的各個(gè)領(lǐng)域,是供公用應(yīng)用程序編程接口的軟件。中間件在操作系統(tǒng)、網(wǎng)絡(luò)和數(shù)據(jù)庫之上,應(yīng)用軟件的下層,總的作用是為處于自己上層的應(yīng)用軟件提供運(yùn)行與開發(fā)的環(huán)境,幫助用戶靈活、高效地開發(fā)和集成復(fù)雜的應(yīng)用軟件。
在容器及編排技術(shù)、開源、微服務(wù)等云原生理念的帶動(dòng)下,將應(yīng)用部署到云端已經(jīng)是不可逆轉(zhuǎn)的趨勢。在現(xiàn)有業(yè)務(wù)代碼不變的情況下,想要讓分布式系統(tǒng)無縫入云,如何設(shè)計(jì)云原生中間件以支撐應(yīng)用的云上變遷成為關(guān)鍵問題。
云原生時(shí)代的應(yīng)用更加輕量化,在對外提供功能保持一致的前提下,將與核心業(yè)務(wù)無關(guān)的能力剝離出去。這些能力將以中間件的形式下沉到基礎(chǔ)設(shè)施中,成為云的一部分,從而加強(qiáng)和改善應(yīng)用的運(yùn)行環(huán)境,實(shí)現(xiàn)應(yīng)用輕量化。
2、云原生中間件的概念
云原生賦于中間件新的內(nèi)涵,即云原生中間件下沉到云基礎(chǔ)設(shè)施,保持功能不變的情況下與應(yīng)用解耦,在運(yùn)行時(shí)為應(yīng)用動(dòng)態(tài)賦能,支撐上層應(yīng)用系統(tǒng)。
云原生中間件是指在公有云、私有云和混合云等動(dòng)態(tài)環(huán)境中,用于構(gòu)建和運(yùn)行可彈性擴(kuò)展的應(yīng)用,持續(xù)交付部署業(yè)務(wù)生產(chǎn)系統(tǒng)的分布式中間件。
云原生中間件能提供應(yīng)用管理、發(fā)布部署、運(yùn)維編排、監(jiān)控分析、容災(zāi)應(yīng)急等全生命周期管理的PaaS能力,支撐云原生應(yīng)用的開發(fā)與管理,滿足經(jīng)典和云原生架構(gòu)的運(yùn)維保障需求。
云原生中間件在應(yīng)用開發(fā)方面,能提供開發(fā)者體驗(yàn)工具支撐、API 開放能力、產(chǎn)品定制能力、微服務(wù)中間件平臺(tái)、服務(wù)市場應(yīng)用商店等,來支持云原生應(yīng)用的開發(fā)與管理。
3、云原生應(yīng)用開發(fā)的特點(diǎn)傳統(tǒng)企業(yè)應(yīng)用隨著業(yè)務(wù)越來越龐大會(huì)遇到各類問題。如在運(yùn)維方面,傳統(tǒng)集群運(yùn)維繁瑣,對于人員技能要求高導(dǎo)致運(yùn)維效率低;業(yè)務(wù)架構(gòu)從單體架構(gòu)向分布式架構(gòu)轉(zhuǎn)變時(shí),架構(gòu)改造以及服務(wù)拆分帶來的技術(shù)學(xué)習(xí)難度高;自建IT基礎(chǔ)資源使整個(gè)應(yīng)用運(yùn)行成本極高,且大量計(jì)算資源無法被充分利用,資源利用率低。云原生的出現(xiàn)極大改善了企業(yè)業(yè)務(wù)上云的難度,其主要有以下優(yōu)勢:
(1)云生云長,充分利用云平臺(tái)服務(wù)優(yōu)云原生應(yīng)用可以快速構(gòu)建并部署到平臺(tái)上,平臺(tái)提供了簡單快捷的擴(kuò)展能力并與硬件解耦,提供了更大的靈活性、彈性和跨云環(huán)境的可移植性。
(2)敏捷彈性,致力于高效高可用設(shè)計(jì)在傳統(tǒng)的舊基礎(chǔ)設(shè)施故障時(shí),服務(wù)是可能會(huì)受到影響的。在一個(gè)云原生的世界中,團(tuán)隊(duì)特別關(guān)注于為彈性和高可用進(jìn)行架構(gòu)設(shè)計(jì)。云原生焦點(diǎn)幫助開發(fā)人員和架構(gòu)師設(shè)計(jì)不受環(huán)境中故障影響的在線系統(tǒng),快速彈性的重建和保持系統(tǒng)可用。
(3)靈活擴(kuò)展,云原生應(yīng)用具備多云間擴(kuò)展的靈活性公有云的廠商綁定現(xiàn)象一直為人詬病,但是使用支持云原生技術(shù)的云平臺(tái),企業(yè)可以將構(gòu)建在任何(公有或私有)云上的應(yīng)用快速遷移,兼具不同云服務(wù)商的優(yōu)勢服務(wù)能力無需擔(dān)心鎖定,云原生應(yīng)用的開發(fā),有七個(gè)特點(diǎn),分別是容器與編排、微服務(wù)化、計(jì)算存儲(chǔ)分離、服務(wù)網(wǎng)關(guān)、分布式事務(wù)模式、業(yè)務(wù)服務(wù)無狀態(tài)化。
4、云原生中間件十要素
中間件的使命是服務(wù)于上層應(yīng)用系統(tǒng),為了設(shè)計(jì)出能更好支撐云原生應(yīng)用的中間件,我們從基礎(chǔ)資源、設(shè)計(jì)原則、運(yùn)行時(shí)狀態(tài)、呈現(xiàn)形態(tài)四個(gè)維度抽象出以下十個(gè)關(guān)鍵要素。
(1)容器原生
云原生中間件應(yīng)進(jìn)行云原生架構(gòu)設(shè)計(jì),以容器化形式進(jìn)行服務(wù)部署。容器化部署可支持中間件服務(wù)快速啟動(dòng),可以靈活完成服務(wù)及資源的擴(kuò)縮容。容器隔離了用戶底層IaaS 資源的差異,利用容器編排可輕松實(shí)現(xiàn)多實(shí)例(Multiple Service Instances)部署;容器原生的中間件應(yīng)用程序和容器鏡像占用更少的資源,對于多容器部署的場景有更好的優(yōu)化策略,提升基礎(chǔ)資源利用率。
(2)服務(wù)狀態(tài)
在云原生時(shí)代,中間件架構(gòu)設(shè)計(jì)時(shí)需要定義服務(wù)的狀態(tài):有狀態(tài)部分和無狀態(tài)部分。無狀態(tài)部分主要伴隨業(yè)務(wù)邏輯的產(chǎn)生,如服務(wù)間通信、鏈路跟蹤等。無狀態(tài)服務(wù)是指該服務(wù)運(yùn)行的實(shí)例不會(huì)在本地存儲(chǔ)數(shù)據(jù),并且多個(gè)實(shí)例對于同一個(gè)請求響應(yīng)的結(jié)果是完全一致的。有狀態(tài)部分是指該中間件可以產(chǎn)生并存儲(chǔ)數(shù)據(jù),并且在創(chuàng)建一個(gè)新的有狀態(tài)服務(wù)時(shí),可以通過備份恢復(fù)這些數(shù)據(jù),以達(dá)到數(shù)據(jù)持久化的目的。所以將狀態(tài)保存在有狀態(tài)的中間件中,如分布式緩存、消息隊(duì)列等。
(3)組件模塊化
云原生中間件設(shè)計(jì)時(shí)應(yīng)考慮可插拔、松耦合、可動(dòng)態(tài)編排的組件化特征。每個(gè)組件都是高度抽象的、自包含的、封閉的并和其它的組件相有一定的邏輯隔離,使得不同的角色專注于其擅長領(lǐng)域的工作。開發(fā)人員可以通過組合模塊的形式調(diào)度涉及到中間件,快速支撐業(yè)務(wù),適用系統(tǒng)的運(yùn)行時(shí)特征。松耦合的中間件讓開發(fā)人員可以在處理每個(gè)中間件時(shí)都能夠獨(dú)立于其他中間件來工作。云原生中間件通過功能上的分離,對外提供統(tǒng)一的應(yīng)用程序編程接口(API)供開發(fā)人員調(diào)用,使開發(fā)者可以專注于每項(xiàng)服務(wù)的核心功能,以提供細(xì)粒度的功能。
(4)事件驅(qū)動(dòng)
事件驅(qū)動(dòng)架構(gòu)作為一種應(yīng)用間集成模式,天然適合云原生中間件的調(diào)度和集成。在事件驅(qū)動(dòng)的體系結(jié)構(gòu)中,當(dāng)服務(wù)執(zhí)行其他中間件可能感興趣的工作時(shí),該服務(wù)將生成一個(gè)事件。其他服務(wù)使用這些事件,進(jìn)而執(zhí)行由該事件觸發(fā)的任務(wù)。事件成為了可以被消費(fèi)的對象,而不僅僅是在函數(shù)間傳遞的臨時(shí)參數(shù),從而可以同時(shí)被多個(gè)中間件消費(fèi)。中間件不需要直接和生成事件的服務(wù)進(jìn)行交互,僅通過監(jiān)聽事件,觸發(fā)對應(yīng)的操作,從而降低了服務(wù)內(nèi)部的復(fù)雜度。
(5)可觀測
在由微服務(wù)和容器等技術(shù)形成的高度復(fù)雜的應(yīng)用系統(tǒng)運(yùn)行態(tài)中,可觀測性成為云原生中間件必須具備的能力??捎^測性包含了監(jiān)控、告警、日志聚合、分布式跟蹤和依賴分析等部分,通過收集處理數(shù)據(jù)來定位問題,并簡化信息的訪問,實(shí)時(shí)深入的觀察整個(gè)應(yīng)用系統(tǒng)的健康狀態(tài),從業(yè)務(wù)資源計(jì)量等多個(gè)維度進(jìn)行度量。日志、指標(biāo)和請求跟蹤是可觀測性的基礎(chǔ)。
(6)韌性設(shè)計(jì)
具備韌性設(shè)計(jì)的中間件具有高延時(shí)寬容、容錯(cuò)和故障恢復(fù)邏輯??梢苑乐惯B鎖故障,允許快速失敗和快速恢復(fù),且具備較強(qiáng)的系統(tǒng)自愈能力和抵抗外部沖擊,為其上層運(yùn)行的應(yīng)用系統(tǒng)提供高性能、高容錯(cuò)、高安全地支撐。
(7)彈性伸縮
可擴(kuò)展指中間件具備資源按需動(dòng)態(tài)伸縮能力,在保證業(yè)務(wù)連續(xù)性前提下,可以獨(dú)立于其他服務(wù)對于底層資源進(jìn)行擴(kuò)展或者收縮。隨著流量,需求和使用量的增加,中間件應(yīng)用應(yīng)具有彈性。彈性意味著當(dāng)資源根據(jù)需求按比例地減少或者增加時(shí),系統(tǒng)的吞吐量將自動(dòng)地向下或者向上縮放,從而滿足不同的需求。
(8)動(dòng)態(tài)部署
云原生中間件具備服務(wù)全生命周期的動(dòng)態(tài)部署與發(fā)布能力,在完成開發(fā)構(gòu)建之后,能夠以多種策略進(jìn)行發(fā)布,如滾動(dòng)發(fā)布、灰度發(fā)布、藍(lán)綠發(fā)布等;具備多種部署策略,如批量并發(fā)部署、任務(wù)定時(shí)部署、分階段部署等;具有版本控制功能,如版本追溯與回滾。
(9)統(tǒng)一響應(yīng)式與聲明式的API
云原生中間件承擔(dān)了運(yùn)行時(shí)為應(yīng)用動(dòng)態(tài)賦能的重任,應(yīng)用與中間件以API 調(diào)用的形式進(jìn)行通信與控制。響應(yīng)式API 描述為了達(dá)到某一個(gè)效果或者目標(biāo)所需要完成的指令;聲明式API 描述的是應(yīng)用期望的目標(biāo)狀態(tài)發(fā)出的指令。根據(jù)云原生的理念,應(yīng)用無需知道下層中間件及資源的具體實(shí)現(xiàn)方式。聲明式API 即可使中間件在調(diào)用時(shí)無需關(guān)注實(shí)現(xiàn)細(xì)節(jié),在應(yīng)用運(yùn)行時(shí)動(dòng)態(tài)賦予。
(10)平臺(tái)化
將中間件功能下沉到基礎(chǔ)設(shè)施,以云平臺(tái)的形式對外輸出能力,提供中間件的接口供用戶按需調(diào)用,用戶無需關(guān)注中間件服務(wù)的下層資源調(diào)度與運(yùn)維,更加聚焦輕量級的業(yè)務(wù)應(yīng)用。
5、云原生中間件典型服務(wù)
主要包括分布式消息隊(duì)列、分布式事務(wù)系統(tǒng)、分布式配置服務(wù)、API網(wǎng)關(guān)、分布式緩存、鏈路跟蹤服務(wù)等等。

數(shù)據(jù)要素要加強(qiáng)流通和開放,除了配套的政策、機(jī)制及流程,也需要更好的技術(shù)支持,在這個(gè)背景下,多方安全計(jì)算、隱私計(jì)算、聯(lián)邦學(xué)習(xí)等技術(shù)成為當(dāng)下的熱點(diǎn),微眾銀行的《聯(lián)邦學(xué)習(xí)白皮書V2.0》對聯(lián)邦學(xué)習(xí)的背景、定義、價(jià)值、分類、框架及發(fā)展路徑做了介紹,可以作為聯(lián)邦學(xué)習(xí)的入門讀物。
1、聯(lián)邦學(xué)習(xí)背景
如何在滿足數(shù)據(jù)隱私、安全和監(jiān)管要求的前提下,設(shè)計(jì)一個(gè)機(jī)器學(xué)習(xí)框架,讓人工智能系統(tǒng)能夠更加高效、準(zhǔn)確的共同使用各自的數(shù)據(jù),是當(dāng)前人工智能發(fā)展的一個(gè)重要課題,我們倡議把研究的重點(diǎn)轉(zhuǎn)移到如何解決數(shù)據(jù)孤島的問題。我們提出一個(gè)滿足隱私保護(hù)和數(shù)據(jù)安全的一個(gè)可行解決方案,這就是聯(lián)邦學(xué)習(xí)。
聯(lián)邦學(xué)習(xí)是:
(1)各方數(shù)據(jù)都保留在本地、不泄露隱私也不違反法規(guī)
(2)多個(gè)參與者聯(lián)合數(shù)據(jù)建立虛擬的共有模型,并且共同獲益的體系
(3)在聯(lián)邦學(xué)習(xí)的體系下,各個(gè)參與者的身份和地位平等
(4)聯(lián)邦學(xué)習(xí)的建模效果和將整個(gè)數(shù)據(jù)集放在一起建模的效果相同,或相差不大
(5)遷移學(xué)習(xí)是在用戶或特征不對齊的情況下,也可以在數(shù)據(jù)間通過交換加密參數(shù)達(dá)到知識(shí)遷移的效果
2、聯(lián)邦學(xué)習(xí)定義
在機(jī)器學(xué)習(xí)過程中,各參與方可借助其它方數(shù)據(jù)進(jìn)行聯(lián)合建模,各方無需共享數(shù)據(jù)資源,即數(shù)據(jù)不出本地情況下,進(jìn)行數(shù)據(jù)聯(lián)合訓(xùn)練,建立共享的機(jī)器學(xué)習(xí)模型,如下圖所示。

3、聯(lián)邦學(xué)習(xí)分類聯(lián)邦學(xué)習(xí)分為橫向聯(lián)邦學(xué)習(xí)、縱向聯(lián)邦學(xué)習(xí)與遷移聯(lián)邦學(xué)習(xí),如下圖所示。

4、聯(lián)邦學(xué)習(xí)的開源框架目前業(yè)界主要的聯(lián)邦學(xué)習(xí)框架有FATE、Tensorflow Federated、PaddleFL、Pysyft等,框架比對如下:


《白皮書》的內(nèi)容比較多,這里僅以區(qū)塊鏈技術(shù)和產(chǎn)業(yè)發(fā)展趨勢為例簡要說明。
1、區(qū)塊鏈技術(shù)圖譜
現(xiàn)階段由核心技術(shù)、擴(kuò)展技術(shù)和配套技術(shù)三者組成的區(qū)塊鏈技術(shù)體系已逐步成形,未來將繼續(xù)在數(shù)據(jù)流通、網(wǎng)絡(luò)規(guī)模、技術(shù)運(yùn)維、平臺(tái)安全等方面創(chuàng)新演進(jìn)。
核心技術(shù)指一個(gè)完整的區(qū)塊鏈系統(tǒng)必須要包含的技術(shù),包括密碼算法、對等式網(wǎng)絡(luò)、共識(shí)機(jī)制、智能合約、數(shù)據(jù)存儲(chǔ);擴(kuò)展技術(shù)指進(jìn)一步擴(kuò)展區(qū)塊鏈服務(wù)能力的相關(guān)技術(shù),包括可擴(kuò)展性、互操作性、協(xié)同治理、安全隱私;配套技術(shù)指提升區(qū)塊鏈系統(tǒng)安全性、優(yōu)化使用體驗(yàn)等相關(guān)技術(shù),包括系統(tǒng)安全、運(yùn)維部署、基礎(chǔ)設(shè)施。

2、區(qū)塊鏈技術(shù)發(fā)展趨勢
(1)數(shù)據(jù)流通更高效
(2)網(wǎng)絡(luò)規(guī)模更廣泛
(3)技術(shù)運(yùn)維更精細(xì)
(4)平臺(tái)安全更可控
3、區(qū)塊鏈產(chǎn)業(yè)圖譜
2、區(qū)塊鏈技術(shù)發(fā)展趨勢
(1)數(shù)據(jù)流通更高效
聯(lián)盟數(shù)據(jù)的互聯(lián)互通,包含聯(lián)盟鏈治理模式的升級演進(jìn)以及區(qū)塊鏈配合鏈外多方數(shù)據(jù),實(shí)現(xiàn)共享流通。
2020年主流聯(lián)盟鏈平臺(tái)越來越重視鏈的治理功能,聯(lián)盟鏈一般由多方參與,有關(guān)平臺(tái)的建設(shè)、使用、管理應(yīng)由聯(lián)盟多方共建,治理模式逐漸在一方牽頭,超級管理員主導(dǎo)的模式上,提供更加精細(xì)公平的方式。比如成立聯(lián)盟運(yùn)營委員會(huì),以多中心化的方式代替獨(dú)家代理。
在鏈外數(shù)據(jù)系統(tǒng)方面,隨著數(shù)據(jù)交換、共享力度的加大,其權(quán)屬、合規(guī)性、安全性等諸多風(fēng)險(xiǎn)開始呈現(xiàn),出現(xiàn)了數(shù)據(jù)共享難以及隱私無法保障等問題,區(qū)塊鏈技術(shù)可使得數(shù)據(jù)權(quán)屬更易確認(rèn),可為跨組織的數(shù)據(jù)協(xié)作提供共享安全性,同時(shí)是鏈外流通元信息的可信存儲(chǔ)媒介,作為新型解決方案得到了業(yè)界的關(guān)注。
2020年也看到了越來越多區(qū)塊鏈結(jié)合安全多方計(jì)算、可信執(zhí)行環(huán)境技術(shù)等等,在鏈外數(shù)據(jù)流通方面提供解決思路,并最終在鏈上實(shí)現(xiàn)數(shù)據(jù)確權(quán),信息存儲(chǔ)錨定,實(shí)現(xiàn)更廣泛的數(shù)據(jù)協(xié)同。
(2)網(wǎng)絡(luò)規(guī)模更廣泛
網(wǎng)絡(luò)規(guī)模更廣泛,包含單一區(qū)塊鏈網(wǎng)絡(luò)規(guī)模的擴(kuò)展以及鏈間的互操作。首先對于單一聯(lián)盟鏈網(wǎng)絡(luò)來說,一般采用拜占庭容錯(cuò)共識(shí)算法,但隨著共識(shí)節(jié)點(diǎn)數(shù)量增加,網(wǎng)絡(luò)需要交換的信息增多,系統(tǒng)負(fù)載及網(wǎng)絡(luò)通信量增大,造成性能下降,單一網(wǎng)絡(luò)規(guī)模受到限制。
2020年我們看到聯(lián)盟鏈共識(shí)算法正結(jié)合更多的技術(shù)盡心優(yōu)化,比如將共識(shí)算法網(wǎng)絡(luò)復(fù)雜度與共識(shí)節(jié)點(diǎn)規(guī)模解耦,節(jié)點(diǎn)類型氛圍共識(shí)節(jié)點(diǎn)、非共識(shí)節(jié)點(diǎn)等,通過引入VRF(可驗(yàn)證隨機(jī)函數(shù))保證共識(shí)節(jié)點(diǎn)選取隨機(jī)性和公平性;采用DAG(有向無環(huán)圖)數(shù)據(jù)結(jié)構(gòu)提升系統(tǒng)吞吐量、結(jié)合密碼學(xué)算法優(yōu)化共識(shí)效率等等,整體上單一網(wǎng)絡(luò)規(guī)模不斷提升。
鏈間互操作是指不同區(qū)塊鏈系統(tǒng)實(shí)例之間交換信息,并對所交換信息加以使用的能力,又可稱之為跨鏈,主要用于解決區(qū)塊鏈?zhǔn)澜纭版湗O孤島”問題,為了應(yīng)對互操作的挑戰(zhàn),旨在搭建鏈與鏈之間可信交互渠道的跨鏈技術(shù)逐漸成為業(yè)界關(guān)注的焦點(diǎn)。
(3)技術(shù)運(yùn)維更精細(xì)
在技術(shù)實(shí)現(xiàn)方面,核心技術(shù)點(diǎn)包括共識(shí)機(jī)制、加密算法、智能合約、對等網(wǎng)絡(luò)不斷夯實(shí)優(yōu)化外,行業(yè)在應(yīng)對大量數(shù)據(jù)突發(fā)請求場景下未雨綢繆,包括提供網(wǎng)絡(luò)流量控制,靈活根據(jù)系統(tǒng)處理能力過濾暴漲的業(yè)務(wù)請求,保障服務(wù)持續(xù)可用;提供賬本數(shù)據(jù)量控制,以應(yīng)對賬本無限增長情況下,賬本占用過多資源,影響節(jié)點(diǎn)運(yùn)行等、目的是在特殊場景下仍可保證區(qū)塊鏈系統(tǒng)穩(wěn)定可靠,服務(wù)可用。
在部署運(yùn)維方面,越來越多的區(qū)塊鏈底層配備有相應(yīng)的上層服務(wù)管理應(yīng)用,可屏蔽底層技術(shù)細(xì)節(jié),提升易用性,簡化運(yùn)維;同時(shí)區(qū)塊鏈即服務(wù)(BaaS)平臺(tái),不斷簡化節(jié)點(diǎn)部署,支持私有化部署、跨機(jī)房地域部署、混合部署等模式,可滿足聯(lián)盟鏈不同參與方的不同訴求,降低接入門檻。
(4)平臺(tái)安全更可控
2020年行業(yè)內(nèi)不斷出現(xiàn)自研軟硬件一體機(jī)的解決方案,結(jié)合國內(nèi)品牌服務(wù)器,操作系統(tǒng),集合軟硬件一體,并根據(jù)政府、企業(yè)用戶提供強(qiáng)隱私、高安全的區(qū)塊鏈整套應(yīng)用部署方案,在當(dāng)前特殊背景下,正成為行業(yè)技術(shù)發(fā)展的一種選擇。
在密碼學(xué)上,國密算法逐漸成為聯(lián)盟鏈的標(biāo)準(zhǔn)配置,包括適配區(qū)塊鏈運(yùn)用較多的哈希算法、數(shù)字簽名,到逐步適配國密證書、國密傳輸協(xié)議等完整的全國密技術(shù)方案,以此提升系統(tǒng)的安全可控。
同時(shí)平臺(tái)安全涉及到鏈上數(shù)據(jù)隱私保護(hù),2020年越來越多的聯(lián)盟鏈平臺(tái)提供了鏈上同態(tài)加密,支持鏈上密文的可計(jì)算;提供群環(huán)簽名,節(jié)點(diǎn)驗(yàn)證交易正確性的同時(shí),不會(huì)暴露交易發(fā)起者的信息;零知識(shí)證明,可讓一方不需在鏈上提供敏感信息的情況下,證明某個(gè)鏈上信息的正確性。
行業(yè)內(nèi)各種隱私算法技術(shù)正不斷在隱私性、可用性上不斷探索突破。同時(shí)如何保證鏈上數(shù)據(jù)隱私的情況下,仍可被監(jiān)管,也是行業(yè)不斷攻克發(fā)展的方向。
3、區(qū)塊鏈產(chǎn)業(yè)圖譜
從產(chǎn)業(yè)結(jié)構(gòu)來看,區(qū)塊鏈產(chǎn)業(yè)主要分為底層技術(shù)、平臺(tái)服務(wù)、產(chǎn)業(yè)應(yīng)用、周邊服務(wù)四部分。其中前三部分呈現(xiàn)較為明顯的上下游關(guān)系,分別由底層技術(shù)部分提供區(qū)塊鏈必要的技術(shù)產(chǎn)品和組件,平臺(tái)服務(wù)部分基于底層技術(shù)搭建出可運(yùn)行相應(yīng)行業(yè)應(yīng)用的區(qū)塊鏈平臺(tái),產(chǎn)業(yè)應(yīng)用部分主要根據(jù)各行業(yè)實(shí)際場景,利用區(qū)塊鏈技術(shù)開發(fā)行業(yè)應(yīng)用,實(shí)現(xiàn)行業(yè)內(nèi)業(yè)務(wù)協(xié)同模式革新。周邊服務(wù)部分則為行業(yè)提供支撐服務(wù),其中包括行業(yè)組織、市場研究、標(biāo)準(zhǔn)制定、系統(tǒng)測評認(rèn)證、行業(yè)媒體等,為產(chǎn)業(yè)生態(tài)發(fā)展提供動(dòng)力,如下圖所示。


如果你對數(shù)字孿生這個(gè)概念有點(diǎn)望文生義,抓不到本質(zhì),則可以看看這本《白皮書》,其給出了數(shù)字孿生城市的九個(gè)核心能力要素的定義,分別是物聯(lián)感知操控能力、全要素?cái)?shù)字化表達(dá)能力、可視化呈現(xiàn)能力、數(shù)據(jù)融合供給能力、空間分析計(jì)算能力、模擬仿真推演能力、虛實(shí)融合互動(dòng)能力、自學(xué)習(xí)自優(yōu)化能力及眾創(chuàng)擴(kuò)展能力。

九大核心能力有力呼應(yīng)精準(zhǔn)映射、虛實(shí)交互、軟件定義、智能干預(yù)四大特征,成為數(shù)字孿生城市的標(biāo)準(zhǔn)配置,有望規(guī)范數(shù)字孿生城市建設(shè)市場。

1、物聯(lián)感知操控能力:反映實(shí)時(shí)運(yùn)行狀態(tài)
物聯(lián)感知操控能力指通過各種信息傳感器、射頻識(shí)別技術(shù)、全球定位系統(tǒng)、紅外感應(yīng)器、激光掃描器等各種裝置與技術(shù),實(shí)時(shí)采集任何需要監(jiān)控、連接、互動(dòng)的物體或過程,采集其聲、光、熱、電、力學(xué)、化學(xué)、生物、位置等各種需要的信息,通過各類網(wǎng)絡(luò)接入、實(shí)現(xiàn)物與物、物與人的泛在連接,實(shí)現(xiàn)對物品和過程的智能化感知,識(shí)別、管理和控制。

2、全要素?cái)?shù)字化表達(dá)能力:實(shí)現(xiàn)精準(zhǔn)映射
全要素?cái)?shù)字化表達(dá)能力,實(shí)質(zhì)上是城市物理實(shí)體的三維模型表達(dá),通過空天、地面、地下、水下的不同層面和不同級別的數(shù)據(jù)采集,結(jié)合新型測繪技術(shù),對城市進(jìn)行全要素?cái)?shù)字化和語義化建模,實(shí)現(xiàn)由粗到細(xì)、從宏觀到微觀、從室外到室內(nèi)等不同粒度、不同精度的城市孿生還原,形成全空間一體化并且相互關(guān)聯(lián)的城市數(shù)據(jù)底板,實(shí)現(xiàn)數(shù)字空間與物理空間一一映射,為數(shù)字孿生城市可視化展現(xiàn)、智能計(jì)算分析、仿真模擬和智能決策等提供數(shù)據(jù)基礎(chǔ),共同支撐城市智慧應(yīng)用,主要建模方式如下圖。

3、可視化呈現(xiàn)能力:數(shù)字城市“打開方式”
可視化呈現(xiàn)能力是指通過圖形引擎,多層次實(shí)時(shí)渲染呈現(xiàn)數(shù)字孿生體的能力,既可以渲染宏大開闊的城市場景,又可展示地理信息局部特征,實(shí)現(xiàn)城市全貌大場景倒城市細(xì)節(jié),再到城市實(shí)時(shí)視頻的多層次渲染,真實(shí)展現(xiàn)城市樣貌、自然環(huán)境、城市細(xì)節(jié)、城市實(shí)時(shí)交通等各種場景,實(shí)現(xiàn)空間分析、大數(shù)據(jù)分析、仿真結(jié)果等可視化,實(shí)現(xiàn)大屏端、桌面端、網(wǎng)頁端、移動(dòng)端、XR設(shè)備端多終端一體化展示,滿足不同業(yè)務(wù)和應(yīng)用場景需求。

4、數(shù)據(jù)融合供給能力:
建立數(shù)據(jù)資源體系數(shù)據(jù)融合供給能力包括數(shù)據(jù)集成融合能力和數(shù)據(jù)供給能力,其中數(shù)據(jù)融合是以城市多源、多類型數(shù)據(jù)為基礎(chǔ),以城市時(shí)空數(shù)據(jù)為主要索引,構(gòu)建多層次時(shí)空數(shù)據(jù)融合框架,形成以基礎(chǔ)地理和自然資源數(shù)據(jù)為基礎(chǔ)、以政務(wù)數(shù)據(jù)為主干、以社會(huì)數(shù)據(jù)為補(bǔ)充的全空間、全要素、全過程、一體化的時(shí)空數(shù)據(jù)體系。

5、空間分析計(jì)算能力:
優(yōu)化要素空間布局空間分析計(jì)算能力是指基于數(shù)字孿生城市三位模型,結(jié)合時(shí)空網(wǎng)格技術(shù)、北斗定位服務(wù)等,針對具體業(yè)務(wù)需求,進(jìn)行空間數(shù)據(jù)相關(guān)計(jì)算、分析、查看、展示額能力,包括距離測量、面積測量、體積測量等測量能力,疊加分析、序列分析和預(yù)測分析等時(shí)空分析,路徑規(guī)劃、漫游定制、可視域分析等場景分析,以及全景圖定制以及場景標(biāo)注等。

6、模擬仿真推演能力:
預(yù)測未來發(fā)展態(tài)勢模擬仿真推演能力是在數(shù)字空間中通過數(shù)據(jù)建模、事態(tài)擬合,進(jìn)行某些特定事件的評估、計(jì)算、推演,為管理方案和設(shè)計(jì)方案提供反饋參考。與物理世界相比,數(shù)字世界具有可重復(fù)性、可逆性、全量數(shù)據(jù)可采集、重建成本低、實(shí)驗(yàn)后果可控等特性。

7、虛實(shí)融合互動(dòng)能力:
打通兩個(gè)世界接口虛實(shí)融合互動(dòng)能力是指針對具體對象或業(yè)務(wù),數(shù)字空間與物理空間之間的互操作與雙向互動(dòng),既能在數(shù)字空間再現(xiàn)與影響現(xiàn)實(shí)世界,也可在現(xiàn)實(shí)世界中進(jìn)入虛擬空間,二者滿足實(shí)時(shí)、動(dòng)態(tài)、自動(dòng)、互動(dòng)等屬性。包括數(shù)字孿生場景的自動(dòng)實(shí)時(shí)動(dòng)態(tài)演變、數(shù)字孿生運(yùn)行態(tài)勢自動(dòng)實(shí)時(shí)動(dòng)態(tài)還原、數(shù)字孿生系統(tǒng)反向干預(yù)物理世界、物理世界多入口觸達(dá)數(shù)字孿生系統(tǒng)等多種需求。

8、自學(xué)習(xí)自優(yōu)化能力:
輔助城市管理決策自學(xué)習(xí)優(yōu)化能力是指利用計(jì)算機(jī)視覺、機(jī)器學(xué)習(xí)、知識(shí)圖譜等人工智能技術(shù),實(shí)現(xiàn)城市運(yùn)行數(shù)據(jù)感知-圖像智能識(shí)別-知識(shí)圖譜溝通-數(shù)據(jù)深度學(xué)習(xí)-智能決策的循環(huán),通過對城市數(shù)據(jù)的深度學(xué)習(xí),推動(dòng)智慧城市自我優(yōu)化運(yùn)行,滿足政府、企業(yè)、市民的按需、即時(shí)和精準(zhǔn)決策需求。

9、眾創(chuàng)擴(kuò)展能力:
形成應(yīng)用創(chuàng)新平臺(tái)眾創(chuàng)擴(kuò)展能力是在數(shù)字孿生城市中樞平臺(tái)基礎(chǔ)上,將城市信息模型(CIM)更新編輯服務(wù)、數(shù)據(jù)集成處理服務(wù)、仿真算法服務(wù)、行業(yè)應(yīng)用開發(fā)服務(wù)等應(yīng)用能力集開放,讓面向行業(yè)應(yīng)用的產(chǎn)品設(shè)計(jì)者、技術(shù)開發(fā)者、運(yùn)營管理者等各類群體參與到數(shù)字孿生城市建設(shè)中,形成能力開放和應(yīng)用創(chuàng)新平臺(tái),為全社會(huì)各類應(yīng)用賦能。
結(jié)語
至此,七本《白皮書》就簡述完了,《白皮書》挺像綜述論文,能夠比較全面的介紹某個(gè)技術(shù)的方方面面,很多概念的解釋也比較通俗易懂,如果你想快速了解某種技術(shù)概況,讀《白皮書》是一種不錯(cuò)的選擇。
蜻蜓點(diǎn)水的白皮書顯然不能代替具體的學(xué)習(xí),我讀了之后的體會(huì)就是白皮書能讓你知道一些不知道的東西,或者讓你知道一些以為知道其實(shí)不知道的東西,比如自己原來對于云原生的認(rèn)知就是三件套,微服務(wù)、容器及DevOps,現(xiàn)在才知道原來內(nèi)涵要廣得多,在讀的過程中會(huì)碰到很多新的概念,這促使我進(jìn)行衍生的學(xué)習(xí)。
搞技術(shù)的容易成為一只刺猬,比如做數(shù)據(jù)分析的完全不懂云計(jì)算,白皮書可以讓我們變得更狐貍一點(diǎn),一方面拓展技術(shù)視野,另一方面也有利于外部的協(xié)作,這也是自己讀白皮書的原因。
在數(shù)字化大背景下,企業(yè)需要能基于大數(shù)據(jù)、云計(jì)算、云原生、區(qū)塊鏈、聯(lián)邦學(xué)習(xí)、數(shù)字孿生等技術(shù)進(jìn)行融合創(chuàng)新,這樣讀白皮書的意義似乎更大了。
干貨/零基礎(chǔ)/轉(zhuǎn)行
盡在數(shù)據(jù)分析
