解讀架構的 2021:服務網格開道,雲原生架構成型

過去幾年,隨着互聯網發展以及業務的多樣化,系統的架構也在不斷髮生變化。總體上來說經歷了單體應用架構 - 垂直應用架構 - 分佈式架構 -SOA 架構 - 微服務架構的演變。當下頭部互聯網企業已經在向服務網格類的雲原生架構演進。今天藉着這個機會,我們盤點一下 2021 年架構領域的各項技術。區別於雲原生盤點,本文試圖從架構的角度出發,挖掘出不同的內容,希望可以給你提供幫助。

重點技術演進盤點

架構領域涵蓋的技術類別較多,本文選擇了 2021 年比較突出的幾個領域如微服務、服務網格、Serverless、低代碼、多雲架構等,並以此展開年度回顧和趨勢展望。篇幅有限,本文未提及的技術並非不重要,如果你對其他相關技術感興趣歡迎留言告訴我們。

微服務 & 服務網格(Service Mesh):羽翼漸豐,成熟完善

微服務生態圖(圖源:Chris Richardson Consulting, Inc.)

如果要總結 2021 年的服務網格的話,那就是技術日趨成熟,生態逐步完善,市場更加理性,迴歸價值本身。

一項新技術的發展基本都是會符合技術成熟度曲線(The Hype Cycle)規律的,服務網格也不例外。服務網格概念最早從 2017 年被提出,2018 年正式爆發,進入服務網格技術元年,之後隨着衆多雲廠商紛紛入局,服務網格也達到了成熟度曲線的期望頂峯點。

隨後的的兩年時間裏,服務網格在設計過程中算是頗爲曲折,但也不乏突破創新。從早期廢棄 Mixer,到迴歸單體架構設計調整,以及後來對 Web Assembly 技術的支持等等,都算是有一些比較大的變化調整或者是創新突破。

在剛過去的 2021 年,雖說服務網格仍被 Gartner 評定爲處於技術發展的早期採納階段,但無論是商業還是技術都取得了長足的發展。

從商業的視角:

從技術的視角,Istio 繼續引領全球服務網格的發展。在 2021 年 9 月 CNCF 的一項終端用戶調查的結果顯示, 採納了 Istio 的用戶數大約是採納了 Linkerd 的 3 倍。

圖源:cncf.io

以剛纔提到的目前主流的服務網格技術選型 Istio 爲例,無論是開源社區還是衆多雲廠商都在圍繞網格技術做持續優化。相比以往大刀闊斧的進行架構調整、技術突破等,過去的一年裏似乎更加 “務實”,解決的都是一些真真實實業務側的落地問題,比如性能優化、虛擬機支持、多集羣和多網格支持等等。

在 2021 年,服務網格 Istio 並沒有特別大的或者突破性的調整,更多是關注於技術本身的優化,聚焦於解決實際生產中的落地問題。例如通過完善對虛擬機的支持來擴大基礎設施的適配範圍,通過引入智能 DNS 代理來解決大規模服務場景下的 iptable 性能瓶頸,還有完善對多控制平面的支持,完善在生產中的運維操作等等,都是一些相對比較實實在在的優化。這也是一項新技術在經歷期望膨脹之後,回落到低谷,又重新進入一個穩定的爬坡期,是一個良性的過程,也代表服務網格技術正變得越來越成熟穩定。

其次,可以看到的是圍繞服務網格的開源技術生態正在完善,圍繞 Istio 衍生的周邊開源生態有向上發展的趨勢且不乏很多創新。這裏面主要分爲兩類,一類是將現有技術或者產品融入服務網格生態,比如爲服務網格提供一種新的數據面技術支持等;另外一類是在服務網格落地過程中爲了解決問題衍生出來的工具或者擴展支持,比如配置優化、協議支持等。

eBPF 技術也更加完善,可以在內核層面優化來提升服務網格性能以及可觀測性,各類服務網格數據面的開源替換方案,或者是基於 Istio 控制面構建的雲原生網關等等,剛纔提到的還有用於解決服務網格生產落地中的一些擴展性、易用性等問題的開源項目,比如定位於服務網格智能管理器的 Slime 項目,它可以解決大規模服務場景下的配置性能問題,以及能力擴展問題;用於管理 Istio 七層負載的 Aeraki,提供了一種非侵入式的協議擴展解決方案等等。這些都是建立在服務網格 Istio 之上的,也都是服務網格技術日趨成熟的一種體現。

