Rainbond助力“信创应用”迁移上云
Rainbond v5.14.2 版本,又称信创版本。从这个版本开始,开源用户也可以利用 Rainbond 管理符合信创要求的硬件计算资源。在这个版本中,产品团队将此前只在企业版产品中存在的信创相关功能拆分出来,融入到了开源产品路线之中。本文围绕如何在信创环境中将应用迁移上云这一主题,结合 Rainbond 信创版本的能力,给出可行的落地方案。
向信创环境迁移应用的必要性
信创产业即信息技术应用创新产业,是我国数字化转型的重要组成部分,也是关键基础设施的重要支撑。其核心在于通过行业应用拉动构建国产化信息技术软硬件底层架构体系和全周期生态体系,解决核心技术关键环节卡脖子的问题,为中国发展奠定坚实的数字基础。
对一般的软件供应商而言,在面向党政军企售卖软件时,符合国产化信创要求已经逐渐成为无法绕过的硬性标准。即使是已经交付完成的软件,在后期的建设计划中,处于信创转型时期的党政军企也会提出向国产化信创环境中迁移的硬性要求。需求的背后总是隐藏着商机,掌握国产化信创背景下的应用迁移能力,将软件产品转化为信创应用是当下所有 ToB/ToG 信创应用供应商必须掌握的能力。Rainbond 信创版本在这样的场景中可以发挥极大的作用。
信创硬件生态
信创应用必须运行在国产化硬件和操作系统之上。国产化硬件生态中最重要的是 CPU 芯片,CPU 芯片的架构直接影响信创应用是否可以在国产化硬件上运行。目前主流的国产化 CPU 厂商包括飞腾、华为、龙芯、海光、兆芯等,其指令集集中在 X86 、Arm 以及自主性极高的 LoongArch (MIPS 指令集的后继者) 之中。而指令集的不同,直接影响到信创应用是否需要重新编译来进行适配。

不难看出,国产化 CPU 芯片的生态有这么几个特点:
LoongArch自主程度最强,但是其生态受限严重,短时间内无法很好的面向市场推广。- 海光、兆芯手持生态最为繁茂的
X86指令集授权,然而自主化程度最弱。X86过于成熟稳定,前人大厦已成,很难在此基础上做出创新。 - 华为、飞腾拥有
Arm指令集授权,自主化程度适中,而且Arm生态正处于蓬勃发展中,可以和X86生态掰一掰手腕。
市场的反馈非常理性,在当前国内的 CPU 芯片市场中,飞腾在党政领域PC市占率领先,海光与鲲鹏占据运营商服务器主要份额。回到信创应用供应商的视角,如何打好 Arm 这张牌,将会是闯入国产化信创赛道的关键点。Rainbond 信创版本通过一云多芯能力,方便的纳管包括 Arm 在内的多架构集群。
“一云多芯”统管Arm & x86集群
顾名思义,一云多芯的异构集群,指的是在同一个集群中的计算节点中,其 CPU 芯片架构不唯一。
一般情况下,CPU 芯片的架构都是基于 Intel 公司推出的 X86 指令集,作为后起之秀的 AMD 也推出完全兼容 X86 的 amd64 指令集,二者可以视为等同。而在国产化信创场景中,很多国产 CPU 架构都是基于 Arm 指令集开发,常见的鲲鹏920、飞腾芯片等都属于该架构类型。为了能够融入国产化信创 IT 生态,Rainbond 自信创版本开始,全面兼容了 Arm 架构。
国产化信创绝非一朝一夕之事,大量在传统 X86 架构下开发的应用都需要很长时间的调整甚至重构才能完全在国产化芯片上运行,一云多芯主打同时能够运行多种架构应用的能力,在国产化替代的过渡阶段中将发挥重大作用。
Rainbond 信创版本可以在同个集群中统一管理和调度多种不同 CPU 架构计算节点,同时也可以借助多集群管理能力纳管多个单架构集群。超高的灵活性,可以让决策者自行决定异构计算资源的部署策略。

除 Arm 架构之外,Rainbond 信创版本也兼容主流国产化软硬件,全面支持信创场景,并且获得了国内各大 CPU 厂商、操作系统厂商的认证。一体化管理信创应用的开发、运维、交付全流程,极大降低国产化信创场景下的应用管理成本。

