Special Weekly | SOFAStack 社區牛年展望,Let's have fun together!

本文作者:螞蟻集團黃挺(名魯直),SOFAStack 社區主理人,同時負責螞蟻集團雲原生方向的推動和落地,包括 Service Mesh、Serverless、消息、微服務等領域,帶領 SOFA 團隊紮根技術完成衆多落地實踐。

大家好,我是魯直,有段時間沒有和大家見面, 今天是農曆一年的起點, 首先祝大家新年快樂,在新的一年牛氣沖天!

在這樣特別的日子裏, 我想和大家分享對於 Service Mesh 未來方向的 思考,再談談 SOFAStack 社區接下來計劃做的一些事情,希望大家接下來能夠在社區裏面玩得開心,Let's have fun together!
一、 Service Mesh 是否已經解決了所有問題?
2020 年, SOFA 團隊宋順(花名齊天,當前螞蟻集團 Service Mesh 負責人)在 QCon 上海站分享了 螞蟻 Service Mesh 大規模落地實踐與展望 ,詳細講述了 Service Mesh 在螞蟻集團的進展和未來規劃。


在過去的幾年裏面,Service Mesh 在整個雲原生社區如火如荼地發展,從剛開始的 Linkerd,到後面的 Istio,不斷地有大公司加入到 Service Mesh 的領域的開拓之中,隨着小劍、淨超等同學在國內佈道 Service Mesh,Service Mesh 從 2017 開始在國內火熱程度也不斷升溫,SOFA 團隊也在這個時候開始關注到 Service Mesh 這個領域,並且開始在內部嘗試做落地的事情,也和業界的很多朋友一起舉辦了一場又一場的 Service Mesh Meetup。

應該說我們是幸運的,成功在 2019 年實現了 Service Mesh 在螞蟻大促業務鏈路上的全面落地,獲得了大規模落地 Service Mesh 的經驗,並且在這之後持續應對 Service Mesh 大規模落地之後的遇到的各種挑戰,截止到 2020 年底,螞蟻集團已經基本上實現了在線業務的全面 Service Mesh 化,在一部分網關場景上,也採用了 Service Mesh 的架構,實現了南北向和東西向流量架構的統一。

但是隨着 Mesh 化的進程不斷地往前推進,一直在我們心中縈繞這一個問題,Service Mesh 在一定程度上解決了基礎設施和業務耦合的問題,但是是否已經把所有的問題都解決完畢了?這個問題的答案顯然是沒有全部解決完畢,這個尚待解決的問題還是基礎設施和業務耦合的問題。
目前包括螞蟻集團在內的各種各樣的 Service Mesh 的解決方案,都是會選擇採用儘量透明的方式去適配應用已有的協議,讓業務儘量減少接入 Service Mesh 的成本,即使不是全透明的方式,而是採用瘦 SDK 的方式接入(螞蟻集團目前採用了這種方式),也是爲了這個目的。在這種形態下,應用固然可以透明地獲得非常多的能力,包括限流,服務發現,安全通信等等,但是一旦涉及到 RPC 協議的變化(從 SOFARPC 到 gRPC),後端緩存的變化(從 Memcached 到 Redis),應用還是需要去修改代碼適配新框架的 SDK,這又是一件無論讓應用還是讓基礎設施團隊非常痛苦的事情,本質上還是應用去適配基礎設施的變化,而不是反過來。
二、 Service Mesh 的未來方向:Cloud Native Application Runtime

那麼我們應該如何去解決這個問題?在一次內部的會議上,我們和幾個同事在討論如何對 K8s 裏面我們自定義的 Operator 進行規範化的問題,防止一個有問題的 Operator 把整個 K8s 搞掛了,但是一個同事提出了 Operator Framework 的想法,在 Operator 裏面運行一個 Sidecar,這個 Sidecar 提供 Operator Framwork 的能力,這裏面給了我們一個啓發,可以用 Sidecar 這種模式去實現一個開發框架,一個運行時,來更好地幫助業務屏蔽掉對於後端基礎設施的訪問,我們看到業界也出現了這樣的一些產品,比如 Dapr,CloudState 等,在這種模式下 Sidecar 已經不是一個簡簡單單的 Proxy,而是一個 Runtime,我們把這種形態稱之爲 Cloud Native Application Runtime

這種模式之所以可以稱之爲 Cloud Native Application Runtime,關鍵還是 Sidecar 定義了一套面向應用的 API,這套 API 正是解耦應用和基礎設施的關鍵。有了這套 API Spec,就相當於在應用和基礎設施之間構建了一層防腐層,只要這一層 API Spec 能夠持續往前保持兼容,後面的基礎設施不斷地演進和變化,都不會動到應用側,基礎設施和應用之間才能夠實現更加徹底的分離,未來基礎設施無縫升級纔會成爲可能。未來雲原生的應用在不同的雲之間遷移,甚至基於多朵雲來構建應用,應用這一側也不用重複進行適配的工作,應該說,這種模式也是符合未來混合雲的方向的。所以,我們大膽的預測,未來 Service Mesh 持續往前繼續演進,必然會發展到 Cloud Native Application Runtime 這樣的方向。

基於這樣的思考,在 2021 年,SOFAStack 社區一方面會繼續推進已有的項目的健康發展另一方面在繼續在 Service Mesh 的方向上深耕繼續分享在 Service Mesh 領域上的一些新思考之外,比如 Service Mesh 大規模落地之後的研發效率和運維效率的解決思路,我們也會和社區中的其他的組織一起通過 Service Mesh 的 Meetup 等活動繼續推動 Service Mesh 的理念在國內的影響力,以及企業落地實踐。(PS:最近 MOSN 剛剛公佈了 2021 年的 RoadMap, https://github.com/mosn/mosn/issues/1559 ,其他項目的 RoadMap 也會在春節後陸續和社區討論然後公佈;PPS:我們計劃在 3 月份舉辦一次 Service Mesh 的 Meetup,歡迎感興趣的社區同學報名;)
三、感謝每一個 SOFAStck 社區的你
SOFAStack 開源社區即將成立三週年,SOFA 團隊深刻地體會到一個開源項目的持續健康地發展,關鍵在於社區和社區中的每一位開發者,是你們每一個 star,每一個 issue 和 PR 推動着項目的成長。
特別感謝接近三年時間,大家一同參與社區建設,感謝一起幫助社區成長的小夥伴們。 SOFAStack 開源社區還有很長的路要和你們走,我們也會聯合其他社區 一起推動 Cloud Native Application Runtime 的理念的落地和實踐, 希望有更多開發者可以和我們一起去探索 Service Mesh 的未來形態,一起推動其成爲雲原生應用構建的一種標準方式。
Awesome SOFAer, 
then awesome SOFAStack.

Let's have fun together!

本文分享自微信公衆號 - 金融級分佈式架構(Antfin_SOFA)。
如有侵權,請聯繫 [email protected] 刪除。
本文參與“OSC源創計劃”,歡迎正在閱讀的你也加入,一起分享。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章