2020 年 Service Mesh 技術展望

背景

外文指出,2020 年 Service Mesh 技術將有以下三大發展:

  • 快速增長的服務網格需求;
  • Istio 很難被打敗,很可能成爲服務網格技術的事實標準;
  • 出現更多的服務網格用例,WebAssembly 將帶來新的可能。

針對 Service Mesh 技術,ServiceMesher 社區治理委員會成員在 2020 新年伊始發表了他們各自的看法,並邀請雲原生與服務網格領域業界大牛抒發各自的見解,彙總成文,希望能給讀者們帶來一些思考和啓發。

正文

宋淨超(螞蟻金服)

用一句話概括 Service Mesh 近幾年的發展——道阻且長,行則將至。這幾年來我一直在探尋雲原生之道,從容器、Kubernetes 再到 Service Mesh,從底層的基礎設施到越來越趨向於業務層面,Service Mesh 肯定不是雲原生的終極形式,其複雜性依然很高,且業界標準也尚未形成,它的發展也遠沒有同期的 Kubernetes 那麼順利,但是很多人都已意識到了服務網格價值,現在它正在遠離最初市場宣傳時的喧囂,走向真正的落地。

羅廣明(百度)

據瞭解,2020 年的 Kubecon EU 的提案中,很少有涉及服務網格落地場景,由此來看,服務網格技術離大規模生產落地還有很遠的路要走。當前 Istio 架構體現出來的性能問題遲遲沒有得到優化,使用原生的 Istio 大規模上生產還不太靠譜,有的公司選擇將 mixer 功能下層至自研的數據面,有的公司通過向容器注入探針解決可觀察性。總的來看,在當前服務網格部分落地場景中,大多都是基於 Istio 和 envoy,但對其或多或少都有改動,以滿足公有云/私有云的需求。

此外,在 Service Mesh 落地的過程中,現有傳統微服務應用(Spring Cloud/Dubbo 應用)如何平滑遷移到 Service Mesh,也是一個至關重要的話題。“雙模微服務”的互聯互通、共同治理有望成爲 2020 年服務網格落地的關鍵技術之一,這也是國內幾家典型雲廠商力求打造的亮點產品。

馬若飛(FreeWheel)

我個人認爲 Service Mesh 想要真正發展成熟並大規模落地還有很長的一段路要走。一方面業界基於微服務構建的一系列服務治理框架和產品相當穩定和成熟,在功能上和 Service Mesh 有很多重合的地方,使得開發者對 Service Mesh 的需求並不迫切;另一方面,目前 Service Mesh 領域產品的成熟度還有待提高,冒險遷移過於激進,也容易面臨兼容性的問題,這也制約了 Service Mesh 的落地。

從近半年廠商的動作來看,主要方向是提供託管的控制平面,並整合成熟的數據面(如 Envoy);同時提供多環境支持(如多雲、混合雲、VM 等)。這也和目前應用複雜多樣的的部署現狀有關,廠商的目的是先讓你上雲,再 Mesh 化。這也是一個相對穩妥且折中的方案。我司作爲一個重度使用 AWS 服務的公司,選擇了 AWS App Mesh 託管服務作爲 mesh 的解決方案,使得和現有服務能更容易的整合,減少維護和遷移成本。

邱世達 (BoCloud)

目前來看,Kubernetes 已經逐步在企業中落地,服務上雲已然是大勢所趨。而隨着雲計算基礎設施層的日益完備,在可以預見的未來,應用層服務治理必然成爲新的焦點,也是在大規模微服務場景下必須要解決的問題。在 Service Mesh 領域,Istio 無疑是明星項目,除了具備一定自研能力的科技公司會定製開發自己的服務治理工具,大多數中小型企業通常會選擇以 Istio 爲代表的開源服務治理方案進行初步試水。實踐過程中遇到問題並不可怕,我認爲這反而是一種正向推動力,作爲一種良性反饋,能更加積極地促使 Service Mesh 技術趨於成熟和穩定。擁抱服務網格,擁抱雲原生,讓我們期待 Service Mesh 在新的一年取得更大的發展!

孫海洲(中國科學院計算技術研究所)

