云计算发展至今已经有十余年,已从理论演变为企业数字化的必经之路。与其他技术相比,云计算在行业中的应用是有增无减。当前,业务上云已成为国家战略,各地政府纷纷发布上云政策,各行各业掀起了上云热潮。
在数字经济时代,业务上云成为企业践行数字化转型的第一步。所谓“上云”,是指企业通过网络(专线或互联网),将系统和平台从原来的IDC迁移到云端,利用云厂商的计算、存储、网络等资源提供基础服务能力。根据上云策略的不同,可以选择IaaS、PaaS、SaaS等不同的资源。
当企业明确上云战略后,随即会面临两个根本问题:
- 业务上云到底能够为企业带来什么价值?
- 企业又该如何上云?
本文将围绕以上两个问题,通过一个真实项目的实践给大家提供参考。
业务上云的价值
将业务上云是一个复杂的过程,需要解决技术、组织、运营、甚至企业战略等各个方面的问题。这个过程由企业战略发起,在多次迭代中演进云上资源和技术环境。
根据过往项目经验,我们发现很多企业在业务上云初期都面临艰难的决策,他们不清楚云计算能够带来什么,以及有何利弊。许多情况都是因为一次严重的事故造成巨大的损失,才盲目选择上云。在调研过程中,又会因为一些阻碍因素选择放弃,然后再被现实打击,再提上云议程,如此反反复复。这种被动模式让业务上云成为业务救火,严重打击企业上云信心,效果还不如意。
正确的做法应该是先了解业务上云的价值,然后再思考这些价值点能否推动业务目标的达成,从而进行上云决策和上云选型。那么业务上云到底能够带来哪些价值呢?行业有一些理解,例如:
- 降本增效: 大规模项目在实际执行过程中,云计算不一定能够带来成本的下降。IT预算随着业务增长逐年增加。试点项目可以根据云计算灵活的购买策略,选择按需付费,降低一部分成本。无论场景如何,生产效率都明显提升。
- 方便灵活构建资源: 云厂商提供了IaaS、PaaS、SaaS等产品。根据我们的业务需要,可以快速购买与释放。这为产品技术论证带来了灵活性,省去了传统资源环境搭建的复杂度。
- 资源共享,提升资源利用率: 随着云原生时代的到来,云计算资源共享上升到了一个新的高度。机器资源得到了充分利用,并且业务之间互不干扰。
- 新兴技术快速业务赋能: 各种新兴技术都会在云计算领域优先推广和示范。这为企业使用这些新兴技术提供便利,降低了入门门槛。
根据这些价值,结合企业战略和业务目标,思考上云的策略和方法,从而实现自顶而下的规划和推动业务上云。
上云迁移
业务上云是一个复杂的工程,涉及到多方面的规划、设计与沟通,需要多个部门协作。整个过程包括选云、(迁移)上云、用云、管云几个阶段。其中,上云是几个阶段中最复杂和最困难的,大多数业务上云失败都是因为迁移失败导致。
“雄关漫道真如铁,而今迈步从头越”这句话形容迁移上云再合适不过。当企业选择好目标云平台并实施上云迁移时,才是业务上云挑战真正的开始。这个过程会有各种各样的困难来消磨企业上云的意志,打击企业上云的信心,甚至动摇企业上云的决心。只有克服重重困难才能感受到业务上云的价值与魅力。
那么什么是上云迁移呢?通俗地讲,上云迁移就是将本地应用程序、数据和基础设施从传统的IDC迁移到云端的过程。根据现状调研制定完整的上云迁移方案,识别系统上云风险并制定应对措施,辅以专业的技术力量,有序、安全、便捷地进行迁移,保证业务的可用性、安全性和连续性。云的形态可能涉及私有云、公有云或混合云(即公有云和私有云的某种组合)。
华为云迁移方法论
华为云作为国内顶级的云供应商,拥有多年的业务上云经验积累,并且形成了一套完整的云迁移框架CMF(Cloud Migration Framework)。整个上云迁移框架分为7个阶段,共12个步骤,包括:
- 应用上云调研与评估阶段:(应用现状与需求调研、应用上云评估)
- 应用上云规划阶段:(应用上云规划)
- 架构和方案设计阶段:(目标架构设计、迁移方案设计)
- 目标环境部署与测试阶段:(环境部署、测试验证)
- 迁移实施阶段:(迁移实施)
- 系统切换阶段:(系统切换、业务验证)
- 保障移交阶段:(切换后保障、移交)
CMF以客户业务价值为核心,分步骤和阶段,有序、安全地指导企业实现上云迁移。下面,我们以一个真实的应用案例来详细介绍CMF在实际迁移过程中的应用。在这个案例中,A公司是一家世界500强大型综合汽车企业,业务遍及全球。此次上云迁移涉及多个业务系统,这些系统主要服务于全国数千家4S店线上和线下销售,属于核心业务系统。因此,客户对上云迁移的安全性、稳定性和业务连续性要求极高。这为整个迁移增加了很大的难度。
调研与评估
在明确上云战略之后,公司正式成立项目组,迅速立项并启动上云迁移工作。由于此次迁移牵涉到多个部门和人员,涉及到多个业务面和系统数量较多,考虑到公司自身情况,将上云迁移项目分多期进行,全面上云计划需要2到3年时间才能完成。为了全面掌握业务系统的现状,制定合理的上云规划,我们采用多种方式进行调研与评估。
- 问卷调查法:
我们制定了调查问卷,从多个上云迁移的关键特性进行问卷收集,并对各种问题提供权重值和答案分值。根据权重值和分值,我们最终得出各个系统迁移的分值。具体如下:
业务特性 | 系统相关业务在企业的战略地位 | 高 | 中 | 低 | |
系统相关业务在企业的价值 | 高 | 中 | 低 | ||
系统相关业务上云企业重视程度 | 高 | 中 | 低 | ||
系统相关业务通过上云改善诉求 | 高 | 中 | 低 | ||
系统相关业务适合云上环境部署 | 高 | 中 | 低 | ||
系统相关业务方主动上云诉求 | 高 | 中 | 低 | ||
平台特性 | 系统的开发语言 | Java | C++ | C# | |
代码可控程度 | 可控 | 部分可控 | 不可控 | ||
是否采用虚拟机部署 | 是 | 部分采用 | 不是 | ||
应用是否容器化 | 是 | 部分采用 | 不是 | ||
采用开源中间件 | 是 | 部分采用 | 不是 | ||
采用商用中间件 | 是 | 部分采用 | 不是 | ||
商用中间件可接受云方案替代 | 是 | 否 | |||
商用中间件可接受云上部署 | 是 | 否 | |||
数据量 | 高 | 中 | 低 | ||
可部分迁移 | 是 | 否 | |||
安全特性 | 黑客关注程度 | 高 | 中 | 低 | |
安全等级保护要求 | 高 | 中 | 低 | ||
应用安全要求 | 高 | 中 | 低 | ||
数据安全要求 | 高 | 中 | 低 | ||
防病毒 | 高 | 中 | 低 | ||
运维特性 | 业务高可用要求 | 高 | 中 | 低 | |
业务连续性要求 | 高 | 中 | 低 | ||
资源扩容频率 | 高 | 中 | 低 | ||
备份要求 | 高 | 中 | 低 | ||
归档要求 | 高 | 中 | 低 | ||
人员特性 | 管理人员对系统上云持积极态度 | 分管领导 | 积极 | 一般 | 消极 |
产品设计人员对系统上云持积极态度 | 产品经理 | 积极 | 一般 | 消极 | |
研发人员对系统熟悉了解程度 | 高 | 中 | 低 | ||
业务销售人员对系统上云持积极态度 | 积极 | 一般 | 消极 | ||
系统运维人员对系统上云持积极态度 | 积极 | 一般 | 消极 | ||
客户期望产品在云端提供服务 | 高 | 中 | 低 |
- 用户访谈法:
邀请系统架构师和产品架构师深入交流和访谈,以了解迁移系统的技术细节和业务形态。这将有助于充分了解应用系统的技术现状和业务现状,为后续考虑系统迁移批次规划做更详细的规划和考量。
- 系统调查法:
在用户分配的安全区登录原有系统生产环境,查看分析线上系统运行情况和实际业务访问量、数据量等,根据用户线上监控平台掌握业务波峰与波谷,热点应用与非热点应用。查看并分析应用系统当前各类资源配置及资源使用率,为云上资源类型和用量评估提供更加合理参考。
- 工作坊法:
对于涉及面较广的迁移,独立团队或单一系统无法有效评估迁移带来的连锁反应,应该组织相关部门和团队一起参与工作坊讨论。在讨论中,应该对潜在的风险以及上下游配合进行任务分工和合作,避免因上云迁移而导致业务损失。
应用上云规划
根据一阶段的四种方法的现状调研,已经充分了解业务现状和用户上云迁移诉求,通过以上方法,统一整理,给出上云迁移策略及迁移批次,如下样例表所示:
序号 | 涉及系统 | 迁移策略 | 具体方法 | 具体描述 | 迁移批次 | 工时(人月) |
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请求误认为是攻击包,导致拒绝外部正常访问流量请求等问题。通过华为云的监控日志,快速找到问题点,并迅速修复,未对业务造成严重影响。
保障移交
切换成功后,接下来一周随时监控线上资源运行情况,对云资源使用情况和业务数据进行严密监控,准确无误后正式交付给运维团队进行后期运维工作。
总结
业务上云是信息化和数字化发展的大势所趋,“工欲善其事必先利其器“,如果在迁移过程中有好的工具去辅助完成迁移,会为迁移工作带来很多便捷,少走弯路,华为云在迁移工具上还是做足了功课,此次迁移用到了很多迁移产品,为工作带来了很大便捷。