Rainbond v5.1.2 发布,微服务架构应用便捷管理和交付
Rainbond 是开源的企业应用云操作系统,支撑企业应用的开发、架构、交付和运维的全流程,通过无侵入架构,无缝衔接各类企业应用,底层资源可以对接和管理 IaaS、虚拟机和物理服务器。
2019 年 3 月,Rainbond 发布 v5.1 版本,经过 1 个月在上百家企业的实际使用,团队持续跟进版本缺陷,迄今为止发布了 2 个 BUG 修复版本。
Rainbond 开源产品的目标是成为企业 IT 系统的云操作系统,作为基础平台支持各行各业的企业用户,优化 IT 软件开发企业的开发流程和交付流程,做到一站式开发和交付。作为广大行业 IT 厂商的合作伙伴,为其提供稳定的、好用的、高效的基础平台,服务于行业软件的架构、开发和交付,Rainbond 在这条路上砥砺前行。在 V5.1 版本中我们引入了以下功能体系来服务用户。
支持第三方微服务集成和管理
Rainbond 在众多的企业中落地使用的过程中出现了两类共同的问题:
循序渐进的迁移策略,已经上 Rainbond 的服务如何与遗留服务通信和统一管理。
Rainbond 应用网关很好用,但是遗留的服务没办法与 Rainbond 上的服务共享外网端口或域名。
Rainbond V5.1 版本中在提出了第三方服务的概念,即将运行于 Rainbond 集群外且与 Rainbond 可以正常网络通信的服务称为第三方服务。对于此类服务,我们支持以静态注册、动态注册(Etcd、Zookeeper、Consule)的方式来获取第三方服务的通信地址,赋予第三方服务以下能力:
集成 Rainbond 内置的 ServiceMesh 架构,与集群内服务无缝互联,并提供服务通信治理功能。
集成 Rainbond 应用网关,统一管理服务外网访问。
运行于不同环境和系统的业务系统统一管理和可视化,形成完整业务架构。
更多第三方服务的说明和支持情况,见文档:Rainbond 支持第三方服务集成
此功能发布之后,在阿里云运行 Rainbond 的企业用户可以更便捷的对接阿里云的 RDS 资源。更加充分的利用云资源以降低企业维护 IT 系统的成本。
支持微服务启动顺序
在一个复杂微服务架构下,一些服务必须依赖于另一些服务才能正常工作,如何根据依赖关系处理服务的启动顺序是简化复杂微服务架构管理的关键。
Rainbond 实现了根据依赖关系自动处理服务的启动顺序,当被依赖的服务正常工作后,才会启动后续服务,依次迭代启动所有服务。
这方面的功能实现主要在体现 Rainbond 的主要抽象层次,我们比较清楚的是 docker 的抽象层次是容器级别,kubernetes 的抽象层次主要可以认为是服务级别(Pod 级别),Rainbond 的关键抽象层是更高的应用级,特别是微服务架构盛行的今天,服务组件多,对于大多数业务程序都需要手动的控制启动顺序来确保整个业务的正常工作。Rainbond 能够做到能够做到在应用级整体控制生命周期和其他自动化运维。
此功能发布后在某工业互联网软件企业用户中创造了较大价值,一个完整的工业互联网 APP 开发平台由 20 多个服务组件构成,过去他们每交付一个工厂的交付成本需要一个熟练的交付工程师出差调试大概 2 天才能基本完成。其中主要的就是需要熟练掌握服务之间的依赖关系,启动顺序,服务配置,这还是建立在他们产品的成熟度已经比较高。后期这一套业务系统交付用户的运维成本也非常大。当使用 Rainbond 作为基础交付平台以后,他们通过 1 天的时间将所有服务完整部署的 Rainbond 并发布于应用市场。由于 Rainbond 完整的应用系统生命周期控制和启动顺序控制,实现了完整的工业互联网 APP 开发平台的一键部署,10 分钟完成业务可工作。对于最终用户来说也可以更加直观的运维管理业务系统。
源码构建系统升级
基于源代码持续构建服务是 Rainbond 用户使用最多的功能之一,既 5.0 版本作较大升级以后,5.1 版本继续带来升级,在 Java、PHP、NodeJS 等常用语言方面支持更加完善:
增加对 NodeJS 前端项目源码类型的支持,可以部署 Vue 和 React。
Java-Maven 增加 maven 编译参数的 UI 配置。
所有 Java 类型支持 OpenJDK 版本和 OracleJDK 版本的 UI 配置。
PHP、静态语言支持 UI 选择中间件类型和版本。
将公共代码模块和资源从云端本地化、更好的支持离线环境下源码构建
支持服务源码类型重新检测和变更
另外 Rainbond 对各类型源码的支持规范文档进行了更加细致的描述,请参考 Rainbond 源码支持规范
从源码构建主要服务于开发场景,目前还是有较多的企业开发者出于学习成本无法定义优质的 Dockerfile,直接使用 Rainbond 提供的基于源代码构建的机制是开发者使用 Rainbond 发布服务最易用的方式。
我们从用户使用中总结发现目前开发语言最多的依然是 Java, 因此 Rainbond 对 Java 语言支持的持续优化依然是 V5.1 版本的重点,其中有大量用户使用的是 SpringCloud,因此 Rainbond 将在 V5.1 后续小版本中增加直接基于 Maven 源码创建多个服务模块的便捷服务创建方式,进一步提供用户创建服务的效率。
除了上述提到的 Rainbond V5.1 版本大的功能变化以外,Rainbond 还进行了大量的功能改进和优化。详细参考:
https://github.com/goodrain/r…
https://github.com/goodrain/r…
https://github.com/goodrain/r…
开始你的 Rainbond 之旅
你的企业是否也遇到过上文提到的种种影响你的产品开发和交付的效率的问题,不妨使用 Rainbond 来优化一下你的现有模式和体验。
Rainbond 安装参考手册 https://www.rainbond.com/docs…
Rainbond 使用参考手册 https://www.rainbond.com/docs…
Rainbond 进阶场景手册 https://www.rainbond.com/docs…