對於 Service Mesh 來說,2019 年是極不平凡的一年,也是從觀望走向生產落地的一年。在這一年裏,以 Istio 爲代表的 Service Mesh 開始加快發佈週期,可以看到社區從以優雅架構到開始追求性能。最近社區裏大家積極地參與到 Istio 文檔的本地化工作中。在業界可以看到國內各個大廠開始有所舉動,螞蟻在雙十一的成功大規模落地爲 Service Mesh 走向生產打下了堅實的基礎,同時也爲大家提供了很多寶貴的經驗,騰訊、百度、華爲等雲服務提供商也都紛紛發佈相關的產品。關於 Service Mesh 的圖書在今年也出版了幾本,社區多次組織線下的 Service Mesh Meetup 場場爆滿,可見大家對 Service Mesh 的熱情與日俱增。2020年應該可以看到會有更多的 Service Mesh 的成功落地,但是當前還有很多企業還處於過渡時期,如何更好更便捷地解決向雲原生遷移依賴值得關注。Service Mesh 社區的推廣和佈道工作依然任重而道遠,需要我們更加積極努力地投入到 Service Mesh 事業中去。

趙化冰(中興通訊)

在 2019 年裏,我看到的一個有趣的現象是出現了各種各樣的開源 Service Mesh 項目,基於開源 Service Mesh 項目的初創公司,以及各大雲廠商的閉源 Service Mesh 實現。和 2018 年大部分項目圍繞 Istio 搭建生態有所不同(至少大部分項目聲稱自己兼容 Istio),2019年整個 Service Mesh 生態出現了百花齊放,百家爭鳴的趨勢。這也許和 Istio 項目的進度有一定關係。Istio 在項目最開始發佈時搭建了一個非常漂亮的架構,但實際開發的進展較慢。目前 Mixer V2 還沒有能夠正式發佈(處於 alpha 版本), 其安全模型也在近期進行了較大的變動,導致除了流量管控之外的其他功能基本無法在生產中使用;除此之外,Istio 對於非 Kubernetes 環境的支持也非常有限。所有這些因素在一定程度上給其他 Service Mesh 項目留出了較大的發展空間。

在 Service Mesh 的不同實現紛紛涌現的情況下,要最大化利用 Service Mesh 提供了服務通信和管控能力,必須統一 Service Mesh 的標準接口。通過一個標準北向接口,對 Service Mesh 提供的流量控制,安全策略,拓撲信息、性能指標等基本能力進行組合,並加以創新,可以創建大量端到端的高附加值業務,例如支持業務平滑升級的灰度發佈,測試微服務系統健壯性的混沌測試,微服務的監控系統等等。而採用一個標準的南向接口,則可以構建一個良好的數據面代理生態,甚至可能將一些傳統的硬件代理設備納入 Service Mesh 控制面進行統一管理。

在 2020 年裏,我希望 Istio 項目在 telemetry 和 security 方面取得更多實際性的進展,並出現更多的商用案例。希望能夠制定一個 Service Mesh 的標準接口,或者出現一個足夠強大的事實標準,並看到建立在標準北向接口上的更多應用,這是 Service Mesh 的核心價值所在,也許會成爲 Service Mesh 的下一個熱點。

鍾華(騰訊雲)

還記得 2019 年初,我們對打磨半年之久的 Istio 新版本翹首以盼,大家對 Istio 的高度抽象模型褒貶不一,社區裏偶爾會看到朋友問「到底有沒有公司在生產環境落地了 Istio?」

在過去的一年裏,Istio 持續發力,核心功能迭代更加穩定,發佈了四個子版本,同時也更注重用戶體驗的優化。各大雲廠商在 2019 年陸續實現了對 Istio 的支持,業界也出現了越來越多的 Service Mesh 生產實踐,其中典型的是螞蟻雙十一大規模落地案例;筆者所在的騰訊雲 TKE Mesh 團隊,支持了數十個團隊的 Service Mesh 改造過程,其中不乏一些場景複雜、體量龐大的核心繫統。

Service Mesh 技術前景廣闊,但遠未成熟。展望 2020, 作爲 Service Mesh 頭號玩家的, Istio 還會持續快速發展,我個人很期待的一些演進: 支持 webassembly 擴展的數據面,真正生產可用的 Mixer V2,更易安裝和運維的單體控制面 istiod,更容易理解和操縱的用戶接口,以及提升 Istio 自身的可觀測性。

Service Mesh 技術本質上是各種最佳實踐的組合運用。Istio 試圖運用精巧的模型,去聯結各種平臺、觀測系統和用戶應用。未來的 Istio,一定會更加複雜,這些「複雜」的目的,是讓用戶能更「簡單」地使用 Service Mesh 領域的最佳實踐。

William Morgan

Buoyant CEO, author of Linkerd,the originator of the concept Service Mesh.

