sofastack / sofa-serverless

a framework to enabe app architecture evolve from monolithic to microservices smoothly by involving modular and macroservices architecture.
https://sofaserverless.gitee.io/home/
Apache License 2.0
115 stars 41 forks source link

月会 23.08.07 SOFAServerless 月会(第五次月会) #13

Closed lvjing2 closed 1 year ago

lvjing2 commented 1 year ago

月会议题

Serverless 开源计划

SOFAServerless 是一种新的应用架构模式,能以极低的成本将应用纵向或横向拆分成基座与模块,让业务研发者享受到 Serverless 秒级研发运维体验,同时也解决了微服务领域里 4 个痛点问题:

  1. 通过横向拆分出基座屏蔽业务以下的基础设施、框架、中间件和业务通用逻辑等部分,从而极大降低了业务开发者的认知负荷、提高了开发效率。
  2. 一个应用可以低成本改造或拆分出多个模块,模块间可以并行独立迭代,从而解决了多人协作阻塞问题。
  3. 存量微服务如果拆分过多,可以低成本改造成模块应用,合并部署在一起,解决拆分过多带来的资源成本和维护成本痛点。
  4. 模块可以灵活部署,解决微服务拆分与组织发展灵敏度不一致导致的协作低效与分工不合理问题。应用拆分出多个模块,可以部署在一起,也可以进一步演进成独立微服务,同样如果微服务拆分过多,也可以低成本改回模块合并部署到一起。

技术先进性

image

项目愿景

image

项目架构图

image

S2 需要建设完善的,开箱即用的能力,欢迎社区小伙伴一起共建:

  1. ModuleController:运维调度组件
  2. Arklet:运维管道、研发框架adapter
  3. ArkCtl:研发工具
  4. SOFABoot/SpringBoot 研发框架与相关中间件

RoadMap

2023.8 完成 SOFABoot 完整的部署功能验证,产出 benchmark 基线 2023.9 发布基础运维和调度系统 ModuleController 0.5 版 2023.9 发布研发运维工具 Arkctl 与 Arklet 0.5 版 2023.10 发布模块半自动拆分工具 0.5 版 2023.10 编写基础使用教程,新增 2+ SOFABoot 技术栈公司使用 2023.11 支持 SpringBoot 完整能力和 5+ 社区常用中间件 2023.11 SOFAServerless (ModuleController、Arkctl、Arklet、SpringBoot 兼容) 1.0 版本正式发布 2023.12 基础弹性伸缩能力发布 2023.12 新增 5+ 家公司使用、20+ Contributor

Serverless 运维调度 ModuleControler @gold300jin gold

开发一个 K8S Operator,编排客户端 API 实现 Biz 模块的热部署,初步达成 Serverless 研发体验

导师:@gold300jin 设计详见7月月会 关联 Issue:Serverless 运维调度一期(https://github.com/sofastack/sofa-serverless/issues/5

当前进展同步

1.【已完成】运维能力演示 2.【已完成】基础热部署、基础扩缩容

  1. 进展同步

能力演示

打开视频

ModuleController 版本8月发布计划

-【完成 50%】Serverless 运维调度组件开发测试环境 -【进行中】0.2 版本、0.3 版本运维能力 -【进行中】基础副本保持器

开源之夏进展同步

<开源之夏进展同步>

暂定 RoadMap:

08.07【已完成】:0.1 版本上线(包括架构和接口模型设计、代码框架、单模块简单发布与扩缩容能力、环境搭建) GitHub Issue:Serverless 运维调度 0.1 版本开发与演示 08.15(下次月会演示):0.2 版本上线(包括非对等模块发布、卸载、扩缩容、副本保持、基座运维联动) GitHub Issue:https://github.com/sofastack/sofa-serverless/issues/15 08.25(下次月会演示):0.3 版本上线(包括回滚链路、各项参数校验、单测达到 80/60、8+ 集成测试、CI 自动化、开发者指南) GitHub Issue:https://github.com/sofastack/sofa-serverless/issues/16 09:18: 0.4 版本上线(支持以 hook 方式联动企业四七层流量、模块基座 1:1 先扩后缩发布、缩容、替换等、8+ 集成测试) 09.31:0.5 版本上线(所有非对等运维部署策略、两种调度策略、状态回流、5+ 集成测试) 10.11:0.7 版本上线(所有对等运维能力、部署策略、基座链路、5+ 集成测试) 11.30:1.0 Release 版本上线(各项 Bug 修复、打磨、预演用例补充)


Serverless 运维调度组件 CI 介绍

建设运维调度到客户端端到端 CI:https://github.com/sofastack/sofa-serverless/issues/2


SOFAArk

7月进展同步

[x] 打包插件支持url获取排除 jar 列表

8 月预计发布内容

当前未关闭 Issue 进展同步

需求类: sofaark静态合并部署 集成 springcloud ( https://github.com/sofastack/sofa-ark/issues/645 )

bug类: 日志打印 ( https://github.com/sofastack/sofa-ark/issues/624 )

测试类: 集成测试 ( https://github.com/sofastack/sofa-ark/issues/25 ) 需求类: sofa-ark-maven-plugin的gradle插件( https://github.com/sofastack/sofa-ark/issues/73 ) sofa-ark-maven-plugin 打包 war 包( https://github.com/sofastack/sofa-ark/issues/215 ) 资源隔离( https://github.com/sofastack/sofa-ark/issues/566 )

Arklet

开发一个客户端,支持 Biz 模块的热部署和热卸载,初步实现 Serverless 体验 导师:@glmapper 设计详见 6月月会

8月预计发布内容

ArkCtl 版本发布计划

-【8 月开始】ArkCtl 简单代码框架 -【8 月开始】ArkCtl 开发测试与 CI 环境

Spring Cloud/ SOFABoot 研发框架【未开始】

lylingzhen commented 1 year ago

本地研发还是建议使用 minikube,当前阿里云环境仅供跑 CI 自动化测试使用。 @gold300jin @lvjing2

lylingzhen commented 1 year ago

第 5 次月会已结束,先关闭。