成倍降本增效,提升企業競爭力!SOFAServerless 品牌升級爲 Koupleless,重磅發佈 1.0 版本

  • 如果你是企業經營者,在爲企業降本增效而發愁;
  • 如果你是企業的開發、運維或架構同學,在日常工作中被開發效率、交付問題等困擾…… 歡迎來了解 Koupleless(原 SOFAServerless)!

現在,Koupleless 重磅發佈了 1.0 版本!(👈點擊查看 release note)

那麼,Koupleless 是什麼?又將如何爲你解決以上問題?除了以上這幾種情境,Koupleless 還有哪些能力呢?歡迎你來社區探索發現。(文末點擊「閱讀原文」查看發佈信息)

Koupleless 是什麼?

Koupleless 由 SOFAServerless 品牌升級而來,是一款模塊化研發框架與運維調度平臺。它從應用架構角度出發,幫助應用解決從需求、到研發、到交付再到運維的全生命週期痛點問題。其最核心的架構圖如下👇。如果想了解更詳細的原理介紹也可以查看官網頁面:https://koupleless.gitee.io/docs/introduction/architecture/arch-principle/。

它能幫助解決的問題包括:

  • 應用拆分過度,機器成本和長期維護成本高;
  • 應用拆分不夠,多人協作互相阻塞;
  • 應用構建、啓動與部署耗時久,應用迭代效率不高;
  • SDK 版本碎片化嚴重,升級成本高週期長;
  • 平臺、中臺搭建成本高,業務資產沉澱與架構約束困難;
  • 微服務鏈路過長,調用性能不高;
  • 微服務拆分、演進成本高;

如果你也被以上問題所困擾,那麼歡迎來了解 Koupleless 給出的解決方案。

本模式在螞蟻集團內部歷經 4-5 年時間孵化而成,當前已經幫助 70W 核業務量完成 10 倍級降本增效,可以幫助應用做到秒級啓動,只佔 20M 內存

性能對比示例如下圖👇。

根據我們的模塊化應用架構模型,可以看到我們是將傳統應用從縱向和橫向切分演變而來的。

所以我們將 SOFAServerless 進行品牌升級成爲 Koupleless,取自 Couple + less,寓意通過對應用進行拆分解耦,實現更好的職責分工,幫助業務降本增效。

我們爲什麼開源?

關注應用架構領域的同學,應該知道微服務很好地解決了組織分佈式協作難題,但同時也帶來了一些問題,並且這些問題正日益獲得更多關注。

有人說,2023 年是微服務的轉折年,其中一些科技巨頭(如 Amazon 和 Google )已經開始嘗試去解決和完善微服務帶來的問題,例如 service weaveramazon prime video的架構改造,甚至直接回歸單體。

而螞蟻內部在 4-5 年前就開始着手解決微服務問題,併爲此打造了 Koupleless 應用研發模式。

根據螞蟻這些年的實踐經驗,我們相信模塊化架構是一種有潛力的架構,真正能夠較好地解決微服務問題;我們也希望通過模塊化架構給行業內部提供一種新的解決方案,幫助更多企業降本增效。

開源提供了哪些能力?

自 2023 年下半年開源以來,經過這半年時間和社區的共同努力,我們已經開放了內部完整的能力,包括研發工具、框架、運維調度平臺等;也沉澱了一些常用組件最佳實踐和 samples 用例. 具體查看 release note:https://github.com/koupleless/koupleless/releases/tag/v1.0.0

具備了線上接入使用的能力,一些企業也已經可以按照官網和文檔自主接入使用了。

  • 研發工具 Arkctl 一鍵構建、部署和發佈模塊,方便用於本地開發測試驗證。

  • Arklet、SOFAArk 和 Runtime 組件 爲多種研發框架如 Spring Boot、SOFABoot、Dubbo 提供多模塊運行容器環境,適配 30+ 組件,沉澱 25+ samples 用例。

  • 控制面組件 ModuleController ModuleDeployment,提供模塊發佈與運維能力; ModuleScheduler,提供模塊基礎調度能力; ModuleScaler,提供模塊擴縮容能力。

有了這些組件之後,從開發驗證 -> 交付上線 -> 日常運維全流程的基本能力已經具備,1.0 版本實現生產可用級別。

