Rainbond是什么?

Rainbond 是一个云原生应用管理平台,使用简单,不需要懂容器、Kubernetes和底层复杂技术,支持管理多个Kubernetes集群,和管理企业应用全生命周期。主要功能包括应用开发环境、应用市场、微服务架构、应用交付、应用运维、应用级多云管理等。

为什么选择Rainbond?

1.使用简单

Rainbond 遵循 以应用为中心 的设计理念,统一封装容器、Kubernetes和底层基础设施相关技术,让使用者专注于业务本身, 避免在业务以外技术上花费大量学习和管理精力。同时,Rainbond 深度整合应用开发、微服务架构、应用交付、应用运维、资源管理,管理高度自动化,实现统一管理所有应用、所有基础设施和所有IT流程。

2.一步将传统应用变成云原生应用

Rainbond 通过“无侵入”技术,让传统应用不需要改动或少量改动就能快速变成云原生应用。 传统应用转成成云原生应用的方式:

  • 有源代码和软件包的应用,平台自动识别开发语言类型和包类型,不改变开发者习惯,代码直接编译、构建成支持云原生特性的应用。
  • 对于想实现微服务架构的传统应用,Rainbond提供Service Mesh 微服务架构,应用不改代码就能变成微服务架构。
  • 传统应用想要扩展运维和治理功能,Rainbond提供“无侵入”的插件,按需加载插件,开启运维和服务治理能力。

3.实现数字化能力积累和复用

Rainbond能将企业内部各种数字化能力一键发布成组件,并具备组件安装使用、组件编排、组件版本管理、组件升级和持续迭代等完整的管理流程,将企业内部可复用的能力积累到组件库,既避免重复建设,还能将这些组件变成数字资产,为企业创新提供动力。

4.解决2B行业的交付问题,实现各种交付流程自动化

Rainbond提供企业应用的业务集成、多云交付、私有交付、SaaS交付、离线交付、个性化交付、应用市场等能力,将交付过程最大限度自动化,提高企业应用交付效率,降低交付成本。

Rainbond的功能及架构

应用级多云管理

应用级强调以“应用”为中心,跟应用相关技术概念对外暴露,跟应用不直接相关的技术概念统一包装,底层的基础设施通过软件定义系列技术(SDN、SDS、SD-WAN、docker、LB)包装,把底层重复性工作实行实行自动化,并在应用抽象之上支撑应用的开发、架构、交付和运维,这种抽象粒度,即能简化应用的管理,又能满足业务的灵活性。

多云管理的核心是将应用和计算资源解耦,根据场景任意组合,可以实现混合云、边缘云、应用级多云,应用的生命周期管理跟计算资源不直接相关,也就是说应用的开发可以在任何类型的计算资源上,开发好的应用可以直接安装运行在任何类型的计算资源上,还可以随时从一种云迁移到另一种云,应用不用做任何改动。

应用全生命周期管理

应用全生命周期管理包括应用开发、微服务架构、应用交付和应用运维。

  • 开发阶段,Rainbond提供开箱即用的开发测试环境,对接各类源代码仓库,自动识别开发语言并编译构建和打包,通过应用市场安装各种开发工具。
  • 架构阶段,支持各种常见微服务架构,业务服务可以模块化编排,通过服务拓扑可视化了解业务的结构和依赖关系,通过插件扩展各种服务治理能力。
  • 交付阶段,支持应用持续交付流程,开发的应用以应用模版的形式存放到应用市场,通过应用市场对应用展示和分类,对于联网的用户,远程连接应用市场,一键安装和升级。对于离线用户,从应用市场导出离线应用包,到用户环境导入离线应用包,一键安装和运行。
  • 运维阶段,把所有应用运维工作通过web界面呈现,除了基本的应用管理(启动、关闭、重启、删除)操作外,主要的运维过程都是自动化的,提供可观测性深入了解自动化的执行过程。面对大数据和大用户的应用场景,支持业务快速伸缩,及时响应业务的变化。

能力复用和共享

组件是独立运行、可复用、可扩展、可集成的单元,支持不同的粒度大小,支持版本管理,组件可以在不同应用场景中复用,组件自身可以迭代升级,积累的组件统一存放到组件库,当有应用需要使用组件时,只需通过“拖拉拽”的方式快速拼装,当积累的组件越多,交付应用的速度也越快。

Rainbond怎么工作?

Rainbond主要有两部分组成,一个是提供Web界面的Rainbond控制台,另一个是安装在K8s集群内部的Rainbond集群管理端。

Rainbond控制台提供控制面的监控和管理,主要服务开发人员和管理人员,控制台通过Rainbond集群管理端提供的API来管理K8s集群和运行在K8s集群上的应用,并把元数据存储在本地,控制台关闭不影响K8s集群和业务服务的运行。一个控制台能监控和管理多个K8s集群。

Rainbond集群管理端通过控制台或Helm方式安装到一个或多个K8s集群内,由它对接标准K8s API,控制台的监控和管理指令通过调用K8s API实现,通过控制台部署的应用,也可以使用K8s的命令查看和管理。