基于阿里云原生服务构建迁移即服务(上)——阿里云 MVP孙琦

简介: 万博智云CTO、Ceph中国社区联合创始人、基金会亚太区大使、阿里云MVP孙琦在直播中为大家分享云迁移产品如何由脚本演变为工具,再由工具演变为SaaS应用的故事。

【MVP时间】线上峰会,一键收藏

《基于阿里云原生服务构建迁移即服务》精彩直播

查看下篇文章,点击这里。

以下是直播内容精华整理,主要分为五个部分
一、关于迁移那些事;
二、脚本时代迁移;
三、云API实现迁移自动化;
四、利用阿里云原生服务构建迁移平台;
五、未来展望。

一、关于迁移那些事

一提到迁移,大家可能想到的就是复杂,正如《企业迁云之路》这本书中写的那样,上云需要从战略、组织、风险、财务和技术等方面统筹思考,才能保证方向正确,并通过严格的项目管理对业务产生助力。

云计算对于企业T架构的冲击和变革是非常大的,因此需要一个较长的观察期,以便对业务和技术有足够的理解和思考。企业如果要上云,至少要从业务技术能力、项目开发能力和数据应用这三个方面综合考虑应怎样逐步迁移、哪些不能或者不需要迁移、迁移的时候是复制还是重构。上云前企业在思考什么,决定了上云后企业能够获得什么。

下图是Gartner在2018年发布的关于云计算的重复度曲线,预测云迁移将在4-5年内发生,私有云迁移是在最近两年内发生,该预测与目前的实际状况比较类似。注意图中的MultiCloud同样被预测在2-5年内出现,也印证了混合云的兴起。正是有了多云的出现,用户才有意愿将业务在不同云之间进行切换,云迁移的重要性才得以凸显。

image.png

Gartner对运管平台定义的十大模块中,迁移和容灾被单独列为一个模块,为了方便企业管制的一些需求,多数企业均会建立云管平台,也为多云的混合调度提供了很大的便利。但是云管平台实际上是在控制流做管理,数据和通讯还是用户去做的,无法实现从A云到B云的灵活迁移;而且在传统迁移的时候往往需要专业人员来帮助用户使用,但是在云迁移的概念下,迁移和容灾的行动,应该是一个自助的行为,那么就对云迁移提出了更高的操作简便性,使得普通用户也能便捷的使用。

二、脚本时代迁移

(一)迁移方式的选择

从下图中我们可以看到,迁移的方式有很多,比如重装、Re-Host、重构等等,而在这些方式中,最经济、最快的方式就是Re-Host方式。

image.png

如果想用Re-Host方式的话,从迁移的文件存储级别来看,我们有下面2中方法:

(1)文件级别

该方式缺陷有一个缺陷,是需要提前在云上把待迁移主机建立起来,但是由于线下的主机系统可能比较老,云上不一定能找到完全对应的版本,那么在这种情况下进行迁移的时候,很可能影响应用的稳定性问题。

(2)块级别

块级别的迁移方式和我们的需求是比较接近的,但是从市面上的产品来看,都是需要在迁移过程中远端停机,会对用户的业务稳定性产生很大的影响;另外就是这些方式需要大量的手动操作,在云迁移的方式下,其实并不适用。

(二)云迁移与传统迁移的区别

云迁移与传统迁移的最本质区别在于API接口的利用:在物理环境下,我们很难利用命令或者相关的API控制服务器来完成迁移工作,但是在云的环境下,一切被虚拟化,所以很容易的调用云平台的计算、存储、网络等资源,从而能够更快速的帮助用户将应用迁移到云端。所以,API的利用是一个云原生迁移平台要具备的第一个特性。

(三)云迁移诞生之缘

如下图所示,我们团队在实际业务中发现了云迁移的潜在需求,进而基于云原生的方式,开发了这样一款产品,大大提升了用户的迁移效率与安全性。

image.png

三、云API实现迁移自动化

(一)云迁移的主要技术与架构

当云API和迁移流程能够完美结合的时候,对迁移效率的提升非常明显:用云API实现迁移自动化的整个过程比人工方式快10倍以上,比其他工具要快5倍以上。
如果想要用云原生API实现迁移自动化,对于工具应该至少满足以下6点要求:

  • 面向小白用户的设计,步骤简单,界面清晰,无须培训就可以开始使用;
  • 实现在线“热迁移”效果,即迁移不影响业务;
  • 能够支持私有云、阿里云公有云、专有云平台;
  • 迁移过程中无须进入命令行操作,实现全自动、一键式迁移效果;
  • 微服务设计,模块之间的通讯全部使用REST接口,不允许跨模块访问数据库;
  • 对外提供REST API接口,能够被第三方产品进行整合。

