跳到主要内容

Rainbond是什么?

Rainbond 是一款基于 Kubernetes 的云原生应用管理平台, 100% 开源,致力于将复杂的容器编排与应用管理能力转化为简单易用的开发运维体验。无需深入学习 Kubernetes 底层知识,即可通过图形化界面与标准化流程,实现应用的全生命周期管理,适用于企业快速构建云原生应用平台,降低技术门槛与落地成本。

为什么选择Rainbond?

1.使用简单

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

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

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

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

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

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

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

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

与其他产品差异

RainbondRancherKubeSphere
核心定位应用级PaaS,应用抽象与交付,无需学习 Kubernetes 的容器平台Kubernetes管理平台,多集群管理与运维分布式操作系统,全栈容器化解决方案
面向用户开发者、应用运维人员、企业IT人员 (尤其是不熟悉K8s的团队)K8s管理员、平台运维团队K8s管理员、DevOps工程师、有K8s经验的开发者
与K8s关系高度抽象K8s,用户无需感知K8s细节;可纳管已有K8s或一键安装K8s(可跑在Rancher之上)管理和编排K8s集群 (有自己的发行版本RKE和K3s)K8s之上的扩展各种能力 快速安装K8s集群,也可纳管其他K8s集群
核心价值极简应用管理:源码/软件包/镜像直接部署,应用级运维
软件资产化:应用模版化,一键交付与复用
业务连续性:无感知升级、回滚
低门槛:无需K8s经验
多集群统一管理:跨云、跨数据中心
简化K8s运维:监控、告警、日志、安全
生态整合:丰富的应用商店 (Helm)
全栈能力:整合DevOps、服务网格、可观测等工具
一致的用户体验:友好的UI
即插即用架构:灵活扩展
学习曲线:专注于应用本身,模版扩展能力:需理解K8s集群管理中高:需理解K8s及相关生态组件
适用场景
  • 快速应用交付与迭代
  • 企业IT管理平台
  • 信创平台和信创应用改造
  • 降低云原生技术门槛
  • 管理多个、异构的K8s集群
  • 企业统一的K8s基础设施平台
  • 需要专业K8s运维和安全能力
  • 构建容器平台
  • 需要开箱即用的DevOps、服务网格等能力
  • 希望在K8s之上获得更完整、集成的体验

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的命令查看和管理。

常见问题

Q: Rainbond 是否开源?

Rainbond 是 100% 开源的云原生应用管理平台,源代码主要托管在 Github,国内代码托管平台 GiteeGitCode

社区版完全免费,企业版提供额外功能和商业支持。

Q: Rainbond 和 Kubernetes 是什么关系?

Rainbond 以 Kubernetes 为基础设施,在其之上构建了应用管理平台。用户无需学习 Kubernetes 即可管理应用,但又能充分利用 Kubernetes 的优势。

Q: Rainbond 支持多集群管理吗?

支持。可以通过在 Rainbond 中添加多个 Kubernetes 集群,实现应用的跨集群部署和管理。

Q: Rainbond 如何保证高可用?

通过多节点部署、组件副本集、存储高可用等机制保证。建议生产环境采用至少3节点的集群部署。

Q: Rainbond 是否支持私有化部署?

完全支持私有化部署,可以在企业内网环境中独立运行,不依赖外部网络。

Q: Rainbond 适合中小企业使用吗?

非常适合。Rainbond 降低了应用云原生化的门槛,中小企业无需大量运维人员即可管理好应用。

Q: Rainbond 和 Jenkins 如何选择?

两者定位不同:

  • Jenkins 是 CI/CD 工具,专注于流水线构建
  • Rainbond 是应用管理平台,提供全流程应用管理,包含构建、部署、运维等

可以结合使用:Jenkins 负责代码构建,Rainbond 负责应用部署和管理

Q: Rainbond 和 Rancher 有什么区别?

1.定位差异

Rancher 是一个全栈式的 Kubernetes 容器管理平台,可以帮助运维人员快速部署和运行集群并管理上面的容器。Rainbond 则在云原生应用级包装和抽象,面向开发、测试和应用运维有应用管理的控制台,用于应用的全生命周期管理和运维。并在应用之上实现场景化的应用交付流程(软件开发交付流程、企业 IT 管理流程、企业应用市场生态)。

2.使用差异
  1. Rancher 最大的优点是完全兼容 K8s 体系,更注重对k8s基础设施的结合, 提供了更原生的应用部署方式,同时在各个层次可以集成的云原生领域工具集已经非常丰富,虽然学习成本较高,但提供了一站式的解决方案,对运维更加友好。Rainbond 则面向开发人员提供了更高的易用性。让开发者不需要学习 Kubernetes 和容器相关技术和概念就能快速实现云原生的体验。另外,Rainbond 提供的一体化开发环境、模块编排、应用市场等功能,能大幅度提高定制开发以及应用交付的效率。能通过应用模版的交付降低交付成本以及交付难度。

  2. Rancher 专注于帮助 DevOps 团队面对多集群情况下的运维和安全挑战,多集群部署、集群监控、容器安全等方面较为出色。而 Rainbond 在使用上,没有提供直接操作集群和节点的功能。主要还是基于“应用”的多云管理,支持应用在多集群中快速部署。所以 Rancher 和 Rainbond 并没有冲突,向下对接基础设施,管理集群的安全性与合规性是 Rancher 最擅长的事情,向上为最终开发人员提高易用的云原生平台的使用体验则交给 Rainbond。

Q: Rainbond 和 KubeSphere 有什么区别?

1.定位差异

KubeSphere 主要定位于面向云原生应用的容器混合云,主打即插即用的插件式生态扩展能力。Rainbond 则定位于易用的云原生多云应用管理平台。主打应用的全生命周期管理以及2B行业的应用交付问题。

2.使用差异
  1. KubeSphere 基于图形化界面来部署自己的业务组件时,需要填写的字段通常是 yaml 声明式配置文件的 “翻译”,对于 Kubernetes 不够熟悉的用户想要顺利使用,仍有一定的门槛。Rainbond 不直接使用 yaml 文件,应用的各类资源均以开发者的视角定义,部署业务时则完全不需要了解 Kubernetes 相关知识,用户只需填写源码地址,关注于业务即可。对于不熟悉 Kubernetes 的用户而言非常友好。

  2. 二者均提出了应用模版的概念,应用模版主要是通过对应用整体进行包装和抽象,包含应用运行所需的全部运行定义,使其与底层技术和概念隔离。最终实现用户一键部署应用的体验。KubeSphere 的应用模版主要基于标准的 Helm 应用模版实现,对 Helm 模版的支持较好,开发人员可以上传自己制作的 Helm Chart 作为应用模版。Rainbond 则是基于 RAM(Rainbond Application Model) 实现的应用模版。开发人员可以直接将正在运行的应用一键发布到应用商店,所见即所得,安装下来的应用与原应用保持一致。不需要了解 RAM 的具体实现,也不需要学习 Helm Chart 的编写。即可制作出自己的应用模版并实现离线交付、多云交付、私有交付等。

Q: Rainbond 适合什么场景?

  • 企业内部应用平台
  • 微服务架构转型
  • DevOps 实践
  • 多云应用管理
  • 传统应用容器化改造
  • 等等