Rainbond 包含了众多的功能特性,下面是详细的功能对比表:

CI/CD

支持源代码持续构建

  • 通过Java源码创建,支持Java(maven)源代码、war包、jar包构建应用,并支持流行的java开发框架
  • 通过PHP源码创建,支持PHP源代码、PHP5.3~7版本运行时,apace、nginx构建应用,并支持流行的PHP开发框架
  • 通过Python源码创建,支持Python源代码、Python 2.6~3.2运行时构建应用,并支持流行的Python开发框架
  • 通过Node.js源码创建,支持Node.js源代码、Nods.js 6.x~10.x运行时构建应用,流行的Node.js开发框架
  • 通过Golang源码创建,支持Golang源代码、Golang 1.8.x,1.9.x运行时构建应用,并支持流行的Golang开发框架
  • 通过Dockerfile源码创建,支持Dockerfile源码的方式构建应用

Docker镜像持续构建

  • Docker Compose部署,支持Docker-Compose配置文件导入创建应用,保留应用直接的关系
  • 支持docker run格式直接运行镜像,可以通过docker run格式直接创建应用
  • 支持helm导入,可以直接导入helm应用在平台上运行

支持集成Git源码仓库

  • 分租户的代码仓库管理,针对不同的团队隔离代码仓库,并支持代码管理
  • 支持git hook自动部署,Git仓库支持自动回调功能,实现应用的持续部署与发布
  • 支持代码分支、tag部署,支持使用不同的代码分支、tag创建应用

支持应用12要素原则

一键部署及回滚

  • 实时显示部署及回滚过程,应用的部署与回滚过程要实时可见,方便排查问题
  • 部署历史可追溯,显示版本详细信息,要可以追溯到应用的各个部署版本及详细的部署信息,包括代码提交信息,操作人员等
  • 支持自动不间断滚动升级,应用部署,升级过程中不能影响现有业务,提供不间断业务的升级机制
  • 支持一键回滚,支持应用的快速回滚,且不应影响现有业务

支持自定义的pipeline

  • 支持跨租户和跨数据中心的pipeline,平台应针对团队和项目支持自定义的开发工作流(pipeline),以方便不同团队,不同项目协调开发
  • 支持基于图形界面定义流程,可以通过图形化,拖放的方式定义开发流程
  • 支持定义提醒机制,针对应用的发布、回滚、关闭等操作平台应支持消息机制,通知相关人员
  • 支持对接jenkins,平台能对接现有的CI/CD流程,如jenkins,以便在过度阶段兼容现有的构建与发布流程

应用管理与运维

生命周期管理

  • 支持无状态应用的滚动升级,重启过程不影响业务
  • 支持针对应用操作的严格的权限管理机制与审计机制

日志管理

  • 支持实时应用级汇总,存储,分割和实时展示,能实时显示应用的日志、汇总分析日志、日志存储与下载功能
  • 支持对接ELK等日志分析服务,能够对接业界流行的日志分析工具,如ELK进行展示与分析

应用伸缩管理

  • 支持不中断服务的的水平伸缩和垂直伸缩操作,平台应用应具备生产级(不中断业务)水平与垂直伸缩服务的能力
  • 支持基于业务级分析指标的自动伸缩策略,平台具备根据业务分析指标来达到自动伸缩服务的能力

应用高可用保证

  • 支持便捷部署高可用分布式应用,平台应可以快速部署分布式、高可用应用,不实现快速伸缩的能力
  • 支持单节点应用异常快速恢复,平台应具备单实例的应用故障时快速恢复的能力

应用性能分析与监控

  • 支持常用应用协议的实时性能(响应时间和吞吐率)分析,支持常用应用协议,如HTTP、TCP、MYSQL的实时性能分析,如响应时间,吞吐率等功能
  • 支持请求Top实时展示,应用的性能分析以列表的形式展示,并能将影响性能最大的URL/SQL语句进行排序
  • 支持历史分析数据查询,应用的性能分析日志支持按小时与日期进行查询

支持应用健康检测策略

  • 支持基于多种策略的应用健康检测,平台对运行的不同协议类型的应用进行实时的监控检查
  • 支持不健康应用实例的自动下线,针对异常的应用,支持配置不同的处理策略

应用管理终端

  • 支持基于web的终端管理,平台应用具备web 控制台功能,方便开发人员登录应用内部临时调试程序。
  • 支持基于命令行的终端管理,平台应支持命令行的方式进行管理,如创建应用,启/停应用,扩容应用等操作

支持应用组管理

  • 持服务间依赖关系维护,针对应用直接的关系,平台提供快捷简单的方式进行维护
  • 全面的组管理支持,平台具备应用分组的功能,并能显示该分组的应用拓扑结构、健康状态以及流量实时显示信息。
  • 支持应用组远程全量备份与恢复,平台应支持应用(组)的自动化导入和导出功能,方便应用备份与迁移