挑戰與亮點

這套模式最大的挑戰來自於將多個應用或代碼片段合併在一起,在隔離與共享上如何找到最佳的平衡點,使得在存量應用低成本接入的同時,能享受到隔離的帶來穩定可靠的好處,也能享受到共享的高性能、低資源消耗的收益。

隔離可以確保運行時的穩定可靠,但帶來了性能的下降、資源利用率的損失;共享提升了性能和資源利用率,但也帶來了運行時的一些問題,例如 static 變量可能帶來互相影響的問題。我們採用了模塊化技術來解決這類問題。在 Java 領域模塊化技術並不是我們首創的,20 年前就有了 OSGl 技術,那爲什麼我們的模塊化技術能在螞蟻內部規模化落地呢?我們是做了哪些工作來解決存量應用低成本接入和共享後的一些問題的呢?

要解決這類問題,我們並沒有太多可參考的行業案例,相當於是在無人區裏摸索,除了解決隔離與共享的核心問題外,還要解決配套設施的建設、用戶心智的培養等,這些都需要一個篤定的心力和持續的過程,這些問題就是這套模式的挑戰所在。

好在最終,我們撥雲見日探索了出來。我們在隔離和共享之間找到了一個最佳的平衡點,並且能讓存量業務低成本的接入,這也是我們最自豪的地方。我們在螞蟻集團用事實證明了模塊化技術並不是停留在設計稿裏的技術,或者小部分人才能使用的技術,它的問題和挑戰並不可怕,是有固定模式的,可以通過工具和流程逐步治理、收斂的,現在將此模式進行開源分享,是希望可以幫助其他企業少走彎路,和社區一起把這套模式心智在行業裏樹立起來。

Koupleless 已接入 15+ 企業

當前在統計內的,有 15+ 企業在使用 Koupleless 接入線上或者用於交付,還有 17+ 企業正在試用或者接入中,還有一些因爲信息缺失未統計到的。詳細企業接入列表可以查看官網信息

很高興 Koupleless 能幫助到他們,也十分歡迎這些企業探索的更多使用場景,也歡迎更多企業開發者一起參與社區建設,推廣這套技術。

Koupleless 未來的規劃

我們希望能讓模塊化架構成爲應用架構領域裏的新模式,並能在行業裏推廣開來。這不僅是我們作爲技術人的技術追求,也是我們做開源的持續動力來源。

當前我們雖然發佈了 1.0 版本,但開源工作才只是剛剛開始,還有更多規劃。比如,我們希望未來能把模塊化技術做得更加完善,將我們想要做到的效果完整地提供出來: Speed as you need, Pay as you need, Deploy as you need, Evolve as you need 。

需要的能力包括支持各種框架、運行時組件、中間件服務,還有非常多相關的配套設施;也希望這套模式能在更多語言裏發揮出效果,例如 Go 語言,以此和更多的小夥伴們一起探索出微服務領域的下一站。

這裏感謝所有參與貢獻 Koupleless 1.0 的 51 位開發者: @QilingZhang @lvjing2 @glmapper @yuanyuancin @lylingzhen @yuanyuan2021 @straybirdzls @caojie09 @gaosaroma @khotyn @FlyAbner @zjulbj @hustchaya @sususama @alaneuler @compasty @wuqian0808 @nobodyiam @ujjboy @JoeKerouac @Duan-0916 @poocood @qixiaobo @lbj1104026847 @zhushikun @xingcici @Lunarscave @HzjNeverStop @AiWu4Damon @vchangpengfei @HuangDayu @shenchao45 @DalianRollingKing @lanicc @azhsmesos @KangZhiDong @suntao4019 @huangyunbin @jiangyunpeng @michalyao @rootsongjc @liu-657667 @CodeNoobKing @Charlie17Li @TomorJM @gongjiu @gold300jin @nmcmd @qq290584697 @ToviHe @yuhaiqun19892019

相關鏈接

[1]https://thenewstack.io/year-in-review-was-2023-a-turning-point-for-microservices/ [2]https://serviceweaver.dev/ [3]https://www.infoq.cn/article/nu2y3xiazg1cqianoxxa [4]https://koupleless.gitee.io/user-cases/all-users/

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