CloudBaseFramework是一款云原生一体化部署工具,支持前后端应用一键部署,快速将应用无缝部署在Serverless架构的云开发(FaaS + CaaS +BaaS)平台,享受免运维、高性能、高可靠性、可弹性扩缩容的的应用体验。
CloudBaseFramework首创支持前后端(web/小程序/移动端/服务端)一体化部署,将传统应用通过框架层的适配、资源的统一描述和编排,打造为 Serverless 架构上弹性、高扩展的云原生应用。同时提供了丰富BaaS 能力,高效开发一云多端应用。
相比同类产品,CloudBase Framework 在云原生应用部署场景下,在平台覆盖(Web/移动端/服务端/小程序)、多语言覆盖、底层云能力覆盖上方面具有领先优势。
为什么开源?
CloudBase Framework解决了应用程序快速部署成为云原生应用的一系列痛点和问题,自推出以来经过云开发平台众多企业用户和开发者的实践,团队协作和持续的迭代,目前功能已日渐完善和稳定,社区反馈较好。我们希望能通过开源协同来和广大开发者一起完善云开发 CloudBase Framework 的插件、生态等,建立良好的技术社区,最终回馈产品和更多的云开发者。
CloudBase Framework 适用的场景
核心:解决传统应用快速迁移云原生应用的痛点
• 传统的业务如网站、后端服务,希望通过现代化的 Serverless 技术来降低开发成本,提升开发效率,同时在服务器和系统管理方面节省资源,同时希望能有更小的改造成本
• 已经使用Serverless架构的FaaS模式开发的团队,希望覆盖更多开发语言、框架和现有的应用交付方式
• 开源应用开发者,希望提供更加简单高效的方式来降低部署门槛,快速分发应用
• 小程序、建站服务商及其他SaaS 服务商、开放平台等,希望采用更加标准化的流程自动化配置和部署应用,实现持续交付和快速扩展,并通过Serverless 计算技术来降低用户的使用门槛和部署成本。
功能介绍
1、一键部署
常见语言/框架开发的应用,不需要改动业务代码,即可“零配置”使用 CloudBase Framework部署。例如,基于 Vue CLI 工具创建的项目,在执行tcb命令后,会进入自动检测项目框架和语言,交互式确认并保存项目配置,实现应用的一键发布。一条命令实现了应用部署,自动配置 COS 对象存储和 DNS、域名等,自带 HTTPS 安全访问、CDN 访问加速等能力。
支持常见框架和语言
自动检测框架
在降低用户使用门槛方面,CloudBase Framework实现了自动检测的功能,针对常见前端框架无需编写配置,可以实现自动识别项目的构建和发布默认配置
2、开放的插件体系
CloudBase Framework 采用了微内核、插件化的设计,主要的功能逻辑均由开放的插件来完成,内核层主要进行配置解析、生命周期的管理以及最终基于TCB SAM 描述文件的合并和云端部署。
将具体的问题领域交给可拆装的插件来完成,只需要实现特定的接口就可以实现一个插件,插件本质上就是一个导出对应的插件实现的npm package。
下图为 CloudBase Framework 的插件体系,自下而上分别实现了云资源插件、语言开发开发插件、应用框架插件,以及第三方应用插件。
插件可以组合其他插件来实现逻辑的复用,例如 Node 插件复用了云函数插件和云托管插件,低代码开发插件复用了小程序插件、静态网站插件、云函数插件、鉴权插件、数据库插件等。通过组合使用插件,和复用插件来实现新的第三方插件,可以应对更为复杂的应用。
3、更为高效的云原生应用模型
基于 CloudBase Framework 可以将一个云原生应用简化为下面的模型公式:
应用代码 + 声明式应用配置 + 不同环境的配置信息 = 云开发云原生应用
• 应用代码 Code:包含前后端代码
• 声明式应用配置 cloudbaserc:包含插件配置、依赖资源(MySQL/CFS)、生命周期 Hooks 编排
• 不同环境的配置信息 Environments:应用在不同环境 (预发布、生产环境、开发环境)的配置信息
云开发云原生应用可以采用标准化的流程自动化配置和部署,一键部署在 Serverless 化的计算平台上,实现持续交付和快速扩展,更加节省资源。
4、云原生应用中心
基于上述新的云原生应用模型,可以将海量的应用描述为云开发云原生应用,可以基于云开发推出的应用中心来一键部署。
用户可以点击部署按钮,一键云端安装应用。也可以通过填写 Git 代码仓库来快速导入一个应用。云开发应用中心:https://cloudbase.net/marketplace.html
如何部署
方式一:本地部署应用
1、安装 CloudBase CLI
npm install -g@cloudbase/cli@latest -g
2、在项目执行 tcb 命令
tcb
3、确认自动检测的应用/框架配置
如果未检测到相应的框架,可以手动编写 cloudbaserc.json 配置,重新进行第2步部署
如果配置无误,即可实现自动一键部署
方式二:Git 云端导入应用
1、在控制台填写 Git 地址或者通过生成的一键部署按钮跳转到控制台
一键部署按钮生成地址:
https://docs.cloudbase.net/framework/deploy-button.html
2、在控制台选择合适的应用/框架配置
如果不存在合适的应用/框架配置,可以在项目中编写 cloudbaserc.json
3、一键部署应用到云开发平台
应用案例
截止目前,已经有 1000+ 应用使用CloudBase Framework 来部署应用,例如:
• 企业微信通过 CloudBase Framework来降低开发第三方应用的门槛
• 云开发低代码平台使用 CloudBase Framework 来实现应用的快速部署
• 腾讯直播团队使用 CloudBase Framework 搭建了基于 Dart 云端一体化的开发模式
以及许多企业和个人开发者基于 CloudBase Framework 打造了自己的云原生应用
项目规划
CloudBase Framework 致力于打造一体化的应用开发体验,目前已经实现了一体化的部署工具,下一步的规划是继续完善插件体系、运行时库,完善生态,实现更加高效的开发部署工作流。
目前我们也在积极建设贡献者团队。由创始团队、内部开源协同和社区开发者团队组成。创始团队为腾讯云云开发团队的主要开发者,同时在公司内部通过跨部门开源协同的方式,外部社区以资深用户和开发者为主。
欢迎大家加入我们,一起贡献一份力量,贡献方式包括且不限于以下的贡献方式:
• 贡献代码,提交 Pull Request
• 反馈 bug,提交 Issue
• 贡献一篇技术文章
• 贡献应用案例模板
• 在技术会议上发表技术演讲
CloudBase Framework开源啦!
https://github.com/Tencent/CloudBase-Framework
(点击文末阅读原文直接访问)
请给项目 一个 Star !
欢迎提出你的 issue 和 PR!
国内镜像地址:
https://git.code.tencent.com/Tencent_Open_Source/CloudBase-Framework
(登录后才能访问公开项目)
腾讯工蜂源码系统为开源开发者提供完整、最新的腾讯开源项目国内镜像