支持全局业务拓扑

  • 全局业务拓扑实时状态展示,能实时显示业务组的连接(网络)拓补图展示功能
  • 支持拓扑流量实时展示,具备拓扑图的流量监控及监控状态显示功能

应用访问管理

  • 支持控制应用服务范围,支持定义租户内网访问权限和外部公网访问权限
  • 支持TCP,UDP,HTTP,HTTPS协议公网访问,平台应用可以支持不同协议,如HTTP、HTTPS、TCP、UDP协议的端口开放到公网
  • 支持基于域名的端口复用,平台通过泛域名的方式支持平台的HTTP应用访问
  • 支持HTTP高级路由策略,针对HTTP应用支持不同的路由规则,实现灰度发布与测试
  • 支持黑名单,白名单管理,平台应用对公网开放时,支持黑/白名单的访问控制策略
  • 支持证书管理,针对HTTPS协议,支持证书的管理功能

应用插件的管理与设计

具备完善的应用高级功能扩展架构

  • 应用除本身功能以外可以无侵入的扩展其他高级功能,例如防火墙,日志处理,性能分析,网络治理等,建立标准的应用插件体系规范非常关键。插件是独立存在,与应用绑定运行的程序,与应用具有相同的运行环境,可以定义插件独有的配置信息。
  • 具备插件与应用协同工作的基础运行环境,例如提供服务发现,配置发现,环境配置等。
  • 具有完善的应用插件开发,部署流程,与应用可以便捷的绑定。能够自助完成应用插件设计

应用插件支持标准化传播共享

  • 应用插件具备标准化传播能力,可以单独或与应用绑定分享到应用市场
  • 支持从市场之间安装和使用插件

提供常用的应用插件

  • 提供生产可用的插件用例,例如日志分析、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、简介和版本
  • 支持应用市场的审核机制

多级应用市场

  • 支持三级应用市场隔离,发布应用时可选应用可见的粒度。
  • 支持对接公有应用市场,其他应用市场

多数据中心管理

支持多数据中心管理

  • 具备数据中心级别抽象
  • 实现数据中心上线,下线,维护状态管理
  • 支持数据中心整体Dashboard

支持跨数据中心应用迁移

  • 支持应用组整体迁移,包括迁移程序、依赖关系、业务数据、配置、应用插件等

支持多数据中心多活应用部署

  • 支持全局负载均衡,根据用户访问IP调度到就近数据中心,当用户访问的数据中心故障,调度到临近节点
  • 支持一次部署多个数据中心,可以指定数据数据中心部署
  • 支持多数据中心数据服务伸缩
  • 单数据中心故障业务不中断

多数据中心应用的拓扑展示

  • 在应用拓扑之上展示多数据中心的拓扑
  • 实时显示各数据中心响应时间、吞吐率和在线人数,实时显示数据中心间的数据同步情况及延迟。

支持多数据中心应用发布到应用市场

  • 支持多数据中心的应用可以发布到应用市场,安装时选定多个数据中心,一键安装和使用
  • 区分普通应用和多数据中心应用

数据库、大数据、中间件

MySQL服务

  • MySQL一键安装使用,提供MySQL数据库的一键安装应用(功能)
  • MySQL自动远程备份,支持MySQL数据的自动备份与远程备份功能
  • MySQL远程恢复,支持MySQL数据库远程恢复
  • 高可用,保证MySQL的高可用特性
  • 性能监控,提供MySQL应用的性能分析,方便优化SQL
  • 对接 phpmyadmin实现管理,可以对接各类管理工具,如Phpmyadmin

分布式数据库服务

  • 支持TiDB,支持TiDB分布式数据库,并兼容MySQL协议
  • 支持CockroachDB,支持CockroachDB分布式数据库
  • 一键安装使用,分布式数据库提供一键安装的功能
  • 支持实时伸缩,分布式数据库支持实时动态伸缩功能
  • 支持多数据中心部署,分布式数据库支持跨数据中心部署
  • 支持远程备份,分布式数据库支持远程备份

Redis服务

  • 一键安装使用,支持Redis应用的一键部署
  • 数据远程备份和恢复,支持Redis的本地/远程备份与恢复
  • 高可用,支持Redis服务的高可用
  • 性能监控,支持Reids的性能分析与展示

Zookeeper服务

  • 一键安装使用,支持zookeeper应用的一键部署
  • 高可用,支持zookeeper应用的高可用
  • 实时扩容,支持zookeeper应用的集群部署与实时扩容

兼容S3的对象存储服务

  • 一键安装使用,支持兼容S3协议的对象存储应用的一键部署
  • 高可用,保证S3协议应用的高可用

Kafka服务

  • 一键安装使用,支持kafka应用的一键部署
  • 高可用,支持kafka应用的高可用部署
  • 实时扩容,kafka应用的集群部署与实时扩容

