开发计划 发布周期

本文档列举Rainbond开源版具备的重点基础功能,随着版本升级本文档列举不一定完全,如有疑问请于社区留言咨询。

集群管理

功能功能描述
Kubernetes 集群托管Kubernetes 作为基础设施是 Rainbond 的基础资源
云资源对接支持阿里云 ACK 集群创建,初始化
支持阿里云存储资源对接
集群一键化安装和扩容支持便捷安装 Kubernetes 集群和 Rainbond 集群初始化
支持 Kubernetes 集群节点伸缩
多集群应用调度应用(组件)支持在多个集群间调度
多集群应用编排支持部署应用到多个集群

应用的部署

功能功能描述
支持 Helm 应用安装支持从 Helm 应用商店安装应用
支持 Helm 应用配置和持续升级
支持源代码持续构建支持 PHP 源码编译,支持 PHP 源代码、PHP5.3~7 版本运行时,apace、nginx 构建应用,并支持流行的 PHP 开发框架
支持 Java 源码编译,支持 Java(maven)源代码、war 包、jar 包构建应用,并支持流行的 java 开发框架
支持 Python 源码编译,支持 Python 源代码、Python 2.6~3.2 运行时构建应用,并支持流行的 Python 开发框架
支持 Node.js 源码编译,支持 Node.js 源代码、Nods.js 6.x~10.x 运行时构建应用,流行的 Node.js 开发框架,包括前端类项目。
支持 Golang 源码编译、Golang 1.8.x,1.9.x 运行时构建应用,并支持流行的 Golang 开发框架
支持 dotnet 源码编译、支持选择多个版本的编译和运行环境(.netcore linux 运行)
支持 Dockerfile 识别和构建,支持 Dockerfile 源码的方式构建应用
Docker 镜像持续构建支持基于 DockerRun 命令识别服务运行方式构建服务组件
支持解析 DockerCompose 文件识别服务运行方式批量构建服务组件
支持从私有镜像仓库、公有镜像仓库获取 Docker 镜像
支持镜像仓库 Webhook 服务的持续部署与发布
支持集成 Git 源码仓库分租户的代码仓库管理,针对不同的团队隔离代码仓库
支持 GitWebhook 自动回调功能,实现应用的持续部署与发布
支持代码分支、tag 部署,支持使用不同的代码分支、tag 构建应用
支持集成 Svn 源码仓库支持从 Svn 代码仓库获取源码,支持账户授权和子目录构建
支持第三方服务集成管理支持管理运行于 Rainbond 集群外的服务,并与 Rainbond 应用网关和 ServiceMesh 网络无缝集成。
支持应用 12 要素原则平台遵循或兼容 PaaS 平台应用的12 要素原则
一键部署及回滚实时显示部署及回滚过程,应用的部署与回滚过程要实时可见,方便排查问题
版本构建历史可追溯,显示版本详细信息,要可以追溯到应用的各个部署版本及详细的部署信息,包括代码提交信息,操作人员等
支持自动不间断滚动升级,应用部署,升级过程中不能影响现有业务,提供不间断业务的升级机制
支持一键回滚,支持应用的快速回滚,且不应影响现有业务
支持自定义的 pipeline支持基于 API 对接 Jenkins Pipeline, Jenkins 处理完成后由 Rainbond 完成后续 CI/CD 流程

组件管理与运维

