paas

所属蓝鲸智云主版本 V6,当前该项目停止更新,仅维护功能

蓝鲸智云PaaS平台是一个开放式的开发平台,让开发者可以方便快捷地创建、开发、部署和管理SaaS应用。

本次开源的是蓝鲸智云PaaS平台社区版(BlueKing PaaS Community Edition),它提供了应用引擎、前后台开发框架、API网关、调度引擎、统一登录、公共组件等模块,帮助用户快速、低成本、免运维地构建支撑工具和运营系统(统称为SaaS应用),它为一个SaaS应用从创建到部署,再到后续的维护管理提供了完善的自动化和自助化服务,从而使开发者可以集中精力关注SaaS应用的逻辑开发。

蓝鲸智云PaaS平台源码包含:

  • PaaS(paas-ce/paas): 包含4大服务(python [Django])
    • login: 蓝鲸统一登录服务
    • paas: 蓝鲸开发者中心&web工作台
    • esb: 蓝鲸API网关
    • appengine: 蓝鲸应用引擎
  • PaaSAgent(paas-ce/paasagent): 蓝鲸应用引擎Agent(golang [labstack/echo])
  • LessCode: 蓝鲸运维开发平台,提供了前端页面在线可视化拖拽组装、配置编辑、源码生成、二次开发等能力,详细介绍


蓝鲸智云PaaS平台产品的发展路线图

类别 当前状态 开源状态 开源地址 所属蓝鲸智云主版本 发布时间
PaaS3.0 主线版本,更新维护中 已开源 https://github.com/tencentblueking/blueking-paas V7 2022年
PaaS2.0 停止更新,仅维护功能 已开源 https://github.com/tencent/bk-paas V6 2019年
PaaS1.0 停止维护 未开源 2012年


模块列表 PaaS2.0(停止更新,仅限维护) PaaS3.0(活跃开源项目)
esb: 蓝鲸API网关 集成在主仓库(paas-ce/paas/esb) 独立成一个产品,APIGateway
login: 蓝鲸统一登录服务 集成在主仓库(paas-ce/paas/login) 独立成一个产品,统一登录用户管理
paas: 蓝鲸开发者中心 集成在主仓库(paas-ce/paas) 独立成一个产品,PaaS-开发者中心
paas: web工作台 集成在主仓库(paas-ce/paas) 独立成一个产品,将“工作台”优化为桌面
LessCode: 蓝鲸运维开发平台 集成在主仓库 lesscode-master 分支 独立成一个产品,运维开发平台


V6.0及以前研发的SaaS,如何迁移到V7.0呢?

PaaS平台的“开发者中心”提供“一键迁移”功能,仅支持将蓝鲸官方“Python开发框架”研发的SaaS,其他类型的SaaS迁移方案正在测试中(敬请期待,后续将更新至官网)。


PaaS平台各版本的功能差异有哪些?

功能 PaaS2.0 PaaS3.0
平台、应用集群最小规模 平台(1台服务器)/应用(1台服务器)
可混用
无高可用
平台(1台服务器)/应用(1台服务器)
可混用
底层技术 原生docker kubernetes
应用集群扩展性 手动 自动调用集群节点扩展
应用扩展性 手动,繁琐 调整副本数自动扩展
应用类型 主要 web 类应用 支持不同编程语言、复杂应用架构
支持编程语言 Python(PHP、Java 不成熟) Python、Go、Node.JS
支持镜像部署   有 (可以支持任意编程语言)
支持应用源码仓库 svn,Git svn、Git(支持 Oauth 授权)
支持自定义进程启动命令  
支持应用多模块管理及部署  
在线查看进程实时日志  
在线停止进程  
支持进程间通信设置  
在线调整进程实例数  
部署限制(仅管理员可部署)  
实时查看应用 CPU/内存 资源信息   有(二期,基于 BCS)
支持Webconsole  
支持访问方式 仅子路径,特殊方式配置独立域名 子路径 + 独立子域名
支持独立域名  
MySQL 增强服务 有, 只对 S-Mart 应用提供
Redis 增强服务  
RabbitMQ 增强服务  
bkrepo 增强服务  

Overview