云迁移过程中,想要满足以上几点需求,需要实现的关键技术有如下:

(1)块级别复制

块级别全量、增量复制,保证业务连续性,块级别差异捕获。业务系统可以整体恢复、无须重装或应用改造。

(2)数据传输

数据的传输支持多种传输协议和方式,能够支持大容量窄带宽传输方式,支持传输到存储设备。

(3)API接口

支持迁移到多个云平台,使用云原生API接口,形成高度自动化流程,使用云原生资源,在迁移过程中无须转换,提高效率。

(4)驱动适配

通过对驱动注入,保证操作系统可以在目标平台正常启动,规避在源端安装驱动的风险。

只有以上几个关键技术被满足之后,我们才能建立一个面向云原生方式的迁移平台。下图所示是单机版本的业务逻辑架构。

根据业务逻辑的抽象将模块分为三大类:源端代理、迁移调度管理和云平台代理端。其中,源端代理主要负责将块数据用全量和增量的方式读出,云平台代理端主要负责接收数据以及通过API调度云平台的资源配合迁移流程,而迁移调度管理平台主要负责整个迁移调度工作,降低整个迁移工作的复杂性。

三个模块中,除了源端代理无法部署在容器上,前迁移调度管理和云平台代理端都部署在容器上。底层上,我们即可以对接云平台,也可以对接传统存储,就解决了在大容量、窄带宽下的迁移工作。架构中的每个模块都是微服务架构,包括API与Worker服务,模块都是异步调用为主,满足了调用的灵活性和可扩展性。

image.png

其中,对于每个模块内的技术栈如下图所示。

image.png

这里特别介绍下关于存储抽象层的设计,在这里我们实际上用到了软件存储控制层的概念。一开始存储控制层的作用是将不同型号存储的API接口进行统一的管理,能够让应用层和编排层使用统一的接口去调度不同的存储。但是,如下图所示,在设计该平台的时候,我们做了一个创新的操作,将云平台也变成了一个存储,因此上层的应用层和编排层就能像普通的应用层一样使用阿里云,我们只管理到控制流,数据流还是之前的路径。除此之外,我们还能管理离线的设备,就解决了传统存储和云存储统一的问题。

image.png

(二)利用云原生资源进行数据同步

数据同步就是将源端的数据同步到阿里云的EBS上,并且每次同步之后会进行EBS快照,方便进行验证,完整的过程如下图所示。在该过程中,全量同步与增量同步进行配合,提高了同步效率,快照技术保障了数据的安全性。

image.png

(三)利用阿里云API将EBS变为ECS

在阿里云的接口里面其实并没有可以直接将EBS变为ECS的API,我们利用了主机镜像的方式来实现了该功能,具体的流程如下图所示。在这种方式下,无论是数据同步还是启动主机的过程,对源端业务系统都没有造成任何影响。实际上该过程类似于容灾体系中的容灾接管的过程,通过这种方式,大家可以对上云之后云主机的稳定性经过充分的验证之后再去完成同步增量等,进而完成完整的迁移过程。

image.png

(四)阿里云接口需求

从迁移的角度来讲,在各个阶段对阿里云的接口需求如下图所示。正式因为有了如下接口,整个迁移的过程才会更加的快速、便捷。

image.png

《基于阿里云原生服务构建迁移即服务》精彩直播

查看下篇文章,点击这里。

