-
企业上云迁移方法论
概述
新钛云服作为专业的云管理服务商,具备成熟的上云迁移方法论,同时能够熟练的使用云迁移相关工具,结合客户和项目的具体情况,为客户提供完善的上云迁移解决方案,并高质量的完成云迁移项目。
新钛云服上云迁移的主要任务和流程示意图如图1所示:
图1 云迁移任务和流程示意图
本文档后续章节将主要围绕图1所示的上云迁移任务和流程示意图进行细化讲解。
任务1:制作基础的SOW
SOW(Statement of Work,工作说明书)是对项目所要提供的产品或服务的叙述性的描述。从一定意义上来说,SOW可以视作合同的一部分,也可以以合同附件形式存在。
在上云迁移项目中,基础的SOW必须包括如下内容:
- 执行摘要:简要介绍客户的业务情况、取得的主要成绩以及当前基础设施的概要。建议在本部分,加入客户对云迁移项目的预期概述。
- 里程碑和交付物的概要:在本部分,建议以表格形式给出项目阶段、任务、交付物。
- 资源定义:明确我司需要配备的人力资源情况,包括:
- 角色
- 数量
- 岗位要求
- 工作内容概述
- 迁移项目范围定义
- 项目成功标准定义
- 项目截止日期
- 旅行以及其他可能产生额外费用的事宜定义:明确这(些)部分额外费用由谁支付,以及限额情况。
- 项目假设条件:客户需要向我司提供的支持,在此部分列明,例如:
- 迁移前的数据备份
- 提供操作系统、ERP产品等的license
- 提供VPN连接方式和授权
- 联合进行测试以
- 项目验收
- 不包括在项目范围内的事宜说明:在此部分列出非包含在项目中的一些事情,例如,渗透测试等。目的是让客户对项目范围内不包括什么也有明确的认识。
- 项目范围变更机制
- 项目沟通机制
- 甲方乙方联系人信息,包括:
- 姓名
- 职级
- 地址
- 邮箱
- 电话
任务2:调研需求
调研需求阶段的主要工作是了解客户现状、收集客户需求。
常用的需求调研手段包括:
- 访谈:包括与关键干系人的一对一访谈以及集中会议等形式,其中关键干系人包括
- 管理层:CTO、CIO等。从该干系人处获得其对项目预期的理解,以及对项目的支持。建议在项目启动会上,由这些角色表达对项目的支持至关重要。
- 技术人员:
- 系统管理员
- 数据库管理员
- 网络管理员
- 安全工程师
- 备份工程师
- 主要开发人员
- 业务人员:系统/平台的主要用户代表
- 第三方人员:如第三方系统开发商
- 登录服务器(按需,与客户协商并得到授权)
- 查看监控信息(按需,与客户协商并得到授权)
- 查看原有运维管理系统(按需,与客户协商并得到授权)
调研需求时,可以使用附录中的《云迁移咨询项目初步交流材料.xlsx》。
调研的主要内容有:
- 网络线路情况
- 网络拓扑信息
- 网络配置信息
- 机柜位置图(如有)
- 应用架构情况
- 数据库信息情况
- 服务器的当前负载情况
调研需求阶段的输出物为《需求分析报告》,其主要内容包括:
- 项目预期是什么
- 当前的网络架构、系统架构、数据架构
- 初步的云架构设计方案
任务3:制定迁移计划
《迁移计划》是指导整个迁移过程最重要的文件,其主要内容必须包括:
- 当前系统架构图
- 待迁移资源列表
- 云上架构设计
- 高可用架构
- 负载均衡体系设计
- NAT体系设计
- VPN体系设计
- 弹性IP体系设计
- 云上网络规划
- 云上资源规划
- 迁移方法
- 系统迁移方法(具体方法可以参照任务5:测试性迁移部分)
- 数据库迁移方法(具体方法可以参照任务5:测试性迁移部分)
- 监控配置
- 安全和控制措施
- 网络安全控制措施:
- ACL
- 安全组
- DDOS防护
- 系统安全控制措施:
- Linux & Windows 系统账号
- 系统开放的端口
- 应用安全控制措施:
- WAF(Web Application Firewall)
- 运维安全控制措施:
- 堡垒机
- 云平台帐号控制措施:
- MFA(多因子认证)
- 减少不必要的账号
- 减少不必要的过度授权
- 数据安全控制措施:
- 数据加密
- 数据备份
- 数据恢复测试
- 网络安全控制措施:
- 迁移步骤
- 测试性迁移
- 正式性迁移
- 风险分析:
- 人力资源风险
- 项目进度风险
- 业务切换方法和操作步骤
- 确定业务切换所需要的时间窗口时,必须充分评估迁移过程中的突发事件处理
- DNS全球生效时间的问题处理
- 迁移验证与测试:
- 甲方提供业务级测试用例,甲方负责业务验证
- 乙方提供系统和数据库级测试用例,乙方负责系统和数据库验证
- 回滚方案
- 系统回滚方案
- 数据库回滚方案
- 整个项目的完整WBS(Work Breakdown Structure,工作分解结构)
任务4:准备基础设施
按照迁移计划中的云上网络规划、云上资源规划购买相应的云产品,基础设施购买完成后,按需进行系统初始化、连通性测试、登录账号、应用帐号(如RDS for MySQL等)验证等工作。
任务5:测试性迁移
按照迁移计划中的测试性迁移过程将客户云下系统迁移到云上。按照资源性质不同,可以采用不同的迁移工具:
- 系统迁移:通过公有云提供的系统迁移工具或者重新部署应用的方式,将客户系统整体性搬迁到云上。使用的工具包括:
- 使用云提供的原生工具(建议对老旧、没有开发维护的系统使用):
- 阿里云:服务器迁移中心(Server Migration Center,简称SMC)是阿里云自主研发的迁移平台。使用SMC,可将您的单台或多台迁移源迁移至阿里云。迁移源(或源服务器)概指您的待迁移IDC服务器、虚拟机、其他云平台的云主机或其他类型的服务器。
- 华为云:主机迁移服务(Server Migration Service,简称SMS)是一种P2V/V2V迁移服务,可以把X86物理服务器或者私有云、公有云平台上的虚拟机迁移到华为云弹性云服务器。
- AWS:服务器迁移服务(Server Migration Service,简称SMS)可以更加轻松快速地将成千上万的本地工作负载迁移到 AWS。借助AWS SMS,可以自动执行实时服务器卷的增量复制、对其制定计划以及进行跟踪,从而能够更轻松地协调大规模服务器迁移。
- 重新部署应用(建议对新的系统使用)
- 使用云提供的原生工具(建议对老旧、没有开发维护的系统使用):
- 数据迁移:
- 使用云提供的原生工具:
- 阿里云:数据传输服务DTS(Data Transmission Service,简称为DTS)数据迁移功能支持同构或异构数据源之间的数据迁移,同时提供了库表列三级映射、数据过滤等多种ETL特性,适用于数据迁移上云、阿里云实例间迁移、数据迁移下云等多种场景。
- 华为云:数据复制服务DRS(Data Replication Service,简称为DRS)是一种易用、稳定、高效,用于数据库在线迁移和数据库实时同步的云服务。DRS围绕云数据库,降低了数据库之间数据流通的复杂性,有效减少数据传输成本。
- AWS:数据库迁移服务DMS(Database Migration Service,简称为SMS)可帮助快速并安全地将数据库迁移至AWS。源数据库在迁移过程中可继续正常运行,从而最大程度地减少依赖该数据库的应用程序的停机时间。AWS数据库迁移服务可以在广泛使用的开源商业数据库之间迁移您的数据。
- 数据导入导出:例如使用MySQL dump或者Percona XtraBackup将MySQL从线上导出后再导入到云上的PaaS RDS for MySQL或者自建的数据库中。
- 使用数据库复制技术(如MySQL的Master-Slave模式等)
- 使用云提供的原生工具:
任务6:正式性迁移
注意
建议在正式迁移之前,对系统进行全量备份,并验证备份是成功的。
按照《迁移计划》中的正式性迁移过程将客户云下系统迁移到云上。
系统迁移和数据迁移的方法参照“任务5:测试性迁移”。
在正式迁移过程中,对迁移过程进行详细记录。迁移过程记录样例可以参考如下的文件:
任务7:阶段性验证结果
在正式性迁移结束后、在切换业务前,由测试工程师和业务人员按照《迁移计划》中的“迁移验证与测试”方法进行阶段性结果验证。
任务8:切换业务
按照《迁移计划》中的“业务切换方法和步骤”进行业务切换。
切换业务的方法和步骤主要包括:
- 在原有环境中的入口节点上配置Nginx代理到迁移后环境(解决DNS全球生效的问题)
- 修改DNS配置
任务9:验证结果
在切换业务后,由测试工程师和业务人员按照《迁移计划》中的“迁移验证与测试”方法进行业务切换后的结果验证。
任务10:回滚
按照《迁移计划》中的“回滚方案”进行系统和数据回滚。
项目验收
提交验收报告,由甲方签字确认验收结果后对项目结项。
附录:参考文献
- 阿里云服务器迁移中心(Server Migration Center,SMC),https://help.aliyun.com/document_detail/121581.html
- 阿里云数据传输服务(Data Transmission Service,DTS),https://help.aliyun.com/product/26590.html
- Percona XtraBackup Documentation,https://www.percona.com/doc/percona-xtrabackup/LATEST/index.html
- 六种常见云迁移策略,https://www.jianshu.com/p/2d29fc12605e
作者:胥峰