MongoDB服务

  • 一键安装使用,支持MongoDB应用的一键部署
  • 高可用,支持MongoDB应用的高可用特性
  • 实时扩容,支持MongoDB的集群部署与实时扩容
  • 远程备份和恢复,支持MongoDB数据的本地/远程备份与恢复

Hadoop服务

  • 一键安装使用,支持Hadoop应用的一键安装
  • 高可用,支持Hadoop应用的高可用特性
  • 实时扩容,支持hadoop的集群部署与实时扩容
  • 远程备份和恢复,支持hadoop数据的本地/远程备份与恢复

Spark服务

  • 一键安装使用,支持Spark应用的一键安装
  • 高可用,支持Spark应用的高可用特性
  • 实时扩容,支持Spark的集群部署与实时扩容
  • 远程备份和恢复,支持Spark数据的本地/远程备份与恢复

系统运维平台

基于UI的数据中心安装/升级支持

  • 支持对数据中心内节点进行分类管理,例如分为:负载均衡节点,管理节点,存储节点,计算节点。实现对所有节点的统一管理
  • 支持多个管理节点的在线,离线安装与升级,例如Kubernetes服务,平台管理服务
  • 支持计算节点的安装与升级
  • 支持对基础环境,如系统内核、docker、网络、存储的安装和升级

基于UI的数据中心可视化管理

  • 支持对数据中心抽象的状态控制,例如包含上线,下线、维护。
  • 支持对所有类型的节点区别化管理,例如计算节点支持调度属性管理,调度资源管理,上下线管理,标签分类管理等
  • 支持对所有节点资源状态,运行服务状态,计算节点包含运行用户应用状态的实时监控和可视化展示
  • 支持自定义任务集群执行,可定义任务模版,在数据中心任何节点执行并实时反馈执行情况

多租户管理

  • 支持二级租户管理业务抽象,即一级租户下管理二级租户。
  • 支持租户资源(网络,存储,计算)的隔离和限制,可以设置不同租户的资源上限。
  • 具有数据中心租户使用资源情况的可视化展示和排行
  • 支持后台创建,删除,修改租户信息

用户管理

  • 具有完整的用户体系,除了用户主动注册以外支持后台增删改查用户
  • 支持对接第三方用户体系,例如LDAP对接,Auth2.0对接

监控与报警

  • 建立完善的监控体系,基于Prometheus聚合数据中心集群监控,节点监控,管理服务与基础组件监控数据,实现多维度的监控数据池,
  • 支持UI设置报警规则策略
  • 支持配置多种报警方式,例如包含邮件、微信、短信、站内信等
  • 支持多种维度的报警与报警忽略

支持工单功能

  • 支持工单的管理,创建,流转和分配
  • 支持自定义工作流,定义审批流程

平台其他功能及技术架构要求

标准RestfulAPI开放设计,支持二次开发

  • 支持应用标准化管理API开放,基于用户授权的安全验证策略
  • 平台管理API开放,支持对用户,租户,权限等管理
  • 资源管理API开放,支持对集群节点,资源调度情况进行管理

应用与资源解耦合

  • 架构思路上应用不与计算资源绑定,支持根据需要随处迁移。

支持多功能命令行工具

  • 命令行工具支持应用的启动,停止,调度,综合状态查询功能
  • 命令行工具支持租户查询,批量操作功能
  • 命令行工具支持集群节点管理,资源调度管理

权限管理

  • 支持在租户级别自定义角色名称,自定义分配权限,用户自定义支持多种角色
  • 支持应用级别权限精确控制,可继承租户级别权限
  • 控制权限严格验证,做到API级别安全控制

Overlay网络架构支持

  • 支持多租户网络隔离的Overlay网络模型
  • 支持虚拟机、容器统一的网络资源(IP,路由)自动化分配,虚拟机与容器可以同时组成租户网络

支持IPv6

支持多种类型的存储系统对接

  • 支持应用级别自助设置多种存储设备对接,包括:分布式文件系统,块设备,内存虚拟存储等
  • 支持存储数据的备份,快照与恢复

应用调度系统要求

  • 基于Kubernetes的docker容器调度系统,不必要暴露过多的容器技术概念,支持平台级的应用调度参数设置
  • 支持自定义调度策略的设置和二次开发

应用级别的外部负载均衡支持

  • 同时支持多种负载均衡器,包括Nginx,HAProxy,F5等,实现负载均衡的自动化生效
  • 支持应用级别选择适合的负载均衡器
  • 支持虚拟IP功能,实现外部负载均衡器的高可用部署

应用间内部负载均衡

  • 内部应用之间的访问能够自动进行服务发现和负载均衡
  • 应用之间的负载均衡功能可插件化扩展,支持高级的服务治理

提示: