迁移案例

  • 客户背景

    大连闪链科技有限公司于2014年1月8日登记成立,注册资本为300万元人民币,在公司发展壮大的10年里,其公司逐渐拥有多款以社交为基础,开发多款爆款在线游戏,为广大用户提供丰富的娱乐体验 。大连闪链网络为了拓展本身的业务,同时为了进行多云的冗余架构,决定将一部分腾讯的业务迁移到其他友商。在调研了AWS/微软/谷歌以后,最终决定将业务迁移到AWS的东京区域。

    客户了解到麦浔科技作为aws出色的合作伙伴,愿意将迁移项目交给麦浔科技来实施。

    遇到的困难

    随着大连闪链的快速发展,东南亚国家的注册用户数量迅速增长。为了向用户提供更优质的服务以及保障平台稳定安全运营,客户计划从腾讯迁移至AWS来提供给亚洲用户更稳定的服务。但客户对AWS的了解有限,且开发和运维团队缺乏AWS云服务相关经验,需要一家经验丰富的服务商帮助其完成系统迁移工作,在持续为其提供技术支持的同时能够对其技术团队提供相关培训服务。 

    业务痛点:公司业务快速发展,东南亚注册用户量增长迅速,原有系统部署在腾讯上对亚洲用户访问稳定性与访问速度都存在一定限制。为配合业务发展需求与提高用户体验,需要将系统从原有腾讯迁移至香港区域。

    缺乏AWS使用经验: 客户的开发运维人员没有AWS 使用经验,需要服务商能够在云迁移、架构设计、产品选择、等方面提供专业的解决方案并帮助其快速完成部署。 客户希望寻找AWS经验丰富和以技术为主导的合作伙伴,能够为客户提供优秀的解决方案以及部署技术实现,帮助客户快速平稳完成迁移工作,保障业务连续性。

    建议解决方案和迁移到AWS的优势

    1. 基础架构:使用公网部署CDN和ELB来实现流量传输,通过私网部署直播系统服务、网关服务及相关服务应用系统、RDS和ElastiCache来实现系统的安全性和高可用性。多可用区域部署以确保系统的可靠性和容错性。使用不同的EC2机型如C5.4xlarge、C5.2xlarge、C5.large等进行测试和部署,能保证各业务系统可以水平扩展。

    2. 数据存储:长期存储选择S3存储桶,用于存储大量数据;数据缓存采用ElastiCache for Redis,提高数据访问速度;用户数据存储选择关系型数据库Aurora/MySQL,用于持久化和管理用户相关数据。1个3节点的ElastiCache for Redis做交易系统数据库缓存,加快效率,加快效率,通过MQ保证事务消息和对账机制,保证资金流在直播系统和交易系统里面的数额一致性。

    3. 资源监控:利用AWS CloudWatch监控和跟踪EC2、ElastiCache、S3等资源的指标,并收集相关日志数据。客户有分析应用日志数据的需求,可以利用CloudWatch提供的功能进行数据分析和监控。

    4. 账户安全:根据团队成员的工作范围创建用户,并附加相应的角色和访问策略。所有用户都启用多因素身份验证(MFA)以提高账户的安全性。使用JSON实现自定义策略,确保对资源的访问权限得到适当控制。

    5. 网络安全:通过安全组来限制最小化开放的网络端口,并严格限制入站网络范围,以确保只有经过授权的请求可以访问资源。核心资源采用私网部署,防止外网直接访问,从而保障客户VPC网络的访问安全。

    6. 数据安全:对EBS、RDS等服务启用KMS(Key Management Service)进行数据加密,以防止数据泄漏。同时,设置EC2、ElastiCache和RDS的定期快照和自动备份功能,确保数据备份的安全性。对S3存储桶启用版本控制,以便在意外删除或覆盖操作时能够恢复数据。

    7. 容灾备份:在东京区域定期自动创建EBS/DB Snapshot存储到 S3,通过S3实现跨Region自动同步备份。为用户提供有效的保护,免受任何范围灾难的影响。通过 AWS CloudFormation 在灾难发生时,能够快速在新加坡区域创建同样的基础设施,再从备份中恢复数据。

    8. CICD部署:帮助客户搭建CICD持续集成持续交付工具,通过制定版本管理规范、分支管理策略规范和流水线自动化的规范,并编写流水线脚本、yaml资源清单文件,来实现流水线持续交付、自动化运维。

    9. 微服务改造:直播平台主要分为后台服务端和前端app,后端服务端分为直播系统(答题模块、PK模块、购物、抢红包、弹幕推送、刷礼物等)、运营、计费、管理等,前端app分为安卓、IOS。后端服务直播系统采用springboot架构开发,通过将应用容器化部署在K8s中。因应用本身采用传统架构,无法满足新业务快速上线和敏捷交付需求、代码修改面影响比较广,修改代码小心翼翼、系统庞大,学习周期长。

    架构图Architecture

    使用AWS服务

    使用了如下AWS服务:

    EC2、Elasticache、Lightsail、S3、IAM、Cloudatrail、Dynamodb、Cloudfront、Route53

    项目迁移带来的效果

    在麦浔科技的帮助下,客户快速平稳将原有系统迁移至AWS东京区域并将原有架构进行微服务架构改造。

    更快的响应时间: 微服务架构可以使软件系统更灵活,能够更快地响应客户需求。通过将大型单体应用拆分成小的、独立的服务,可以更容易地对特定功能进行修改和更新,从而缩短新功能上线的时间,提高响应速度。

    更高的可靠性和稳定性: 微服务允许系统以模块化方式构建,每个模块都可以独立部署和扩展。这意味着如果一个服务出现问题,其他服务仍然可以继续运行,有助于提高系统的可靠性和稳定性,减少了单点故障的风险。

    更好的可伸缩性: 微服务允许根据需求独立地扩展特定服务,而不需要整体扩展整个应用。这种灵活性使得能够更好地应对流量高峰期,保持系统性能稳定。

    更灵活的功能更新: 微服务的独立部署性质允许团队更容易地推出新功能,同时不影响整个系统。这使得快速迭代和持续交付成为可能,让客户能够更快地获得新特性和改进。

    更好的定制化和个性化体验: 微服务架构使得针对不同用户群体或个别客户的定制化变得更加容易。通过灵活组合不同的服务,可以提供更符合客户需求的个性化体验。

    大连闪链迁移到AWS所学到的经验

    大连闪链公司在将其业务腾讯云迁移到Amazon Web Services (AWS) 的过程中,经历了一系列的挑战和学习过程。以下是他们在这一迁移过程中获得的关键经验教训:

    1. 全面的前期规划

    在迁移之前,大连闪链进行了详尽的前期规划,包括对现有系统的详细评估、迁移目标的设定以及迁移路径的设计。这一过程帮助他们识别了潜在的技术难题和业务风险,为后续的迁移工作奠定了坚实的基础。

    2. 技术兼容性与适配

    腾讯云和AWS在服务架构、API接口和工具生态上存在一定差异。大连闪链在迁移过程中深刻体会到技术兼容性的重要性,特别是在数据迁移和应用重构阶段。他们通过充分的测试和适配工作,确保了系统的平稳过渡。

    3. 成本管理与优化

    虽然AWS提供了灵活的定价模式,但如何有效管理成本仍然是一个挑战。大连闪链通过深入研究AWS的定价策略和使用情况,学会了如何优化资源配置,降低不必要的开支,从而实现了成本的有效控制。

    4. 安全与合规性

    在迁移过程中,大连闪链始终将安全和合规性放在首位。他们利用AWS提供的安全服务和工具,加强了数据加密、访问控制和审计日志等方面的管理,确保了业务的安全性和合规性。

    5. 持续的技术支持与服务

    AWS提供了丰富的技术支持和专业服务,这对大连闪链来说是一个宝贵的资源。通过与AWS技术团队的紧密合作,他们能够及时解决迁移过程中遇到的问题,加快了迁移的进度。

     

    6. 团队培训与知识转移

    迁移不仅仅是技术层面的工作,还需要团队的支持和知识的传递。大连闪链通过组织内部培训和知识分享活动,提高了团队对新平台的熟悉程度和操作能力,为迁移的成功提供了有力保障。