咕咚上云之路:从阿里云经典网络迁移VPC实战

本文正在参加“最佳上云实践”评选,来给我们投票吧:https://yq.aliyun.com/activity/158(编号58)


咕咚是独树一帜的互联网运动品牌,全国最大的全*动社交平台,国内颠覆用户传统运动观念的倡导者和先行者。
作为全球互联网运动社交领军品牌,目前咕咚用户数量已超过8000万每天需要响应来自全球207个国家的数千万次运动需求。
2016年5月31日,咕咚在北京宣布完成C轮融资,融资额达5000万美元,由分众传媒与方源资本携手成立的体育基金领投,SIG(海纳亚洲创投基金)、软银中国等机构跟投,易凯资本在本次交易中担任咕咚的独家财务顾问。此前咕咚A、B轮两轮融资总额为约3亿元人民币。

咕咚上云之路:从阿里云经典网络迁移VPC实战

为什么要迁移?

咕咚运动有四大核心业务,分别是运动跑步、运动社交、运动赛事、运动商城,我们的活跃用户数在快速增加,对云资源的需求也在不断增长。

咕咚上云之路:从阿里云经典网络迁移VPC实战

在这个过程中,我们碰到的问题如下:

  • 咕咚业务主要部署在华东1可用区D,由于华东1可用区D机房无法扩容,云资源没法满足咕咚业务诉求,主要体现在缺少SSD云盘、ECS II系列实例等;
  • 所使用的云资源主要是在经典网络,缺少像VPC那样的网络隔离机制,不利于内网管理及安全。

从经典网络到专有网络的迁移方案

基于上述面临的问题的考虑,我们最终选择从经典网络迁移到专有网络。迁移前的架构如下。

咕咚上云之路:从阿里云经典网络迁移VPC实战

迁移步骤:

  1. 按照业务类型,将整体拆分为几个相对独立的业务模块;
  2. 在VPC中,对每个业务模块构建最小集的测试环境,包括前端接入层、业务逻辑层及数据库层;
  3. 测试环境中,利用DTS从经典网络的RDS做数据迁移到VPC RDS中,利用ECS镜像/快照来重建ECS环境,以全流程模拟真实业务数据做测试;
  4. 当所有业务模块的最小集环境及整体全部完成全流程测试后,在VPC中重建和classic完全相同的配置环境;并通过DTS将classic RDS数据实时同步到VPC RDS中;
  5. 选择一个发布窗口,将classic中的接入层、业务逻辑层、数据库层的云资源释放,并将可用区D中的外网SLB指向VPC中的nginx集群;
  6. 将域名指向为可用区E中的外网SLB IP,这样即使域名更新需要周期,但所有的访问流量都将流向VPC中的nginx集群。

下图是迁移后的架构。

咕咚上云之路:从阿里云经典网络迁移VPC实战

迁移的价值

对于咕咚来说,我们的业务从经典网络成功迁移到专有网络后,能随时获取到业务所需要的云资源,另外,专有网络的网络隔离及自定义内网机制,可很好地满足内网管理及安全诉求;
我们采用的业务模块切分及最小测试集的做法,既可以模拟全流程的真实环境、又能避免大规模迁移的风险,对于业务系统之间的关系相对较复杂的企业,希望此方案可以提供一些参考。