国产化和信创支撑
曾几何时,无论是在服务器还是个人电脑,CPU 芯片领域一直是 Intel 独占鳌头,旗下的 X86_64 架构被广泛采用。然而王权没有永恒,近年来 Arm64 架构异军突起,服务器端有华为鲲鹏 920 高性能芯片做代表,个人电脑端则以苹果 M1 芯片惊艳世人。Arm64 架构芯片用低功耗和高性能炫耀着其市场价值,国产化替代的洪流也在不断将 Arm64 推向军队、政府、国企的供应商们。抓住先机,迅速拥抱与适配国产化芯片,是这个时代软件交付的新话题。
拥抱 Arm64 的难处
从 X86_64
迈向 Arm64
并非易事,指令集的改变,影响半径极大。
最直接的影响,是原来在 X86_64
环境中可以正常运行的业务系统需要基于 Arm64
重新编译才可以运行。即使开发时使用的语言具备跨架构的能力,重新编译本身就是一种很繁复的工作,需要投入大量的人力成本和时间成本。
Arm64
的开发语言生态并不是那么健全,这无形中会增加了本不该开发人员关心的负担。很多语言本身的运行环境都需要重新编译,更不要提很多开源中间件的适配工作。
以上仅仅是开发人员关注的重点。
在软件交付领域,软件交付到客户环境中运行起来,仅仅是个开始。业务系统的管理、监控、迭代、容灾都是交付团队需要持续关注的点。多数交付团队在 X86_64
架构下,都已经有了自己的解决方案。那么容器、Kubernetes、DevOps 这些先进的工具方法,在 Arm64
架构下如何复刻?
解决之道
Rainbond 可以利用自身能力抹平芯片架构的差异,无论是开发人员,还是交付人员,都可以基于 Rainbond 找到拥抱 Arm64
的解决之道。Rainbond 通过不同层次的能力来解决从 X86_64
到 Arm64
的迁移问题。
-
既有能力:Rainbond 本身是一款适用于软件交付,或者应用运维管理的云原生应用管理平台。无论是快速交付部署,还是应用的管理、监控、迭代、容灾,既有的功能已经可以满足交付运维人员的日常需求。
-
容器化技术:Rainbond 基于容器化技术实现,容器这种轻量级的虚拟化技术在
Arm64
领域已然大放异彩。自从容器支持多架构之后,绝大多数开源中间件都已经提供了基于不同架构的基础镜像,Arm64
自然是其中的标配。选择容器化技术,相当于选择了Arm64
的生态支持。 -
自身兼容
Arm64
:Rainbond 很早就开始落子国产化架构适配,自身适配了包含Arm64
在内的多种架构。 -
极简的开发环境部署: Rainbond 已经支持运行于各种个人平台的 Docker Desktop 环境中,开发者只需要借助一台具有 M1 芯片的 MacBook ,即可花十分钟搭建起自己的 Rainbond Arm64 开发环境,方便至极。
-
源码构建兼容
Arm64
:这是打通迁移到Arm64
架构的最后一环。在 Rainbond 中,开发人员可以不改一行代码,直接利用源码构建自己的业务组件,即可将之部署运行于Arm64
环境中。目前 Rainbond 源码 构建已经支持了市面上多种主流语言,围绕语言自身的各种扩展依赖已经趋于完整。
Rainbond 兼容 Arm64
Rainbond 云原生应用管理平台可以被部署在 Arm64
环境中。从 2020 年 1 月起,Rainbond 分别和华为、飞腾进行了适配测试。经过验证,Rainbond 在 Kunpeng 920 芯片以及 FT2000+/64 这两款 Arm64
芯片上均可以稳定运行, 达到生产可用的标准。
而对于个人开发领域,Rainbond 也在持续发力。目前,Rainbond 支持在各种个人 PC 平台下利用 Docker Desktop 运行。我们将 Rainbond 的所有组件集成进一个容器,这种方式可以使得个人开发者以最简化的方式,利用十分钟时间运行起个人的开发测试环境。而对于使用具有 M1 芯片的 MacBook 个人开发者而言,就已经相当于基于 Arm64
架构进行开发了。