Categories
程式開發

半年筹备,三个月迁移,揭秘华新水泥的公有云迁移之路


2020 年 1 月 16 日,华新水泥将所有业务生产系统成功迁移至华为云上。1 月 23 日,由于新冠肺炎的蔓延,武汉宣布封城,而这家数据中心位于武汉的传统制造企业,因为及时迁移至公有云,公司业务和系统运维在疫情期间均未受到影响。

“真的很庆幸,我们在这个时间节点完成了公司业务生产系统的公有云迁移,”在采访中,华新水泥数创中心系统运维部刘哲松部长表示:“整个封城期间交通管制,运维人员无法前往公司机房,但公司业务与系统运维没有受到丝毫影响,所有 IT 问题在线解决。”

据了解,整个华新水泥上云项目前后共有 30 多个工程师参与其中,包括华新水泥方的实施人员、业务测试人员、开发人员和华为方的实施人员。

为什么要上公有云?

华新水泥始创于 1907 年,是一家百年企业,在国内外共有 150 个左右分公司,员工人数约有 18000,2018 年的营收为 320 亿。

作为一家典型的传统制造企业,其核心系统都有哪些呢?刘哲松表示:“在华新水泥比较重要的核心系统包含两类,一类是生产系统,即与生产运行相关的系统,例如 DCS 控制系统,另一类是业务系统,例如我们常说的 ERP 系统、营销物流采购系统等,华新水泥的 ERP 系统是采用的 SAP,营销物流采购系统主要是一些自开发系统。”

为什么会有上云的想法呢?刘哲松表示:“这个想法我们有了很久了,同时也做了很多调研和论证,如果非要说原因,大致可以从费用和自用架构优化两个方面来讲。”

费用

大部分企业上云的主要目的是降低成本,华新水泥也不例外。在前期评估中他们发现,如果上了公有云,年度运维成本至少可以节约 30% 到 40%。其中,节约的费用主要来自专线费用、维保费用和电费。

  • 专线费用:华新水泥之前使用的是星型的网络结构,全国分公司都需要拉一条专线到武汉总公司;
  • 维保费用:上云之前,华新水泥每年需要支付高额的硬件维保费用,包括但不限于服务器、存储、网络设备、机房设施、发电机等等;
  • 电费:华新水泥两个机房每年的电费大致在一百多万,上云的话,电费可以节约 50% 左右。

自有架构的限制

选择上公有云的另一个重要原因是原本的自有架构在很多方面都有掣肘,不够灵活高效。刘哲松表示:“我们原来的自有架构会受限于运营商网络、园区电力、网络以及机器的资源利用率,同时还有资源采购周期。”

  • 运营商网络:为什么会说受制于运营商呢?举个最简单的例子,如果因为某些原因,道路光纤被挖断,那么我们能做的只有报修,没有其它办法,何时恢复,那就要看运营商的抢救速度。
  • 园区电力:一旦停电,机房的电力就会自动切换至发电机供电,这就要保证在出现问题时,发电机是可以正常使用的,不仅需要定期维护保养测试,还需要购置柴油自行加灌;
  • 网路问题:华新水泥实现了三网联通,同时接入了电信、移动和联通,但是要做到每个业务系统的实时三网联通代价较大,所以部分业务是单线网络。另外,制造型企业一般使用的是二级网络资源,在速率、带宽与稳定性方面都有所限制;
  • 资源利用率:公有云的最大特征是可以弹性伸缩,上云之后资源利用率会得到很大的提升;华新水泥的 IT 资产折旧是 8 年,其中核心设备会根据健康状态提前更换,其它设备基本是会使用到 8 年折旧周期,甚至可能会使用更长时间,而公有云提供商的设备资源通常上三到五年,相比之下,故障率会少很多。
  • 资源采购周期:通常,华新水泥的采购从提交申请,到审批、招投标定标、到货,差不多要 30 天,而云上部署 0.5-1 小时即可。

技术选型

2014 年,华新水泥主要是以虚拟化为主,使用的是微软 Hyper-V,2017 年,华新水泥与 IBM 合作上线了一套基于 OpenStack 的私有云系统,2018 年,随着公有云技术的不断成熟、用户数量的增加、云上成本的下降,华新水泥开始开始调研公有云项目,2019 年,华新水泥正式启动项目组来调研。

2019 年 3-9 月,项目组在调研了半年之后,决定要将公司系统搬上公有云。那么,问题来了,要上哪朵云呢?

据了解,华新水泥项目组先是从 IDC 报告中选择了目前中国市场份额排名前十的公有云供应商,最后重点调研了四家公有云厂商:亚马逊、阿里、腾讯和华为。然后根据现有的技术架构和需求,梳理出当前容量需求,架构设计,整体评估该项目的费用、后期长续费用及售后服务等,有的放矢地去评估每家厂商。

由于华新水泥的 ERP 系统使用的是 SAP,因此 SAP 的云上认证资质很重要。经过综合考虑,华新水泥决定在三家公有云上先后做了 POC、迁移 Demo、性能测试以及一些运维工作,结果发现这三者各有优势。刘哲松认为:“没有一朵云是完美的,各有特点,需要根据自身需求进行选择”。

  • 华为云:它的最大优势是本身就是设备制造商,在成本方面具备一定优势,但不足是整个技术栈和工具不是很丰富,互联网思维也没有其它家成熟;
  • 亚马逊(AWS):它的最大优势是技术和架构很成熟,并且 AWS 拥有一个杀手锏是可以提供 Oracle DBaaS 服务。但是 AWS 也有很多局限性,第一,AWS 在国内的数据中心主要分布在两个地方:北京和宁夏,并由国内两家运营商分开运维,这就意味着在最开始就要决定是选择在北京还是宁夏;第二,AWS 的收费模式与其它云商略有不同;第三,要考虑 AWS 公司的特殊性和中美大环境。
  • 阿里云:目前阿里云是中国公有云市场份额的第一,大致可以达到 60%-70%,但中小客户比例较大,因此对于 B 端客户的运维服务会更多地依赖外部协同。