目录
相关文章
|
2月前
|
边缘计算 Cloud Native 安全
构建灵活高效的下一代应用架构 随着企业数字化转型的加速,云原生技术正逐渐成为构建现代化应用程序的关键支柱。
随着企业数字化转型加速,云原生技术逐渐成为构建现代化应用的关键。本文探讨了云原生的核心概念(如容器化、微服务、DevOps)、主要应用场景(如金融、电商、IoT)及未来发展趋势(如无服务器计算、边缘计算、多云架构),并分析了面临的挑战,如架构复杂性和安全问题。云原生技术为企业提供了更灵活、高效的应用架构,助力数字化转型。
75 4
|
2月前
|
Cloud Native 持续交付 开发者
探索云原生技术:构建高效、灵活的应用架构
【10月更文挑战第6天】 在当今数字化浪潮中,企业面临着日益复杂的业务需求和快速变化的市场环境。为了保持竞争力,他们需要构建高效、灵活且可扩展的应用程序架构。本文将探讨云原生技术如何帮助企业实现这一目标,并分析其核心概念与优势。通过深入剖析云原生技术的各个方面,我们将揭示其在现代应用开发和部署中的重要性,并提供一些实用的建议和最佳实践。
56 2
|
3天前
|
运维 Cloud Native 应用服务中间件
阿里云微服务引擎 MSE 及 云原生 API 网关 2024 年 11 月产品动态
阿里云微服务引擎 MSE 面向业界主流开源微服务项目, 提供注册配置中心和分布式协调(原生支持 Nacos/ZooKeeper/Eureka )、云原生网关(原生支持Higress/Nginx/Envoy,遵循Ingress标准)、微服务治理(原生支持 Spring Cloud/Dubbo/Sentinel,遵循 OpenSergo 服务治理规范)能力。API 网关 (API Gateway),提供 APl 托管服务,覆盖设计、开发、测试、发布、售卖、运维监测、安全管控、下线等 API 生命周期阶段。帮助您快速构建以 API 为核心的系统架构.满足新技术引入、系统集成、业务中台等诸多场景需要
|
16天前
|
敏捷开发 Kubernetes Cloud Native
阿里云云原生技术为企业提供了一套高效、灵活的解决方案,支持跨云部署与管理
在多云环境中,阿里云云原生技术为企业提供了一套高效、灵活的解决方案,支持跨云部署与管理。通过容器化、服务网格等技术,实现了应用的一致性与可移植性,简化了多云环境下的资源管理和服务治理,帮助企业应对复杂的云环境挑战,加速数字化转型。
29 5
|
16天前
|
存储 Prometheus 运维
在云原生环境中,阿里云ARMS与Prometheus的集成提供了强大的应用实时监控解决方案
在云原生环境中,阿里云ARMS与Prometheus的集成提供了强大的应用实时监控解决方案。该集成结合了ARMS的基础设施监控能力和Prometheus的灵活配置及社区支持,实现了全面、精准的系统状态、性能和错误监控,提升了应用的稳定性和管理效率。通过统一的数据视图和高级查询功能,帮助企业有效应对云原生挑战,促进业务的持续发展。
25 3
|
23天前
|
人工智能 Cloud Native 算法
|
27天前
|
运维 Cloud Native Java
热联集团:从 APISIX 迁移到云原生网关
我们将核心业务系统从 IDC 全栈迁移到阿里云后,并采用了云原生 API 网关,通过其独有的软硬一体的加速方案,相比普通 HTTPS 请求 TLS 握手时延降低一倍,极限 QPS 提升 80% 以上,运维效率也提升了 50%,此外,我们把 Nacos 迁移到 MSE Nacos,稳定性、性能和运维成本等方面都具备了明显的优势。
|
28天前
|
Kubernetes Cloud Native Ubuntu
庆祝 .NET 9 正式版发布与 Dapr 从 CNCF 毕业:构建高效云原生应用的最佳实践
2024年11月13日,.NET 9 正式版发布,Dapr 从 CNCF 毕业,标志着云原生技术的成熟。本文介绍如何使用 .NET 9 Aspire、Dapr 1.14.4、Kubernetes 1.31.0/Containerd 1.7.14、Ubuntu Server 24.04 LTS 和 Podman 5.3.0-rc3 构建高效、可靠的云原生应用。涵盖环境准备、应用开发、Dapr 集成、容器化和 Kubernetes 部署等内容。
46 5
|
27天前
|
运维 Cloud Native 应用服务中间件
阿里云微服务引擎 MSE 及 云原生 API 网关 2024 年 10 月产品动态
阿里云微服务引擎 MSE 面向业界主流开源微服务项目, 提供注册配置中心和分布式协调(原生支持 Nacos/ZooKeeper/Eureka )、云原生网关(原生支持Higress/Nginx/Envoy,遵循Ingress标准)、微服务治理(原生支持 Spring Cloud/Dubbo/Sentinel,遵循 OpenSergo 服务治理规范)能力。API 网关 (API Gateway),提供 APl 托管服务,覆盖设计、开发、测试、发布、售卖、运维监测、安全管控、下线等 API 生命周期阶段。帮助您快速构建以 API 为核心的系统架构.满足新技术引入、系统集成、业务中台等诸多场景需要
|
2月前
|
运维 监控 Cloud Native
构建行业应用生态:云原生应用市场简化企业软件安装
在移动互联网时代,尽管手机应用市场为用户带来了极大的便利,但企业级软件的安装和管理仍面临诸多挑战,包括安装复杂、交付效率低、应用兼容性差等问题。为此,基于云原生技术的企业级应用市场Rainstore应运而生,旨在简化企业软件的安装和管理,提升交付效率,增强应用兼容性,支持远程管理和个性化定制,构建开放的行业应用生态,助力企业数字化转型。
构建行业应用生态:云原生应用市场简化企业软件安装