上云迁移实践之行

云计算发展至今已经有十余年,已从理论演变为企业数字化的必经之路。与其他技术相比,云计算在行业中的应用是有增无减。当前,业务上云已成为国家战略,各地政府纷纷发布上云政策,各行各业掀起了上云热潮。

在数字经济时代,业务上云成为企业践行数字化转型的第一步。所谓“上云”,是指企业通过网络(专线或互联网),将系统和平台从原来的IDC迁移到云端,利用云厂商的计算、存储、网络等资源提供基础服务能力。根据上云策略的不同,可以选择IaaS、PaaS、SaaS等不同的资源。

当企业明确上云战略后,随即会面临两个根本问题:

  1. 业务上云到底能够为企业带来什么价值?
  2. 企业又该如何上云?

本文将围绕以上两个问题,通过一个真实项目的实践给大家提供参考。

业务上云的价值

将业务上云是一个复杂的过程,需要解决技术、组织、运营、甚至企业战略等各个方面的问题。这个过程由企业战略发起,在多次迭代中演进云上资源和技术环境。

根据过往项目经验,我们发现很多企业在业务上云初期都面临艰难的决策,他们不清楚云计算能够带来什么,以及有何利弊。许多情况都是因为一次严重的事故造成巨大的损失,才盲目选择上云。在调研过程中,又会因为一些阻碍因素选择放弃,然后再被现实打击,再提上云议程,如此反反复复。这种被动模式让业务上云成为业务救火,严重打击企业上云信心,效果还不如意。

正确的做法应该是先了解业务上云的价值,然后再思考这些价值点能否推动业务目标的达成,从而进行上云决策和上云选型。那么业务上云到底能够带来哪些价值呢?行业有一些理解,例如:

  • 降本增效: 大规模项目在实际执行过程中,云计算不一定能够带来成本的下降。IT预算随着业务增长逐年增加。试点项目可以根据云计算灵活的购买策略,选择按需付费,降低一部分成本。无论场景如何,生产效率都明显提升。
  • 方便灵活构建资源: 云厂商提供了IaaS、PaaS、SaaS等产品。根据我们的业务需要,可以快速购买与释放。这为产品技术论证带来了灵活性,省去了传统资源环境搭建的复杂度。
  • 资源共享,提升资源利用率: 随着云原生时代的到来,云计算资源共享上升到了一个新的高度。机器资源得到了充分利用,并且业务之间互不干扰。
  • 新兴技术快速业务赋能: 各种新兴技术都会在云计算领域优先推广和示范。这为企业使用这些新兴技术提供便利,降低了入门门槛。

根据这些价值,结合企业战略和业务目标,思考上云的策略和方法,从而实现自顶而下的规划和推动业务上云。

上云迁移

业务上云是一个复杂的工程,涉及到多方面的规划、设计与沟通,需要多个部门协作。整个过程包括选云、(迁移)上云、用云、管云几个阶段。其中,上云是几个阶段中最复杂和最困难的,大多数业务上云失败都是因为迁移失败导致。

“雄关漫道真如铁,而今迈步从头越”这句话形容迁移上云再合适不过。当企业选择好目标云平台并实施上云迁移时,才是业务上云挑战真正的开始。这个过程会有各种各样的困难来消磨企业上云的意志,打击企业上云的信心,甚至动摇企业上云的决心。只有克服重重困难才能感受到业务上云的价值与魅力。

那么什么是上云迁移呢?通俗地讲,上云迁移就是将本地应用程序、数据和基础设施从传统的IDC迁移到云端的过程。根据现状调研制定完整的上云迁移方案,识别系统上云风险并制定应对措施,辅以专业的技术力量,有序、安全、便捷地进行迁移,保证业务的可用性、安全性和连续性。云的形态可能涉及私有云、公有云或混合云(即公有云和私有云的某种组合)。

华为云迁移方法论

华为云作为国内顶级的云供应商,拥有多年的业务上云经验积累,并且形成了一套完整的云迁移框架CMF(Cloud Migration Framework)。整个上云迁移框架分为7个阶段,共12个步骤,包括:

  1. 应用上云调研与评估阶段:(应用现状与需求调研、应用上云评估)
  2. 应用上云规划阶段:(应用上云规划)
  3. 架构和方案设计阶段:(目标架构设计、迁移方案设计)
  4. 目标环境部署与测试阶段:(环境部署、测试验证)
  5. 迁移实施阶段:(迁移实施)
  6. 系统切换阶段:(系统切换、业务验证)
  7. 保障移交阶段:(切换后保障、移交)