上面提到了 2021 年服務網格無論從商業還是技術都獲得了長足的發展。Istio 繼續引領行業的發展,除了易用性獲得了巨大改善,還向業界展示了基於 gRPC 的無代理解決方案,清晰地描繪了未來服務網格的終極形態。

“架構不是一蹴而就,而是慢慢演進”,受訪專家提到,微服務架構目前已經發展到第三代,即將微服務的基礎能力從服務框架演進成一個獨立進程 Sidecar,實現雲原生微服務架構。被業界稱爲 “下一代微服務架構” 的服務網格,經歷了前兩年的“火熱”,在  2021 年大家對於網格的看法更趨於理性,迴歸到了技術是用於解決問題的本質。通過服務網格能解決什麼問題?現有業務想上服務網格還需要解決什麼問題?上了服務網格之後會有什麼新的問題?這些問題是需要大家進行理性思考的。好在這些問題,不同的雲廠商分別都有豐富的經驗沉澱和成熟的技術方案,可以值得關注。

受訪專家表示,在 2022 年,企業對於服務網格的態度不再是 “技術是否成熟”,而是 “我們應以怎樣的路徑落地”。在落地的道路上,技術債纔是企業面臨的最大障礙。技術浪潮除了帶來紅利,還創造了讓企業正視技術債的重大機會。技術債是技術發展的自然產物,技術進步與發展的一個表徵是,我們用新的思維、站到新的高度去解決過去、現在和不久的將來的問題。

Serverless:仰望星空,腳踏實地

“2021 年的 Serverless 可以用仰望星空,腳踏實地來形容”,受訪專家總結道。

落地可以說是 Serverless 2021 年發展的關鍵詞。Serverless 可以幫助開發者省掉基礎設施運維等很多雜事,但在什麼場景下使用 Serverless,如何把 Serverless 應用的開發部署集成到現有的開發運維流程中,如何調試、診斷 Serverless 應用等等,仍是困然多數開發者的主要問題。

因此,在 2021 年各個雲服務商,都在不斷拓展 Serverless 產品線的能力。在 Web 應用,微服務,事件處理,批處理任務等場景,Serverless 正在成爲最流行的架構。

一方面是因爲 Serverless 編程模型變得更加通用,例如 Google Cloud Run、AWS App Runner、阿里雲函數計算 /Serverless 應用引擎等產品支持實例並行處理多個請求,容器鏡像等功能,Web 應用或者基於 Spring、Dubbo 等流行框架的微服務應用基本上不需要改造就能直接運行到 Serverless 平臺上;另一方面,Serverless 平臺在工具鏈,可觀測等方面的長足進步,讓開發者能用更習慣的方式開發和運維 Serverless 應用。

在落地場景上,以阿里爲例,高德出行通過 Serverless 架構實現的 API 後端服務,支撐了十一出行高峯 50 萬 TPS 的流量;公有云上的南瓜電影使用 Serverless 應用引擎,7 天完成了微服務的 Serverless 化;網易雲音樂使用函數計算的極致彈性能力,讓音頻算法在業務上的落地速度提升了 10 倍。這幾個頭部廠商的成功案例,證明了 Serverless 的價值。

此外,2021 年雲服務商產品體系 Serverless 化的趨勢也越來越明顯,不僅有 AWS App Runner、Azure Container Apps 這些計算領域的產品,還包含大數據領域的 AWS Redshift Serverless、AWS EMR Serverless、AWS MSK Serverless,機器學習領域的 AWS Sagemaker Serverless 等產品。全產品體系的 Serverless 化,體現了雲廠商將 Serverless 視作雲未來的堅實承諾。

2021 年的 Serverless 還有一個值得關注的點,就是開源開放。2019 年 CloudEvents 1.0 標準正式發佈,爲不同供應商的事件互通奠定了基礎,2021 年 Serverless Workflow 標準按計劃將推出 1.0 RC 版本,意味着在工作流領域很快也將出現正式的標準。2021 年 11 月, Knative 正式發佈了 1.0 版本,達到了生產環境可用的能力。Serverless 開放標準和開源軟件的成熟,對消除 Serverless 的 vendor lock-in 有重要意義。