Features

  • 开发者中心:提供自助化、自动化服务,支持快速、低成本、免运维地构建SaaS应用
  • 统一用户登录体系:支持用户及角色管理,支持对接企业内部登录体系(对接说明
  • 开发框架:提供统一的SaaS应用开发框架, 提升开发效率
  • API网关:支持两种接入模式(在线自助接入和组件编码接入)的企业级服务总线,方便开发者对接企业内已有系统的API服务
  • 多环境部署:支持多环境部署SaaS应用, 方便开发者进行测试验证及生产环境发布
  • 可插拔式应用:支持蓝鲸S-mart应用上传部署, 方便蓝鲸S-mart应用部署移植 更多应用
  • 运维开发平台:支持前端页面在线可视化拖拽组装、配置编辑、源码生成、二次开发等能力(详细介绍

Experience

Getting started

Roadmap

Support

BlueKing Community

  • BK-CI:蓝鲸持续集成平台是一个开源的持续集成和持续交付系统,可以轻松将你的研发流程呈现到你面前。
  • BK-BCS:蓝鲸容器管理平台是以容器技术为基础,为微服务业务提供编排管理的基础服务平台。
  • BK-PaaS:蓝鲸PaaS平台是一个开放式的开发平台,让开发者可以方便快捷地创建、开发、部署和管理SaaS应用。
  • BK-SOPS:标准运维(SOPS)是通过可视化的图形界面进行任务流程编排和执行的系统,是蓝鲸体系中一款轻量级的调度编排类SaaS产品。
  • BK-CMDB:蓝鲸配置平台是一个面向资产及应用的企业级配置管理平台。
  • TencentBlueKing/iam-python-sdk / TencentBlueKing/iam-go-sdk:蓝鲸权限中心SDK

Contributing

如果你有好的意见或建议,欢迎给我们提 Issues 或 Pull Requests,为蓝鲸开源社区贡献力量。关于分支/issue及PR, 请查看 CONTRIBUTING

腾讯开源激励计划 鼓励开发者的参与和贡献,期待你的加入。

License

基于 MIT 协议, 详细请参考LICENSE

我们承诺未来不会更改适用于交付给任何人的当前项目版本的开源许可证(MIT 协议)。

蓝鲸智云PaaS平台社区版架构设计

蓝鲸智云体系架构

蓝鲸智云体系由八大平台组成,即管控平台、配置平台、作业平台、数据平台、容器管理平台、AI平台、PaaS平台和移动平台,为各种云(公有云、私有云、混合云)的用户提供不同场景、不同需求的一站式技术运营解决方案。

蓝鲸智云 PaaS 平台(社区版)架构

蓝鲸智云PaaS平台是一个开放的开发平台,让开发者可以简单、快速地创建、部署和管理应用,他提供了完善的前后台开发框架、API网关、调度引擎、公共组件等模块,帮助用户快速、低成本、免运维地构建支撑工具和运营系统(SaaS应用)。

PaaS平台为一个SaaS应用从创建到部署,再到后续的维护管理提供了完善的自助化和自动化服务,从而使开发者可以将全部精力投入到SaaS应用的逻辑开发之中。PaaS平台的主要功能有:完善的开发框架/样例、免运维托管、API网关、前端服务(MagicBox)等。

蓝鲸智云PaaS平台社区版代码结构

目前, 蓝鲸智云PaaS平台社区版源码组成如下:

  [plaintext]
1
2
3
4
5
6
7
paas-ce ├── paas │   ├── appengine 蓝鲸应用引擎 │   ├── esb 蓝鲸API网关 │   ├── login 蓝鲸统一登录服务 │   └── paas 蓝鲸开发者中心&web工作台 └── paasagent 蓝鲸应用引擎Agent
  • login: 蓝鲸统一登录服务, 蓝鲸智云下的所有服务依赖的统一登录服务, 包括作业平台/配置平台/PaaS平台/SaaS等
  • paas: 蓝鲸开发者中心, 包含应用的访问入口管理, 应用开发/部署/维护等入口
  • esb: 蓝鲸API网关, 企业级服务总线, 蓝鲸体系中的底层原子平台和第三方的运营系统提供API, 统一以组件的形式对接到API网关
  • appengine: 蓝鲸应用引擎, 负责应用发布/下架、状态监测、资源申请及分配等管理
  • paasagent: 蓝鲸应用引擎Agent, 负责应用进程在物理机上的生命周期管理

蓝鲸智云PaaS平台社区版部署拓扑

以下为paas-ce 部署拓扑图

参考资料

https://github.com/TencentBlueKing/bk-bcs