功能功能描述
组件生命周期管理支持对组件的启动、停止、更新、升级、持续构建管理
支持无状态组件的滚动升级,升级过程不影响业务
支持有状态组件的滚动升级,集群组件升级过程不影响业务
支持基于应用市场的组件升级策略
支持针对组件操作的严格的权限管理机制与审计机制
组件持续开发支持基于代码仓库 Webhook,镜像仓库 Webhook,自定义 API 自动构建
组件版本管理支持查询组件构建版本列表
支持查看构建版本与源码版本的对应关系
支持版本回滚
组件实例管理支持查询组件运行实例的详细信息(基础信息、运行容器信息、事件信息)
支持查询组件实例异常重启、OOM 等异常信息
组件环境配置管理支持基于环境变量的组件配置管理
直接基于动态配置文件的组件配置管理
支持基于动态注入的连接信息配置管理
组件存储管理支持共享存储、本地存储和内存存储类型(5.1.X 及以前)
支持基于 StorageClass 扩展存储支持类型,默认包括(Ceph-RBD, GlusterFS, 阿里云块设备等)(5.2.0 及以后)
可共享类型的存储支持存储组件间共享
组件构建源管理支持持续调整组件构建源设置
支持设置组件源码构建参数,根据不同的语言设置 Runtime 版本,编译参数等
组件日志管理支持实时应用级汇总,存储,分割和实时展示,能实时显示组件的日志、汇总分析日志、日志存储与下载功能
支持基于插件对接 ELK 等日志分析服务,能够对接业界流行的日志分析工具,如 ELK 进行展示与分析
组件伸缩管理支持不中断组件的的水平伸缩和垂直伸缩操作,平台应用应具备生产级(不中断业务)水平与垂直伸缩服务的能力
支持基于内存、CPU 资源的自动伸缩策略
支持基于业务级分析指标的自动伸缩策略,平台具备根据业务分析指标来达到自动伸缩服务的能力(TODO)
GPU 资源管理支持基于显存调度 GPU 资源(企业版)
支持组件设置需要的 GPU 显存,平台为其智能分配(企业版)
组件高可用保证支持便捷部署高可用分布式组件,将数据与计算分离,网关与计算分离。
赋予大多数 Web 组件分布式部署能力
组件性能分析支持常用应用协议的实时性能(响应时间和吞吐率)分析,支持常用应用协议,如 HTTP、TCP、MYSQL 的实时性能分析,如响应时间,吞吐率等功能
支持请求 Top 实时展示,组件的性能分析以列表的形式展示,并能将影响性能最大的 URL/SQL 语句进行排序
支持历史分析数据查询,组件的性能分析日志支持按小时与日期进行查询
支持组件实例实时状态展示和 实例内存实时状态展示和监控
组件健康检测支持基于多种策略的应用健康检测,平台对运行的不同协议类型的应用进行实时的监控检查
支持不健康组件实例的自动下线,针对异常的组件,支持配置不同的处理策略
组件管理终端支持基于 web 的终端管理,平台应用具备 web 控制台功能,方便开发人员登录应用内部临时调试程序。
支持基于命令行的终端管理,平台应支持命令行的方式进行管理,如创建应用,启/停组件,扩容组件等操作
组件业务监控支持自定义定义组件监控目标(Prometheus 规范)
支持插件化扩展支持 Mysql、Redis 等业务监控
支持自定义定义业务监控可视化视图
业务链路追踪支持 Java 类组件对接 Pinpoint 链路追踪
第三方组件管理支持基于 API 动态注册第三方组件通信地址
支持静态管理第三方组件通信地址
支持第三方组件健康检测
支持通过 ServiceMesh 访问第三方组件
支持通过应用网关访问第三方组件
支持基于 kubernetes service 资源注册第三方组件(5.3.1 版本以后)

应用管理

功能功能描述
应用级生命周期管理支持应用级启动、停止、构建、升级操作
支持动态维护组件内部组件之间依赖关系
应用服务治理框架切换支持内置 ServiceMesh 治理框架
支持 kubernetes service 原生模式
支持 Istio 服务治理框架(5.3.X 版本计划)
拓扑图可视化全局业务拓扑实时状态展示,能实时显示业务组的连接(网络)拓补图展示功能
支持可视化编辑组件间依赖关系
支持拓扑流量实时展示,具备拓扑图的流量监控及监控状态显示功能
应用复制基于已部署应用快速复制
支持跨集群、跨租户复制应用
支持复制应用时批量修改构建源版本
组件备份与恢复支持应用级整体全量备份
支持备份跨租户、跨数据中心迁移和恢复
支持备份数据的导入和导出
支持云端备份到对象存储,默认支持 S3 和 AliOSS
应用发布支持应用发布到企业中台组件库
支持应用发布到云端应用市场
支持发布记录管理
应用升级支持基于企业中台内部组件库自动化升级和回滚
支持基于云应用市场应用持续升级
应用配置组支持应用级配置组,定义多个组件的通用环境配置

应用网关管理

功能功能描述
HTTP 应用访问策略支持基于域名、访问路径、请求头、Cookie 的访问路由控制
支持 HTTPs 访问策略
支持 HTTP 与 HTTPs 共存,HTTP Rewrite HTTPs 策略
支持泛域名策略
自定义负载均衡算法,支持轮询算法,会话保持算法
TCP/UDP 组件访问策略默认支持基于 IP+端口的 TCP\UDP 访问策略管理。
支持内网 IP 和外网 IP 隔离的访问策略。
支持获取所有网关节点的 IP 地址,包括虚 IP。
TLS 证书管理支持导入第三方签发的 TLS 证书
支持证书的状态监控和管理
支持自动签发 TLS 证书(TODO)
服务测试升级策略支持 A/B 测试控制
支持灰度发布控制
服务安全控制插件化支持 JWT 业务安全认证(定制)
插件化支持白名单、黑名单控制管理(定制)
插件化支持 WAF 防火墙(定制)
网关监控对接 Prometheus 监控域名、组件的实时访问数据
监控网关运行的实时数据
组件访问日志管理支持与第三方日志组件对接,发送组件访问日志到第三方平台(定制)

组件插件的管理与设计