今天的服務網格處於有點不幸的狀態:雖然有真實和重要的價值,但市場營銷已經超過了技術本身。雲供應商特別利用服務網格作爲區分他們的容器產品的一種方式,而由此產生的狂熱的市場推廣給終端用戶帶來了實質性的損害。

然而,如果應用正確,服務網格確實能提供一些真正變革性的功能。從 Linkerd 的角度來看,創建服務網格的項目,我們仍然認爲最小化服務網格的成本,特別是由複雜性引起的長期運營成本是最重要的。

在2020年,Linkerd 將繼續專注於提供“可觀察的安全性”的目標,同時最小化複雜性和使用成本 — Linkerd 的超輕、超快 Rust 代理、極簡控制平面,以及“少做,而不是多做”的理念已經在這裏得到了鮮明的體現。最重要的是,Linkerd 對開放治理和中立基礎的承諾將確保 Linkerd 將繼續成爲一個爲所有工程師服務的項目,而不是爲某個特定雲供應商的客戶服務。

Christian Posta

Field CTO at solo.io, author Istio in Action and Microservices for Java Developers, open-source enthusiast, cloud application development, committer @ Apache, Serverless, Cloud, Integration, Kubernetes, Docker, Istio, Envoy blogger, blog https://blog.christianposta.com/.

回顧2019

  • 更多的Service Mesh產品發佈了!API/軟件網絡領域的每個人都正在實踐自己的服務網格。我認爲這對市場來說是一件好事,因爲它表明這是有價值的,並且應該探索不同的實現方式。這也將指引我們在未來殊途同歸。
  • 越來越多的組織參與到服務網格技術中(從去年的架構討論開始)可用性是關鍵!像linkerd這樣的網格技術展示瞭如何簡化使用和操作,其他產品也注意到了這一點,並嘗試提高它們的可用性。
  • Istio已經持續的進行定期發佈,這證明了它開始走向穩定並具有可預測性。
  • Consul推出了和consul模型無縫結合的L7路由特性。
  • 不可忽視,雖然更多的人開始着手服務網格技術的實踐,但依然有很多爭議:
    • 誰來支持?
    • 多租戶支持的不好
    • 對現有應用不總是透明的
    • VM 容器支持不夠好
    • 暴露什麼樣的API給用戶

2020年展望

服務網格在2019年引領了潮流,我期待它能變得更加強大。2020年,會有更多的組織落地服務網格,繼續與現有的網格技術集成,如Istio和其他產品:

  • 多網格的存在!雖然現在已經有很多網格實現,但最終還是會收斂的。然而,有趣的是,我不認爲融合會像kubernetes那樣發生(我們都落在一件事情上)。我懷疑總會有多種服務網格實現會成爲主流。每個雲提供商都有自己的託管網格產品,這可能與本地網格不同。因此,多集羣和網格的多分佈將成爲主要的部署實現。
  • Web assembly正在流行:它提供了一種在類似Envoy這樣的代理中安全地運行用戶代碼的方法,我們將很快看到服務網格和API網關,如istio和gloo對它提供支持。Web assembly將允許用戶/供應商/組織提供功能模塊,用以定製化代理並改變其默認行爲。Web assembly 工具集將開始出現並對其進行管理。對於那些努力將服務網格集成到現有環境並維護組織兼容性的人來說,這將是令人興奮的。
  • 優化服務網格數據平面:去年我在第一個ServiceMeshCon演講(PPT:)討論瞭如何在服務網格數據平面進行調優,就像直接運行你的代碼一樣。作爲代理,和共享的代理。例如,gRPC最近增加了對xDS API的支持, CNCF也有一個工作組來幫助將這個“通用數據平面API”標準化以用於其他用途:https://github.com/cncf/udpa。

Service Mesh 終端用戶調查

爲了增加大家對 Service Mesh的瞭解,促進社區更好的發展,我們發起了 Service Mesh 終端用戶問卷調查,請訪問鏈接 https://wj.qq.com/s2/5258418/d5d8 ,或者掃碼下面圖片中的二維碼,花幾分鐘的時間填寫下這份問卷。謝謝!file

關於 ServiceMesher 社區

ServiceMesher 社區是由一羣擁有相同價值觀和理念的志願者們共同發起,於 2018 年 4 月正式成立。

社區關注領域有:容器、微服務、Service Mesh、Serverless,擁抱開源和雲原生,致力於推動 Service Mesh 在中國的蓬勃發展。

社區官網:

發佈了124 篇原創文章 · 獲贊 13 · 訪問量 51萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章