信创应用迁移难点
对于信创应用供应商而言,从头开发一套信创应用并不是难事。我国信创生态已经日趋完整,无论是操作系统、开发工具还是数据库,都不存在空白区域,它们为全新信创应用的开发提供了全面的支持。真正的难点在于如何将已经运行在传统服务器中的遗留业务系统迁移到国产化信创环境中去。从传统的 X86 跨越到 Arm 架构基本意味着业务系统中所有服务组件的重新编译,甚至重构。在保障业务连续性的前提下,完成传统应用向信创应用的转化是我们无法回避的课题。
首先,让我们按照服务的开发语言、运行方式做个分类:
解释型语言
以 Python、PHP、Shell 为代表的解释型语言,也称脚本语言,是完全与 CPU 架构无关的。我们只需要提供能在信创环境中可用的语言解释器,即可在不改动一行代码的前提下将这种服务运行起来。
字节码型的编译文件
这种类型以 Java 语言编译出的 Jar、War 包为代表。Jar 、War 包是非常常见的软件交付物。由于其打包的是与 CPU 架构无关的字节码,最终运行由跨平台的 JVM 虚拟机负责,故而我们只需要提供能在信创环境中可用的 JDK 、JRE工具,即可在不改动一行代码的前提下将这种服务运行起来。
编译型语言
这里的描述是不严格的,因为字节码型的编译文件也产自编译型语言。在这里,我们特指的是以 C、C++、Golang 为代表的编译型语言,它们在编译时与 CPU 架构强相关,编译出的二进制产物只能在指定的 CPU 架构下运行。这一特性也意味着迁移过程必须经过重新编译,才可以在信创环境中运行起来。
遗留业务系统向国产化信创环境迁移绝非易事,需要甲方与供应商的密切合作。然而由于遗留业务系统的特性,导致供应商能够提供的支持是不一样的。支持力度的不同,直接影响迁移的效果。
提供支持
当甲方决意对某个遗留业务系统进行信创迁移时,恰好供应商承诺的支持期限还没有到期,供应商可以对业务系统的迁移提供全面的支持时,问题会简单很多。即使是面对编译型语言,只要能够提供源代码进行重新编译,则可以完成信创迁移,只是耗时费力罢了。
不提供支持
当甲方决意对某个遗留业务系统进行信创迁移时,恰好供应商承诺的支持期限已经到期,甚至已经无法联系到供应商时,事情就难办许多。甲方对遗留业务系统的了解不会太深,只能找到软件交付物进行分析,重新基于信创环境搭建编译、运行环境。然而对有些经年日久的业务系统而言,很难找到当年的源代码,如果这个服务恰好是编译型语言编译出的二进制文件,基本意味着信创迁移走入了死路。此时,甲方不得不考虑重新招标另一家供应商来重构这个系统,新的替代系统落地绝非一朝一夕之事,期间不能因为这一个服务阻碍国产化信创的整体落地进程。
Rainbond "信创" 版本的核心功能是支持传统应用在信创环境中的云迁移。它紧密关注用户所使用的不同语言类型,并自动化完成信创迁移的工作。一旦所有组件成功部署,通过内置的 ServiceMesh 微服务架构,可以实现跨架构的微服务编排,将服务组件连接起来形成完整的业务系统。
传统应用迁移上云
Rainbond 信创版本自动屏蔽架构差异,以最低成本将应用迁移到国产化信创环境之中。仅需要提供源代码,即可在指定架构环境中编译运行。开源应用商店提供不同架构的应用模板,上百种开源软件一键部署。信创应用供应商可以以最小的技术成本和时间成本,即可将不同类型的服务重新编译,并部署到信创环境中去。

异构微服务编排能力
Rainbond 信创版本凭借一云多芯管理能力, 可以在同个集群中统一调度管理不同 CPU 架构的计算节点。应用中的服务组件也可以按照要求部署到指定的架构中去。但是只有不同架构的微服务组件之间可以相互编排、相互通信,那么它们才能够成为一个有机的整体,形成完整的业务系统。同时也满足信创应用从传统的 X86 向 Arm 国产化迁移的过渡期的特殊要求。
借助于 Service Mesh 亦或是 Kubernetes Service 的能力,Rainbond 天生支持跨架构微服务之间的编排与通信。使用方法与 Rainbond 一直以来的拖拉拽拼积木式的微服务编排方法无异。

