随着云计算技术的不断发展和普及,使得对网络建设、业务运营、系统运维等多个角度对传统IT系统建设产生了深远的影响。越来越多的企业选择将应用系统迁移部署到云平台上,利用云计算平台产品特性构建低成本、弹性、高性能、高可靠性、高安全、按需获取计算能力的IT业务系统。
为了实现已有IT系统向云计算平台的迁移及新建系统的部署,保障系统迁移平滑演进。本文主要从大部分企业系统架构组件层面,比如网络层、应用服务层、文件存储层、数据库服务层等几个方面探讨如何将线下系统平滑的迁移到阿里云计算平台。
网络层
阿里云产品的网络类型主要分为两种,分别是经典网络和专有网络。
经典网络是指其上的每个独立产品均有公网IP和私网IP,云上云下的客户均可方便的访问。
专有网络VPC(Virtual Private Cloud)是用户基于阿里云创建的自定义私有网络,不同的专有网络之间彻底逻辑隔离,用户可以在自己创建的专有网络内创建和管理云产品实例、配置路由表和网关等。此外也可以通过专线/VPN等连接方式将VPC与传统数据中心组成一个按需定制的网络环境,实现应用的平滑迁移上云。
例:传统VLAN架构到阿里云VPC的迁移
如图所示,为某电商网站迁移到阿里云上的架构。该业务部署的地域在深圳和上海,两边的部署架构相同。具体情况如下:
•
每个Region创建部署1个VPC。
•
VPC通过两条SDH专线与线下系统所在电信、联通数据中心连接。
•
VPC内有两个子网,一个公网区,一个管理网。
•
VPC内ECS必须是SSD类型。
•
使用SLB做一级负载均衡对外提供访问服务,在ecs上搭建的Tengine做二级负载均衡
应用服务层
对于应用服务层来说可以使用SLB+多台ECS实例的方式取代传统F5+后端服务器集群,实现应用服务层的迁移上云。
负载均衡SLB(Server Load Balancer)是对多台云服务器进行流量分发的负载均衡服务。负载均衡可以通过流量分发扩展应用系统对外的服务能力,通过消除单点故障提升应用系统的可用性。
云服务器 ECS(Elastic
Compute Service)实例是一个虚拟的计算环境,包含 CPU、内存等最基础的计算组件,是云服务器呈献给每个用户的实际操作实体;无需提前采购投入,您可以根据业务的需要,随时创建实例、扩容磁盘、或释放任意多台云服务器实例。
对于传统业务系统部署在X86物理服务器或者虚拟化平台虚机上的应用,我们可以通过应用镜像迁移的方式把系统应用程序搬迁到阿里云。阿里云目前提供P2V、V2V的工具可以支持将大部分版本的Windows或者Linux操作系统生成镜像文件,通过阿里云ECS控制台镜像导入入口把镜像文件导入到阿里云镜像管理中心后就可以根据上传的镜像创建ECS实例,无需重新安装系统、应用基础环境、应用程序部署就可以现实应用服务器的迁移。
像运行在小机的AIX、HPUNIX、Solaris操作系统的应用服务可以采取重新打包应用手工部署的方式迁移到阿里云ECS实例;重新打包应用手工部署方式主要包括基础环境安装配置、应用中间件部署、应用程序代码部署及配置;对于集群化的应用服务,手工部署完成后可通过阿里云生成自定义镜像,然后通过镜像进行批量创建ECS实例额,实现集群化部署。
通过配置SLB可以将HTTP/HTTPS、TCP、UPD协议的网络流量按照轮询或最小连接数的均衡或按权重策略分发到后端的不同ECS实例,实现网络流量负载均衡。
例: 实现用户分布地域广,业务实时性和可用性要求高,部署重点是能够达到应用服务层面上的容灾需求,并且各地的用户访问应用都需要低延时。
用户分布地域、运营商线路各不相同,可以使用云解析DNS服务企业版,轻松将各用户引流到最合适地域的负载均衡上,并可实现跨地域容灾;负载均衡和ECS结合可实现同城多可用区容灾,负载均衡健康检查可保证消除ECS实例单点。
文件存储层
对于文件存储迁移,可以直接用OSS取代传统文件服务器或NAS存储实现海量数据文件的存储。阿里云对象存储(Object Storage Service,简称OSS),是阿里云对外提供的海量,安全,低成本,高可靠的云存储服务。
OSS主要适用于以下场景:
•
图片和音视频等应用的海量存储
•
网页或者应用的静态和动态资源分离
•
配合媒体转码服务(MTS),图片处理服务(IMG)云端的数据处理
文件存储迁移到阿里云OSS,少量小文件可以通过OSS web控制台上传方式很简单就把文件迁移到OSS;对于少量的小文件或者大文件可以通过OSS客户端进行文件存储迁移,OSS客户端支持图形化界面鼠标拖拽便捷操作、大文件自动分片断点续传、多线程上传等特点;对于大量文件存储迁移阿里云推荐使用OSSImport2工具进行迁移,OSSImport2是快速迁移文件数据上云工具,不落盘,根据带宽自动启动多线程、可集群化部署。
例:文件存储迁移OSS-无缝平滑迁移方案
首先客户端直接访问OSS,对于读请求文件存在直接返回结束,如果不存在,按回源重定向规则返回重定向地址,客户端根据重定向地址到源站访问文件并返回结果;对于写请求直接写入OSS,返回结果。同时通过后端配置OSSImport2进行迁移源站文件到OSS,待迁移完成后可直接取消回源规则,实现文件存储到OSS无缝平滑迁移。
数据库服务层
大数据引领我们正在从IT时代向DT时代变革,“数据”的源头就在我们身边千千万万的应用系统中,如网站,论坛,ERP系统,订单系统,采购系统,游戏应用等; 大部分应用系统都是On-Line
Transaction Processing 联机事务处理系统(OLTP) ,而最合适,最方便的数据管理系统就是关系型数据库,如MySQL,MSSQL,Oracle等;
阿里云提供关系型数据库服务(Relational Database Service,简称RDS)是一种稳定可靠、可弹性伸缩的在线数据库服务。RDS采用即开即用方式,兼容MySQL、SQL
Server、PostgreSQL、PPAS三种关系型数据库,并提供数据库在线扩容、备份回滚、性能监测及分析功能。RDS与云服务器搭配使用I/O性能倍增,内网互通避免网络瓶颈。
云下MySQL、SQL Server、PostgreSQL、PPAS在阿里云上RDS都可以找到对应的版本;对于Oracle数据库可以在云上ECS自建,也可以改造后在上云。
对于数据库结构化数据迁移阿里云主要使用DTS数据传输工具,DTS(Data Transmission Servic)支持以数据库为核心的结构,跨存储产品之间的数据传输,它是一种集数据迁移、数据订阅及实时同步于一体的数据传输服务。可以使用DTS轻松构建安全、可扩展、高可用的数据架构。
DTS数据迁移支持列表:
源数据库 |
结构迁移 |
全量迁移 |
增量迁移 |
Oracle->RDS For MySQL |
支持 |
支持 |
不支持 |
Oracle->RDS For PPAS |
支持 |
支持 |
不支持 |
MySQL ->RDS For MySQL |
支持 |
支持 |
支持 |
SQLServer->RDS For SQLServer |
支持 |
支持 |
不支持 |
PostgreSQL-> RDS For PostgreSQL |
支持 |
支持 |
不支持 |
DTS的数据迁移步骤主要包括;
•
预检查:迁移任务启动之前的必经阶段,主要是对会造成迁移成功的前置条件进行检查,如果预检查失败了,那么可以根据修复方法修复后,重新进行预检查
•
结构迁移:进行结构对象定义语法的迁移,异构数据库之间的结构迁移,DTS会进行数据类型映射,并根据目标实例语法定义,对定义语法进行微调整
•
全量数据迁移:将源实例数据库中的所有数据,不包括结构语法定义,迁移到目标实例
•
增量数据迁移:指将迁移过程中,将源实例写入的增量数据迁移到目标实例
总结
通过对大部分企业系统架构组件各个层面的迁移技术介绍,让用户可以根据这些迁移技术方案将云下传统IT业务系统更平滑的迁移到阿里云,利用阿里云计算平台的产品使用户享受低成本、弹性、高性能、高可靠性、高安全、按需获取计算能力的价值及可预期的收益。