CMF以客户业务价值为核心,分步骤和阶段,有序、安全地指导企业实现上云迁移。下面,我们以一个真实的应用案例来详细介绍CMF在实际迁移过程中的应用。在这个案例中,A公司是一家世界500强大型综合汽车企业,业务遍及全球。此次上云迁移涉及多个业务系统,这些系统主要服务于全国数千家4S店线上和线下销售,属于核心业务系统。因此,客户对上云迁移的安全性、稳定性和业务连续性要求极高。这为整个迁移增加了很大的难度。

调研与评估

在明确上云战略之后,公司正式成立项目组,迅速立项并启动上云迁移工作。由于此次迁移牵涉到多个部门和人员,涉及到多个业务面和系统数量较多,考虑到公司自身情况,将上云迁移项目分多期进行,全面上云计划需要2到3年时间才能完成。为了全面掌握业务系统的现状,制定合理的上云规划,我们采用多种方式进行调研与评估。

  1. 问卷调查法:

我们制定了调查问卷,从多个上云迁移的关键特性进行问卷收集,并对各种问题提供权重值和答案分值。根据权重值和分值,我们最终得出各个系统迁移的分值。具体如下:

业务特性 系统相关业务在企业的战略地位
系统相关业务在企业的价值
系统相关业务上云企业重视程度
系统相关业务通过上云改善诉求
系统相关业务适合云上环境部署
系统相关业务方主动上云诉求
平台特性 系统的开发语言 Java C++ C#
代码可控程度 可控 部分可控 不可控
是否采用虚拟机部署 部分采用 不是
应用是否容器化 部分采用 不是
采用开源中间件 部分采用 不是
采用商用中间件 部分采用 不是
商用中间件可接受云方案替代
商用中间件可接受云上部署
数据量
可部分迁移
安全特性 黑客关注程度
安全等级保护要求
应用安全要求
数据安全要求
防病毒
运维特性 业务高可用要求
业务连续性要求
资源扩容频率
备份要求
归档要求
人员特性 管理人员对系统上云持积极态度 分管领导 积极 一般 消极
产品设计人员对系统上云持积极态度 产品经理 积极 一般 消极
研发人员对系统熟悉了解程度
业务销售人员对系统上云持积极态度 积极 一般 消极
系统运维人员对系统上云持积极态度 积极 一般 消极
客户期望产品在云端提供服务
  1. 用户访谈法:

邀请系统架构师和产品架构师深入交流和访谈,以了解迁移系统的技术细节和业务形态。这将有助于充分了解应用系统的技术现状和业务现状,为后续考虑系统迁移批次规划做更详细的规划和考量。

  1. 系统调查法:

在用户分配的安全区登录原有系统生产环境,查看分析线上系统运行情况和实际业务访问量、数据量等,根据用户线上监控平台掌握业务波峰与波谷,热点应用与非热点应用。查看并分析应用系统当前各类资源配置及资源使用率,为云上资源类型和用量评估提供更加合理参考。

  1. 工作坊法:

对于涉及面较广的迁移,独立团队或单一系统无法有效评估迁移带来的连锁反应,应该组织相关部门和团队一起参与工作坊讨论。在讨论中,应该对潜在的风险以及上下游配合进行任务分工和合作,避免因上云迁移而导致业务损失。

应用上云规划

根据一阶段的四种方法的现状调研,已经充分了解业务现状和用户上云迁移诉求,通过以上方法,统一整理,给出上云迁移策略及迁移批次,如下样例表所示:

序号 涉及系统  迁移策略 具体方法 具体描述 迁移批次 工时(人月)

1

XX系统 Rehost 搬迁 云上部署 第一批 0.5

2

XX系统 Rehost 搬迁 主机资源迁移 0.25

3

XX系统 Rehost 搬迁 镜像资源迁移 0.25

4

XX系统 Rehost 搬迁 数据迁移 0.5

5

XX系统 Remain 系统对接 网络对接 1

6

XX系统 Recharge 云产品替换 云产品替换 0.25

7

XX系统 Rehost 搬迁 云上部署 0.25

8

XX系统 Rehost 搬迁 云上部署 第二批 0.5

9

XX系统 Rehost 搬迁 主机资源迁移 0.5

10

XX系统 Rehost 搬迁 主机资源迁移 0.75

11

XX系统 Rehost 搬迁 云上部署 0.25

12

XX系统 Rehost 搬迁 云上部署 1

13

XX系统 Rehost 搬迁 云上部署 0.5

14

XX系统 Refactor 数据库重构 数据库重构 第三批 2
….. …. …. …. ….

迁移方案设计

此次项目迁移涉及很多资源,主要包括主机资源、数据库、非结构化数据、容器应用、镜像资源、仓库、安全等,针对不同资源给出不同迁移方案。

主机迁移方案:

根据上云规划,我们大量的系统需要进行Rehost迁移。当前业务在IDC大多采用虚拟机部署,操作系统采用的是CentOS 7.6,少量的产品采用的是Windows Server。华为云提供的主机迁移服务(Server Migration Service)是一种P2V/V2V迁移服务,可以将x86物理服务器或者私有云、公有云平台上的虚拟机迁移到华为云弹性云服务器(ECS)。由于服务器数量较多,在IDC和华为云上搭建了一条百兆的专线。一方面用于数据迁移,另一方面提供一些应用场景的混合云使用。

数据库迁移方案:

业务系统的数据库都是采用的MySQL,其中有部分数据库版本是8.0,有部分版本采用的是5.6,针对两种类型版本的数据库,华为云提供了DRS迁移方案。通过DRS全量+增量方式可以将MySQL数据库迁移到华为RDS MySQL数据库中。

容器迁移方案:

华为云提供了CCE容器解决方案,能够:

  • 容器编排调动服务
  • 同时支持 Kubernetes 和 Docker
  • 在 VPC 内部自行管理容器区网络
  • 支持高可用
  • 在节点安装采集探针,收集监控数据
  • 可以按需增加、纳管或自动扩容(工作)节点

针对镜像托管,华为云还提供了容器镜像服务SWR,可以:

  • 支持多版本镜像的完整生命周期管理
  • 目前是免费服务,包括免费存储和流量
  • 兼容 Docker Hub,直接用 docker 命令控制
  • 和 CCE,CCI 等服务整合
  • 支持事件触发器

安全迁移方案:

在原IDC中,安全采用的是传统IDC的防火墙解决方案,并且采用了一些商用的WAD和抗DDoS攻击解决方案进行安全加固,在操作系统层面也提供了防病毒和防篡改能力。具备一定的安全防御和防护能力。在业务迁移到华为云上,要求是 “更多更强“。华为云提供了多种解决方案:

  • 提供安全组和ACL,采用最小化开放端口和协议原则对外暴露业务端口和协议;
  • 采用IAM服务,为访问者提供最小化访问授权;
  • 采用数据加密服务DEW,管理应用敏感数据信息;
  • 采用云审计服务,对各种云资源操作记录的收集、存储和查询功能;
  • 云上还有很多第三方的安全解决方案,提供对应用和数据进行安全防护,预防攻击和数据泄露。

环境部署与测试

在迁移方案制定并完成评审后,开始测试环境的部署和搭建。首先在华为云上建立测试资源,包括云主机、云RDS和CCE集群,将原本在IDC的测试环境迁移到云端。由于测试环境的数据较小,迁移风险较低,可以直接采用互联网进行相关主机和测试数据库的迁移。

迁移完成后,业务测试团队进行相关功能测试与验证。

迁移实施

测试环境迁移完并验证通过后,正式开始对生产环境进行迁移。由于生产环境数据量大,对安全性要求很高,因此采用专线网络进行迁移。迁移完成后,验证工作与测试环境差异较大。

生产环境存在业务的波峰和波谷差异,因此必须对生产环境进行一定的压力测试,以确保云主机资源利用率能够满足波峰业务请求。此外,生产环境的数据也必须确保准确性和完整性,一旦出现数据错误或数据丢失,将无法进行业务切换。

系统切换

系统流量切换是整个迁移过程中最重要的环节,也是风险最大的环节。为了做好系统的切换,在正式切换前我们至少做了两轮的切换演练,在演练过程中不断完善我们的Runbook。在切换的Runbook里面清晰定义出切换前的准备就绪工作项,切换的具体实施步骤和团队配合方式。具体事项指定到具体的操作个人和操作时间段,详细到分钟级别。

同时制定完整的失败回退方案。

在实际的切换过程中也遇到过一些问题,例如:抗DDoS工具将正常的IP请求误认为是攻击包,导致拒绝外部正常访问流量请求等问题。通过华为云的监控日志,快速找到问题点,并迅速修复,未对业务造成严重影响。

保障移交

切换成功后,接下来一周随时监控线上资源运行情况,对云资源使用情况和业务数据进行严密监控,准确无误后正式交付给运维团队进行后期运维工作。

总结

业务上云是信息化和数字化发展的大势所趋,“工欲善其事必先利其器“,如果在迁移过程中有好的工具去辅助完成迁移,会为迁移工作带来很多便捷,少走弯路,华为云在迁移工具上还是做足了功课,此次迁移用到了很多迁移产品,为工作带来了很大便捷。

Share

发表评论

您的电子邮箱地址不会被公开。 必填项已用*标注

此站点使用Akismet来减少垃圾评论。了解我们如何处理您的评论数据