功能功能描述
具备完善的应用高级功能扩展架构组件除本身功能以外可以无侵入的扩展其他高级功能,例如防火墙,日志处理,性能分析,网络治理等,建立标准的应用插件体系规范非常关键。插件是独立存在,与组件绑定运行的程序,与组件具有相同的运行环境,可以定义插件独有的配置信息。
具备插件与组件协同工作的基础运行环境,例如提供服务发现,配置发现,环境配置等。
具有完善的组件插件开发,部署流程,与应用可以便捷的绑定。能够自助完成应用插件设计
组件插件支持标准化传播共享组件插件具备标准化传播能力,可以单独或与组件绑定分享到应用市场
支持从应用市场安装和使用插件
提供常用的组件插件提供生产可用的插件用例,例如日志分析、MySQL 数据备份、应用性能分析、网络治理等。

微服务架构

功能功能描述
提供 Service Mesh 架构支持支持跨语言和跨协议服务调用
支持多种 Service Mesh 框架实现(envoy、linkerd 等),针对不同场景可实时替换
支持组件自动注册和发现
支持透明的负载均衡,组件可以随时伸缩
支持组件治理:高级路由、限流、熔断机制
支持组件拓扑显示通过拓扑图显示组件之间的依赖关系
支持组件动态编排不需要修改配置文件,动态编排组件依赖关系
支持对接其他微服务架构支持对接 Dubbo
支持对接 Spring cloud
支持云原生应用治理模式动态切换灵活选择应用治理模式,将业务架构和技术架构解耦合,治理模式对于业务开发者无需关注。
支持 API gateway支持通过插件扩展 API gateway 的功能
支持对接第三方登录,对接 Oauth 2.0
支持限流和熔断
支持访问控制
支持通过插件机制实现组件之间的网络治理故障处理及恢复,熔断/限流
传输加密
网络策略管理
性能分析
支持 tracing
支持内部组件 A/B 测试和灰度发布
支持基于域名/Path/header 的业务路由

企业组件库(应用市场)管理

功能功能描述说明
应用发布和安装和升级支持自助发布一组组件到应用市场,包括程序,环境与配置,数据,拓扑关系,插件扩展。
用户可以在应用市场一键安装,不需要懂技术
支持跨数据中心发布组件和安装组件
发布新版本后,应用可以一键升级
在线和离线的组件交付支持应用市场间组件同步
支持组件导出安装包兼容 docker-compose。
支持组件离线导入与导出,导入后可以一键安装使用
应用市场展示功能支持组件多级分类显示,用户可以分类筛选
支持组件搜索
显示组件名、logo、简介和版本
支持应用市场的审核机制
应用模版版本管理支持设置应用模版版本状态,管理多个应用发行版
多级应用市场支持三级应用市场隔离,发布组件时可选组件可见的粒度。
支持对接公有应用市场,其他应用市场

系统运维与安装

功能功能描述
基于 Operator 的 UI 化平台安装支持定义存储类型
支持定义各类安装参数
支持 UI 化管理安装过程和升级过程
支持多个集群并行安装
支持对接已有 Kubernetes 集群
支持基于公有云的在线便捷安装支持基于阿里云 ACK 的在线便捷安装
支持动态集群扩容自动跟随 Kubernetes 集群的扩容 Rainbond 集群自动扩容

平台其他功能及技术架构

功能描述
标准 RestfulAPI 开放设计,支持二次开发支持应用标准化管理 API 开放,基于用户授权的安全验证策略
平台管理 API 开放,支持对用户,租户,权限等管理
资源管理 API 开放,支持对集群节点,资源调度情况进行管理
Oauth2.0支持对接多个 Oauth2.0 服务
支持基于 Oauth2.0 的第三方用户登录
支持 Oauth2.0 对接代码仓库服务,接入组件持续构建流程
Oauth 支持类型包括 Github Gitlab 钉钉 阿里云
应用与资源解耦合架构思路上应用不与计算资源绑定,支持根据需要随处迁移
支持多功能命令行工具命令行工具支持组件的启动,停止,调度,综合状态查询功能
命令行工具支持租户查询,批量操作功能
命令行工具支持集群节点管理,资源调度管理
权限管理支持在租户级别自定义角色名称,自定义分配权限,用户自定义支持多种角色
支持组件级别权限精确控制,可继承租户级别权限
控制权限严格验证,做到 API 级别安全控制
Overlay 网络架构支持支持多租户网络隔离的 Overlay 网络模型
支持虚拟机、容器统一的网络资源(IP,路由)自动化分配,虚拟机与容器可以同时组成租户网络
支持多种类型的存储系统对接支持组件级别自助设置多种存储设备对接,包括:分布式文件系统,块设备,内存虚拟存储等
支持存储数据的备份,快照与恢复
应用调度系统基于 Kubernetes 的 docker 容器调度系统,不必要暴露过多的容器技术概念,支持平台级的应用调度参数设置
支持自定义调度策略的设置和二次开发
组件间内部负载均衡内部服务之间的访问能够自动进行服务发现和负载均衡
组件之间的负载均衡功能可插件化扩展,支持高级的服务治理
全平台操作记录审计企业版提供
应用状态感知与报警企业版提供
集群监控可视化企业版提供