背景
有外文指出,2020 年 Service Mesh 技術將有如下三大發展:git
- 快速增加的服務網格需求;
- Istio 很難被戰勝,極可能成爲服務網格技術的事實標準;
- 出現更多的服務網格用例,WebAssembly 將帶來新的可能。
針對 Service Mesh 技術,ServiceMesher 社區治理委員會成員在 2020 新年伊始發表了他們各自的見解,並邀請雲原生與服務網格領域業界大牛抒發各自的看法,彙總成文,但願能給讀者們帶來一些思考和啓發。github
正文
宋淨超(螞蟻金服)
用一句話歸納 Service Mesh 近幾年的發展——道阻且長,行則將至。這幾年來我一直在探尋雲原生之道,從容器、Kubernetes 再到 Service Mesh,從底層的基礎設施到愈來愈趨向於業務層面,Service Mesh 確定不是雲原生的終極形式,其複雜性依然很高,且業界標準也還沒有造成,它的發展也遠沒有同期的 Kubernetes 那麼順利,可是不少人都已意識到了服務網格價值,如今它正在遠離最初市場宣傳時的喧囂,走向真正的落地。web
羅廣明(百度)
據瞭解,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 的解決方案,使得和現有服務能更容易的整合,減小維護和遷移成本。app
邱世達 (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 事業中去。less
趙化冰(中興通信)
在 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:https://www.slideshare.net/ceposta/the-truth-about-the-service-mesh-data-plane)討論瞭如何在服務網格數據平面進行調優,就像直接運行你的代碼同樣。做爲代理,和共享的代理。例如,gRPC最近增長了對xDS API的支持, CNCF也有一個工做組來幫助將這個「通用數據平面API」標準化以用於其餘用途:https://github.com/cncf/udpa。
Service Mesh 終端用戶調查
爲了增長你們對 Service Mesh的瞭解,促進社區更好的發展,咱們發起了 Service Mesh 終端用戶問卷調查,請訪問連接 https://wj.qq.com/s2/5258418/d5d8 ,或者掃碼下面圖片中的二維碼,花幾分鐘的時間填寫下這份問卷。謝謝!
關於 ServiceMesher 社區
ServiceMesher 社區是由一羣擁有相同價值觀和理念的志願者們共同發起,於 2018 年 4 月正式成立。
社區關注領域有:容器、微服務、Service Mesh、Serverless,擁抱開源和雲原生,致力於推進 Service Mesh 在中國的蓬勃發展。