本文作者:螞蟻集團黃挺(花名魯直),SOFAStack 社區主理人,同時負責螞蟻集團雲原生方向的推動和落地,包括 Service Mesh、Serverless、消息、微服務等領域,帶領 SOFA 團隊紮根技術完成衆多落地實踐。
在過去的幾年裏面,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 的架構,實現了南北向和東西向流量架構的統一。
那麼我們應該如何去解決這個問題?在一次內部的會議上,我們和幾個同事在討論如何對 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 這樣的方向。
Let's have fun together!
本文分享自微信公衆號 - 金融級分佈式架構(Antfin_SOFA)。
如有侵權,請聯繫 [email protected] 刪除。
本文參與“OSC源創計劃”,歡迎正在閱讀的你也加入,一起分享。