最后,华新水泥对三家云商进行了招投标,招标前给出了一份十分详细的评分细则,包括各种资源的费用、SLA 服务等级协议、实施周期、投入人员的级别和数量等等。经过综合考虑和费用评估,最终选定了华为云。

迁移过程

2019 年 9 月到 2020 年 1 月,华新水泥整个迁移共历时三个多月,迁移过程可以按业务关联性、系统复杂度等维度,划分为 4 个阶段。

第一阶段是迁移准备: 这一阶段需要将所有业务系统关键信息整理出来,包括所有业务的关联性关系、应用组件版本、调用关系配置文件信息、IP 连接改造成域名连接等等。

第二阶段是网络环境准备: 这一阶段主要是进行云上网络环境规划和配置、专线拉通和联调、VPN 配置和专线形成冗余。

半年筹备,三个月迁移,揭秘华新水泥的公有云迁移之路 1

其中,网络环境配置是根据网络架构拓扑来实施配置网络,创建相应的 VPC 和子网, 通过专线网关连接到 IDC 网络环境,通过路由配置打通云上和云下的网络。

而 Poc 测试则是选择比较典型和核心的业务系统进行 poc 测试上云,测试出这些业务系统上云的风险点和难点,进行相应的方案规划和规避,降低风险和难点。

第三阶段是迁移独立业务系统:通过第一阶段整理的信息将业务系统分成独立的业务系统和关联的业务系统,并把独立的业务系统和主机迁移上云。

这个阶段虽然是迁移独立业务系统,但存在疏忽潜在业务流程关联的风险,需要仔细核对分析。迁移过程中也会有很多难点,例如很多业务系统使用的是 Windows 2003 32 位系统,存在很高的镜像改造风险,需要在公有云上进行稳定性测试;Redhat6.2 系统同样需要镜像改造,测试周期长,甚至可能会拖整个迁移周期的后腿;杀毒系统可能会拦截迁移工具端口,导致迁移失败;同时,还需要建立域控系统,将云上新建的辅助域控升级成为主域。

第四阶段是迁移关联的业务系统:将所有与业务关联的系统一并迁移上云。这一阶段几乎把所有的核心业务系统都迁移上云了,迁移难度和工作量可想而知。

由于这个阶段涉及到的业务系统都是相互关联的,所以在业务关联性联调和 IP 改造方面存在很大风险。与前一阶段一样,Windows 2003 32 位系统和 Redhat6.2 系统都需要进行镜像改造和测试,另外还需留意第二阶段的应用与第三阶段应用是否有相互调用的情况,如果有就要多次割接。

以 AIX 小机的 Oracle 迁移为例,华新水泥采用的方案是 XTTS(Cross Platform Transportable Tablespaces) 表空间复制。Oracle 11.2.0.4 中引入了增强版的 XTTS 技术,在数据量较大的情况下,传统的 TTS 很难满足要求,而 XTTS 则可以在生产库保持正常运行的情况下,传送所有表空间数据文件,通过不断生成增量备份进行数据恢复,最大程度减少迁移所需要的停机时间。

完成这四个阶段的迁移之后,华新水泥的下一步是实施容灾备份,包括同城容灾和异地容灾。其中同城容灾是采用华为云跨 AZ 容灾,RPO=0,RTO<15 分钟,而异地容灾采用的是跨 Region 容灾,主系统和容灾系统部署在不同城市,可抵抗地域级灾害。

实施效果

据了解,目前华新水泥迁移到华为云上的系统共有 40 余套,所有虚拟机的数量为 200+,整体数据量约为 65TB。

华新水泥整个实施方案中比较独特的一点是,它将生产系统完全迁移到了公有云上,而大多数的开发测试系统却留在了本地。为什么会选择这样的部署方式呢?

据了解,这种选型方案主要是出于两方面的考虑,一方面是为了保护资产投资,华新水泥原来自建机房的设备不可能完全变卖,为了充分利用资源,在其上运行了开发测试系统,等这部分设备快到使用寿命时,在逐步将开发测试迁移到公有云。另一方面,考虑到开发测试系统对 SLA 的要求没有那么高,目前自建机房的设备足以支撑。

经验总结

传统企业上云绝不是一件可以跟风、随潮流的事情,“迁移上云项目的整体规划和步骤是非常重要的”,刘哲松表示:“因为系统迁移会涉及到停机,而停机就意味着实际的损失。”

另外,刘哲松认为传统企业上云一定要做好整个项目组的配置,内部与外部都要有技术匹配的成员。如果完全外包,那么这个项目一定是做不好的,因为外部顾问对系统架构、系统之间的联系,甚至是系统原本就存在的“坑”是完全不清楚的;其次,如果外部顾问能力不够,那么这个项目也很难完成,从客户的角度来看,完成一个公有云项目,即使是提前做了调研和 Demo,但仍是有很多公有云中的特有设置,需要专业人士,甚至是原厂工程师来共同实施。