Serverless 是 FaaS + BaaS,关键是在 FaaS。
FaaS 解决的关键问题就是把服务器的管理做透明了,你只需要准备好业务代码就好了,FaaS 平台会帮你解决高并发和运维相关的工作,关键还是按量收费,简单来说,并发量大就多收钱,少就少收钱,没请求不收钱,对于低频应用每月的免费额度都用不完。
我相信未来 Serverless 会取代传统的云服务器。
为什么 Serverless 对前端更有价值了?
后端工程师想要搞一套高可用和高并发的后台服务不是特别难的事,部署一套 k8s 就好,运维也是后端工程师的强项。
但是有了 Serverless,前端工程师也可以轻松开发一套支持高并发和高可用的后台服务,而且免运维,让成为全栈工程师的门槛更低。这不正是前端工程师最痛的吗?
目前 Serverless 的开发体验普遍还不够友好,我也在致力提升这块的开发体验。
【利益相关】后端开发框架比较有名的有 nestjs, 设计风格更像 angular,与 spring 或 spring boot 相比,用起来不是很习惯。
本人 java 出身,业余时间做了一个基于 ts 的类 spring boot 应用开发框架,吸收了 spring boot 和 nodejs 两者的优势,对于 java 开发者零门槛,很有亲切感。
框架特点是
1. Serverless First
2.支持前后端一体化
3. 前后端 rpc 和 mvc 两种通信形式
4. 支持 typeorm,事务 AOP 和事务传播行为
5. 类 spring security 的认证和授权,额外集成了 authing 服务,实现 oidc 认证和授权
6. 组件化
7. 依赖注入和 AOP
8. 命令行工具插件化
9. 零配置
其中最核心的是支持组件化,你可以将你的大应用拆分成一个个业务组件,然后将这些业务组件编排成应用,业务组件可以被多个应用复用。
前后端一体化设计主要是为了实现微应用架构,在微应用场景下,在结合 rpc,这种设计的开发体验可以达到极致。
优先适配 FaaS,让你拥有极致应用开发体验的同时,一键部署到云厂商 FaaS 平台,享受 FaaS 技术红利,比如像阿里云的函数计算、国外的 Zeit 平台等等