關聯閱讀:

從實踐出發,解鎖 Serverless 的不同面
(https://www.infoq.cn/article/ThI2lzLS6F7f0R79A5hZ)

Serverless 的承諾都兌現了嗎?
(https://www.infoq.cn/article/MLKyYvB6dhjMeMB9WZtj)

低代碼:垂直髮展,更獲認可

低代碼平臺這一概念最早由 Forrester Research 在 2014 年提出,Gartner 用基於 aPaaS 的高生產力平臺(hpaPaaS)來命名這一類別。隨着西門子收購 Mendix、Outsystems 融資,低代碼平臺正式進入大衆視野,國內低代碼市場也進入快速發展期。

說到 2021 年國內低代碼市場的變化,受訪專家表示,主要有以下兩個方面。

接受度提高

第一點也是最大的變化接受程度上的改變。就是隨着業務多元化,尤其是遇到需要快速上線的業務,低代碼可以在末端交付上顯著提升效率,行業內對低代碼的接受程度提升很高,對低代碼的快速業務能力也表示認可。

另外,不僅是企業、市場對低代碼的接受度變高,做低代碼平臺的開發人員也形成了共識。以前的程序員認爲低代碼是自己的死對頭,兩者是水火不相容的關係。慢慢的程序員圈也逐步接受一個概念,就是低代碼可以釋放程序員工作的能量。程序員接觸核心開發,把簡單或者固化的業務交給低代碼平臺去開發,並通過低代碼平臺交付給業務部門,提高業務響應效率。

垂直髮展

第二個比較大的變化就是低代碼逐步從通用化平臺向垂直方向演進和發展。

低代碼的特點就是必須做約束和抽象規範才能達到高效的目的,這些都是帶有垂直行業屬性的。純通用的低代碼平臺效率不會太高。同樣,純低代碼平臺也無法滿足企業的需要,廣義的低代碼又在覆蓋更多的業務,開發人羣範圍也在擴大,這些問題不是純低代碼平臺可以解決的。

所以低代碼必須像垂直領域發展,以更好的實現業務。另外提升效率和降低成本的核心就是複用,低代碼從以前的純技術組件級複用,到純業務組件複用,也在逐步往垂直方向發展。

幾個月前,Gartner 發佈了《2021 年企業低代碼應用平臺魔力象限》,報告從多個維度對全球知名廠商進行了嚴格評選。

根據 Gartner 的預測,“到 2023 年,超過 70% 的企業將採用低代碼(LCAP)作爲他們發展戰略的關鍵目標之一。" 同時,到 2025 年,整體 LCAP(低代碼開發平臺)市場規模將達到 290 億美元,年複合增長率超過 20%。儘管低代碼已成爲行業熱點並且獲得了足夠的認可,不過整體來看,目前國內低代碼仍處於發展早期,市場還有很大的潛力等待企業去挖掘。

值得關注的技術

混沌工程(Chaos Engineering)

今年 11 月 11 日,在混沌工程實驗室主辦的 “混沌工程與系統穩定性主題沙龍” 上,中國信通院解讀了國內首個《中國混沌工程調查報告》。

報告主要指出:

隨後今年 12 月 21 日舉辦的數據安全產業峯會上,中國信通院發佈了《混沌工程實踐指南(2021 年)》,首次提出混沌工程實踐體系,混沌工程的重要性不言而喻。阿里巴巴開源 ChaosBlade、PingCAP 開源 Chaos Mesh,字節騰訊亞馬遜等企業也在混沌工程上有深度實踐,從幾年前的被人質疑,到今年越來越多的落地實踐,混沌工程證明了自己的價值。

混沌工程演進時間線(圖源:亞馬遜雲科技博客)

混沌工程重要事件參考:

多雲架構

數字化加速了企業上雲的過程,另外隨着企業業務的多元化,多雲也成爲必然的趨勢。

多雲架構主要有以下優點

不過多雲不是萬能的,目前仍存在較大的部署挑戰。複雜的環境,成本管理,數據隱私和保護,數據控制訪問與跟蹤等等都是企業面對的,也是雲廠商要解決的問題,所以是否選擇多雲架構的形式還是要基於公司業務的現狀。

展望未來

雲原生技術的發展勢不可擋,老生常談的 “雲原生” 將依然會是未來的熱門話題。隨着數字化轉 型加速,企業對於雲的使用將會達到新的水平,雲原生架構和雲原生應用也將會持續迭代演進。

Serverless

在雲原生第一階段,雲賦能開發者隨時使用海量的算力,支撐了移動互聯網等產業的興起。當下,我們已經進入了雲原生第二階段,雲的使命是重塑雲原生應用的開發運維模式,幫助開發者獲得前所未有的敏捷性和創新能力。

2022 年,開發者將越來越多的聽到現代應用(modern application)的概念。現代應用是在應用架構,開發流程,可觀測性,安全性等方面採用新的理念,實現安全且快速的軟件開發方式。

現代應用的核心是採用微服務和事件驅動的松耦合架構,微服務和事件驅動架構的概念並不新鮮,但很多開發者想要很好的落地仍然面臨很大的挑戰,最主要的原因是這類將應用拆分爲細粒度、松耦合的方式對基礎設施的運維帶來了很大的挑戰。

因此雲服務商需要提供越來越多的全託管產品,讓開發者基於全託管服務以搭積木的方式實現應用,最終應用的運維演變成 Serverless 模式,即不再管理基礎設施,從而大幅降低開發運維的複雜度。

DevOps

DevOps 是實踐現代應用的關鍵。無論是雲廠商還是開源社區,都圍繞 DevOps 提供了大量的軟件。在 2022 年,受訪專家認爲將會湧現出越來越多工具,幫助開發者整合應用開發、部署、運維、監控等各個環節的工具,實現清晰流暢的軟件交付工作流程。

諸如 Backstage.io 這樣的開源軟件,讓開發者能夠輕鬆的訪問共享的軟件開發組件,API 文檔,以及模板化的工作流,整個團隊以一致的方式構建和部署應用,對於提升軟件交付的速度和質量非常有價值。

服務網格 & 雲原生架構

從目標上看,服務網格試圖將服務間的通信及治理下沉到基礎設施以達到業務開發和運維解耦,而隨着多運行時概念的提出,又試圖通過抽象和隔離上層應用開發中的運行時依賴,來進一步解耦開發設計和技術能力的底層實現。

受訪專家表示,或許雲原生應用開發的願景是試圖通過一層標準化的 API 抽象定義,使得用戶可以基於不同語言開發雲原生應用,屏蔽外部的基礎技術依賴,以及底層的運行環境。從而不被廠商和平臺限制,實現跨雲跨平臺的可移植性。

此外設計和想法都具有一定的前瞻性,站在新業務的角度,大膽進行新技術的嘗試,新架構的設計,是一種不錯的探索,試錯成本也相對較小。而現實中更多的是面臨大量歷史存量業務,改造難,遷移難,是很多業務方面臨最頭疼的問題。

這些問題導致企業在雲原生架構的前進道路上步伐沉重,受訪專家提到,面向多技術棧、多語言、多協議的 "混合應用架構治理" 是需要重點關注和解決的難題。好在目前已有不少廠商在做相關產品的落地設計。

寫在最後

回顧這一年,架構領域並沒有像其他領域有特別多的重大新聞事件,但是各項技術也都有長足的發展。服務網格日趨成熟完善,Serverless 落地實踐場景越來越多,低代碼平臺更受認可,雲原生架構也初具規模。放眼更長遠的未來,新技術創新和舊技術淘汰是必然趨勢,服務網格也好,Serverless 也罷,都是雲原生技術浪潮中的重要組成部分,或許有一天,這些技術將進一步相互組合使用,從而真正意義上,讓用戶只關注業務邏輯的設計和開發,實現 “Write Once, Run Anywhere” 的終極目標。


本文由 Readfog 進行 AMP 轉碼,版權歸原作者所有。
來源https://mp.weixin.qq.com/s/E6_mx-gH-i9uwko8kJybsA