Rainbond助力“信创应用”迁移上云的更多相关文章
- Solon v2.2.6 发布,助力信创国产化
Solon 是一个高效的 Java 应用开发框架:更快.更小.更简单.它是一个有自己接口标准规范的开放生态,可为应用软件国产化提供支持,助力信创建设. 150来个生态插件,覆盖各种不同的应用开发场景: ...
- Solon v2.2.10 发布,助力信创国产化
Solon 是一个高效的 Java 应用开发框架:更快.更小.更简单.它不是 Spring.没有使用 Servlet.JavaEE 接口,是一个有自己接口标准的开放生态.可以为应用软件国产化提供支持, ...
- 阿里云如何打破Oracle迁移上云的壁垒
2018第九届中国数据库技术大会,阿里云数据库产品专家萧少聪带来以阿里云如何打破Oracle迁移上云的壁垒为题的演讲.Oracle是指“数据库管理系统”,面对Oracle迁移上云的壁垒,阿里云如何能够 ...
- 阿里云PolarDB发布重大更新 支持Oracle等数据库一键迁移上云
5月21日,阿里云PolarDB发布重大更新,提供传统数据库一键迁移上云能力,可以帮助企业将线下的MySQL.PostgreSQL和Oracle等数据库轻松上云,最快数小时内迁移完成.据估算,云上成本 ...
- 有备无患!DBS高性价比方案助力富途证券备份上云
"某中心受病毒攻击,导致服务中断,线上业务被迫暂停" "某公司员工误操作删库,核心业务数据部分丢失,无法完全找回" "由于服务器断线,某医院信息系统瘫 ...
- 信创国产化,试试 Solon v2.2.2
Solon 是一个高效的 Java 应用开发框架:更快.更小.更简单.它不是 Spring.没有用 Servlet.也无关 JavaEE,是一个有自己接口标准的开放生态.可以为应用软件国产化提供支持, ...
- Azure进阶攻略 | 数据库上云:零停机、自动化
小明最近挺忙,刚刚在外地找了个新工作,正在忙着搬家.多年积攒的家当很多,根本不能潇洒地「说走就走」,于是他联系了搬家公司.专业的就是不一样,不费什么事,就把所有东西打包.运输.拆包到位了.抵达新城市的 ...
- 干货 | RDS For SQL Server单库上云
数据库作为核心数据的重要存储,很多时候都会面临数据迁移的需求,例如:业务从本地迁移上云.数据中心故障需要切换至灾备中心.混合云或多云部署下的数据同步.流量突增导致数据库性能瓶颈需要拆分-- 本文将会一 ...
- iPhone 6 被盗记录二【写在315前夕:苹果售后福州直信创邺在没有三包的情况下帮小偷翻新、助力小偷换机销赃!无视王法。让人震惊,痛心,憎恨!消费者很受伤很无奈】
投诉公司: 北京直信创邺数码科技有限公司 标题: 写在315前夕:苹果售后在没有三包的情况下帮小偷翻新.助力小偷换机销赃!无视王法.让人震惊,痛心,憎恨!消费者很受伤很无奈 期望: 还我手机,或者赔 ...
- redis跨实例迁移 & redis上云
1)redis跨实例迁移--源实例db11迁移至目标实例db30 root@fe2e836e4470:/data# redis-cli -a pwd1 -n 11 keys \* |while rea ...
随机推荐
- day07 字符串和列表
day07字符串与列表 字符串的内置方法 lower upper startswitch endwhich 格式化输出 format join的用法 replace替换字符串 isdigit判断 字符 ...
- 【深度学习】【图像分类网络】(二)VisionTransformer
Transformer简介 
为了解决多应用联合运行的问题,同时还要不破坏容器的隔离,就要再对多个容器进行打包.Pod就是对容器的打包,里面的容器可以看成是一个整体,总是能一起调度.一起运行,绝不会出现分离的情况,而Pod属于Ku ...
- 论文解析 -- A Survey of AIOps Methods for Failure Management
此篇Survey是A Systematic Mapping Study in AIOps的后续研究 对于AIOPS中占比较高的Failure Management进行进一步的研究 Compared t ...
- MAPPO学习笔记(2) —— 从MAPPO论文入手
在有了上一节一些有关PPO算法的概念作为基础后,我们就可以正式开始对于MAPPO这一算法的学习. 那么,既然要学习一个算法,就不得不去阅读提出这一算法的论文.那么本篇博客将从MAPPO的论文出发,对M ...
- JUC中常见的集合
Map: HashMap ===> ConcurrentHashMap List: ArrayList ===> CopyOnWriteArrayList Set: HashSet === ...
- Layui 2.8.0 正式发布,官网全新文档站朴实归来
前言 两年前 Layui 官网宣布了下线声明,说实话当时内心确实感慨万千毕竟这个免费为我们后端程序员提供的一个前端快熟开发框架的官网就这样下线了确实十分的惋惜,但是庆幸的是官网的下线,只是单纯一个网站 ...
- Sourcetree 提交顺序
总结:一共5个步骤 1.首先获取git主分支的代码. 2.暂存所需要上传的代码. 3.拉取代码(如发生文件冲突先暂不处理). 4.提交代码,然后再次拉取代码(不显示冲突跳下一步).如果还是显示文件冲突 ...
- 2022-07-14:以下go语言代码输出什么?A:1;B:3;C:4;D:编译错误。 package main import ( “fmt“ ) func main() { a
2022-07-14:以下go语言代码输出什么?A:1:B:3:C:4:D:编译错误. package main import ( "fmt" ) func main() { a ...
- vue核心
VUE简介 vue--一套用于构建用户界面的渐进式JavaScript框架 vue特点 采用组件化模式--提高代码复用率--让代码更好维护 声明式编程--让编码人员无需直接操作DOM--提高开发效率 ...