混合多云迁移, 应用无缝迁移跨云多活

随着混合多云架构的常态化, 多云迁移将越来越普遍。 多云迁移往往不是简单的跨云搬迁, 更多需要和业 务应用重构以及多云容灾体系相结合。 由于云原生业务的动态分布以及快速部署等特点, 相对于传统业务 迁移来说, 云原生操作系统屏蔽了架构环境异构化的问题, 给多云迁移带来了更多的灵活性。

传统业务应用的多云迁移

传统业务的跨云迁移主要包含应用迁移与数据迁移, 因为跨云的异构性, 迁移前需进行充分的调研并制定 完备的实施方案。 迁移实施主要涉及应用改造、 数据迁移、 迁移脚本、 迁移自动化工具及大量的人工操作。 并且通常会针对于不同应用场景规划不同的迁移方式 :

一、 架构一致迁移

对于一些老旧的应用系统或者难以改动的业务应用, 往往采用架构一致性迁移。 这种迁移方式可以减少架 构调整造成的实施成本和未知风险, 但是网络地址、 DNS 等方面通常需要重新规划。

应用层面常用主机镜像或系统重部, 结合手工同步配置实现。 现阶段也有如整机迁移之类方便使用的迁移 工具。 数据层面则利用 DTS 工具实现数据的结构迁移、 全量迁移、 增量迁移及异构数据库迁移。 同时对 于文件系统和对象存储, 提供相应的存储同步工具进行支持。

二、 架构重构迁移

随着业务应用需求的不断发展, 以及企业 IT 架构的持续演进, 并且考虑到不同云平台提供的能力差异, 更 多的业务系统采用架构重构来同步推动应用现代化与迁移工作。 应用架构重构可能是对底层技术组件的重 新适配, 如数据库、 中间件等, 也可能是完全的应用升级实施, 这种情况下迁移投入更大, 也会更多考虑 未来业务发展、 架构统一规划以及业务层面配合和迁移投入产出。 当然迁移过程中, 对于数据库、 存储等 方面的数据迁移工作依然可以利用前述工具实现。

云原生业务的多云迁移和多活

云原生体系下迁移内容已经由传统的主机迁移, 演变成了 K8S 集群迁移。 常用的迁移方式是导出应用 yaml, 手工结合自动化脚本方式完成 yaml 重写, 重新部署到目标云, 同时通过迁移工具完成数据存储 层面的同步。 另外通过备份 K8S 集群资源和持久存储卷 (PV), 并通过恢复实现迁移的工具, 在小规模场 景的迁移中提升了易用性。

但是混合多云下云原生的迁移, 常常不会是简单的从一个云的集群迁移到另一个集群。 更多的是和多云容 灾及流量调度结合,实现跨云多活体系。 这种架构体系,可以实现更细粒度的业务拆分和迁移后的灰度调度。 由此可见, 目前的关键点在于如何实现同构和异构数据的双向同步、 监控以及实时性保障 ;同时也包括如 何改造应用, 实现按需的流量分发。

在具体的实践中, 可以看到异构 PaaS 资源的同步需求, 给整个架构体系带来巨大的挑战。 建设多云统一 的 PaaS 体系, 无疑会大大降低方案的复杂度。 而基于敏捷技术中台理念, 打造统一的技术能力, 成为当 下混合多云领域发展的重要方向。 通过这种方式, 可以屏蔽底层异构资源, 实现跨云跨集群的统一 PaaS 层资源构建, 同时打造可靠的数据同步管道, 降低应用迁移成本, 实现应用在多云环境的实时、 无缝、 可靠迁移。