本文正在参加“最佳上云实践”评选,来给我们投票吧:https://yq.aliyun.com/activity/158(编号58)
咕咚是独树一帜的互联网运动品牌,全国最大的全民运动社交平台,国内颠覆用户传统运动观念的倡导者和先行者。
作为全球互联网运动社交领军品牌,目前咕咚用户数量已超过8000万每天需要响应来自全球207个国家的数千万次运动需求。
2016年5月31日,咕咚在北京宣布完成C轮融资,融资额达5000万美元,由分众传媒与方源资本携手成立的体育基金领投,SIG(海纳亚洲创投基金)、软银中国等机构跟投,易凯资本在本次交易中担任咕咚的独家财务顾问。此前咕咚A、B轮两轮融资总额为约3亿元人民币。
![8bb16d9885b7e079acd67739187b4ce232c2c45a](https://yqfile.alicdn.com/8bb16d9885b7e079acd67739187b4ce232c2c45a.png?x-oss-process=image/resize,w_1400/format,webp)
为什么要迁移?
咕咚运动有四大核心业务,分别是运动跑步、运动社交、运动赛事、运动商城,我们的活跃用户数在快速增加,对云资源的需求也在不断增长。
![492150c8e716b970de476d768424c6b2fbea1530](https://yqfile.alicdn.com/492150c8e716b970de476d768424c6b2fbea1530.png?x-oss-process=image/resize,w_1400/format,webp)
在这个过程中,我们碰到的问题如下:
- 咕咚业务主要部署在华东1可用区D,由于华东1可用区D机房无法扩容,云资源没法满足咕咚业务诉求,主要体现在缺少SSD云盘、ECS II系列实例等;
- 所使用的云资源主要是在经典网络,缺少像VPC那样的网络隔离机制,不利于内网管理及安全。
从经典网络到专有网络的迁移方案
基于上述面临的问题的考虑,我们最终选择从经典网络迁移到专有网络。迁移前的架构如下。
![760cc16198ac235a3b767bf989e8b73d7d7fdfd2](https://yqfile.alicdn.com/760cc16198ac235a3b767bf989e8b73d7d7fdfd2.png?x-oss-process=image/resize,w_1400/format,webp)
迁移步骤:
- 按照业务类型,将整体拆分为几个相对独立的业务模块;
- 在VPC中,对每个业务模块构建最小集的测试环境,包括前端接入层、业务逻辑层及数据库层;
- 测试环境中,利用DTS从经典网络的RDS做数据迁移到VPC RDS中,利用ECS镜像/快照来重建ECS环境,以全流程模拟真实业务数据做测试;
- 当所有业务模块的最小集环境及整体全部完成全流程测试后,在VPC中重建和classic完全相同的配置环境;并通过DTS将classic RDS数据实时同步到VPC RDS中;
- 选择一个发布窗口,将classic中的接入层、业务逻辑层、数据库层的云资源释放,并将可用区D中的外网SLB指向VPC中的nginx集群;
- 将域名指向为可用区E中的外网SLB IP,这样即使域名更新需要周期,但所有的访问流量都将流向VPC中的nginx集群。
下图是迁移后的架构。
![7729bb2f32bf4b149261dd5e372940b731c59ea7](https://yqfile.alicdn.com/7729bb2f32bf4b149261dd5e372940b731c59ea7.png?x-oss-process=image/resize,w_1400/format,webp)
迁移的价值
对于咕咚来说,我们的业务从经典网络成功迁移到专有网络后,能随时获取到业务所需要的云资源,另外,专有网络的网络隔离及自定义内网机制,可很好地满足内网管理及安全诉求;
我们采用的业务模块切分及最小测试集的做法,既可以模拟全流程的真实环境、又能避免大规模迁移的风险,对于业务系统之间的关系相对较复杂的企业,希望此方案可以提供一些参考。