品友互动
一、项目概述
公司介绍:
品友互动游戏公司,是一家专注于创造高质量游戏体验的拓展全球游戏开发公司。自从成立以来,一直致力于为全球玩家提供最前沿、最创新的游戏产品。公司的愿景是创造一个让玩家沉浸于奇妙世界的游戏世界,为玩家提供前所未有的互动体验,公司的核心价值观是创新、质量和玩家至上。通过不断创新、追求卓越品质并关注玩家的需求,才能制作出真正意义上的好游戏。
作为一家面向海外市场的游戏制作公司,品友互动游戏制作公司与全球多个发行商和合作伙伴建立了稳固的合作关系,共同将游戏推向更广泛的受众。品友互动的游戏已经在多个国家和地区上线,并获得了广大玩家的高度评价和认可。
项目背景:
随着用户的需求多样化,品友互动公司当前的架构形式遇到了瓶颈,需要更快的迭代,更高效的资源利用率来承载用户用量和多样化需求,希望在AWS云上实现业务的弹性扩缩容,以保证为突增的用户提供稳定的服务。品友互动公司希望通过此次迁移调整实现以下能力:
l 提高效率和资源利用率:
客户希望业务部署到AWS之后,通过托管服务以及AWS解决方案能力以实现更高的资源利用率,提供更高的效率。
l 快速部署和弹性扩展:
客户希望在AWS上实现业务的快速部署和自动伸缩的弹性,以提高业务的可用性。
l 管理和维护的简化:
通过使用AWS云上托管服务以及运维工具及相关解决方案,简化运维人员的运维工作。
l 跨平台和可移植性:
应用程序更具灵活性和可扩展性,能够在不同操作系统和云平台上运行。
二、方案架构设计
架构图:
基于AWS的架构示意图
AWS架构说明:
该架构主要目的是通过对后端应用功能模块的拆分,分别部署到AWS EC2上。通过前端NLB来解决用户访问压力。整个架构说明如下:
1. 业务主要使用的资源有Amazon EC2(EKS和ECS的节点),、Amazon Redis、Amazon RDS、CloudFront、Amazon S3、NLB、AWS GA等;
2. Amazon EC2配置部署AutoScaling Group,以此自动的根据部署的应用所请求的资源量来动态的伸缩;
着重说明下:采用了Microsoft IIS, Microsoft SQL Server, 和 Microsoft Active Directory作为核心服务,以支持一个物联网安全身份认证生态系统的稳定运行和安全管理。
Microsoft IIS承担着为物联网安全身份认证生态系统提供可靠运行环境的重任。它不仅确保了网站前端页面的持续可访问性,而且还负责处理用户与网站之间的动态数据交互。IIS的稳定性在处理高流量和复杂请求时表现得尤为突出,这对于客户系统在高峰时段保持流畅的用户体验至关重要。
Microsoft SQL Server ,Amazon RDS for SQL Server 的高性能和可靠性确保了后台交易数据的快速读写操作,同时其高级安全特性保障了数据的安全性。通过精细的数据库管理和优化,我们能够为客户提供一个既稳定又高效的数据库解决方案。
Microsoft Active Directory为Windows Server操作系统提供了强大的身份验证和权限控制功能。通过精心设计的用户账户和组策略,我们实现了对Windows资源的精细化管理,确保了只有经过验证的用户才能访问相应的系统资源。Active Directory的集成不仅简化了身份验证流程,还提升了整个系统的安全性和合规性。
通过部署Amazon EC2实例并采用Windows Server 2019的基础AMI镜像,为客户快速搭建了一个强大的Windows Server操作系统环境。利用Amazon EC2的弹性,客户可以根据业务需求动态调整资源。此外,通过Session Manager或远程桌面服务,客户能够轻松地进行远程管理和操作,极大地提高了运维效率。参考文档见:北京品友互动信息技术股份公司-补丁自动化管理.docx
Amazon Directory Service使用了Amazon Directory Service中的AWS Managed Microsoft AD来无缝集成Microsoft Active Directory。这种集成使得SQL Server数据库能够利用Windows身份验证,从而提高了身份验证流程的安全性和便捷性。当用户尝试访问加入信任域的SQL Server数据库时,身份验证请求会自动转发到AWS Directory Service,确保了身份验证过程的顺畅和安全。
3. 采用S3来存储静态资源,并提使用CloudFront对外提供访问。
4. AWS RDS,配合多AZ部署,实现高可用,简化在云中设置、运营和扩展数据库的过程。
5. 使用CloudWatch,设置适当的监控和日志记录机制,实时监测应用程序的运行状态和性能。对容器编排平台和应用程序进行调优,以提高性能和可靠性。
6. 使用AWS Backup,做RDS数据的备份,容灾,还原等操作。
7. 使用ElastiCache作为用户登录信息,游戏状态的缓存,提供高速访问。
8. 使用AWS GA为全球用户提供游戏的加速访问。
9. 使用Route 53托管客户的域名。
10. 使用WAF保证应用层流量的安全。
业务流程说明:
1. 用户使用手机登录APP,访问的页面先经过CDN加速返回给用户。
2. 用户输入账号密码信息,账号信息会通过NLB传递给前端服务,前端服务查询RDS中的用户信息,通过验证后返回给用户app,并加载用户配置信息到redis中。
3. 用户登录后,用户在使用游戏APP过程中,通过AWS GA与NLB交换数据流量,并将游戏的状态信息存储到ElastiCache中。
4. 管理员通过跳板机来管理后端的游戏服务器。
5. 通过CloudWatch + SNS服务来实现AWS托管服务的监控告警功能。
6. 使用CI/CD解决方案来快速的更新和发布新版本的游戏。
7. 整体架构包含高可用设计,所以当可用区A出现故障,系统可自动切换至可用去B,保证了业务的稳定性。
三、卓越运营
品友互动客户需要在AWS云中建立完善的监控检测体系,通过使用Amazon CloudWatch来实现。Amazon CloudWatch是一种面向开发运营工程师、开发人员、站点可靠性工程师 (SRE) 和 IT 经理的监控和可观测性服务。
CloudWatch为您提供相关数据和切实见解,以监控应用程序、响应系统范围的性能变化、优化资源利用率,并在统一视图中查看运营状况。CloudWatch以日志、指标和事件的形式收集监控和运营数据,让客户能够在统一查看在AWS上运行的资源、应用程序和服务。还可以使用 CloudWatch 检测环境中的异常行为、设置警报、并排显示日志和指标、执行自动化操作、排查问题,以及发现可确保应用程序正常运行的见解。
轻松收集和存储日志
Amazon CloudWatch Logs 服务让您能够以近乎实时的方式收集和存储来自资源、应用程序和服务的日志。
ü 内置指标
从分布式应用程序(例如使用微服务架构构建的应用程序)收集指标非常耗时。借助 Amazon CloudWatch,您无需执行任何操作即可从超过 70 种 AWS 产品(例如 Amazon EC2、Amazon DynamoDB、Amazon S3、Amazon ECS、AWS Lambda 和 Amazon API Gateway)收集默认指标。
ü 自定义指标
Amazon CloudWatch 允许您从自己的应用程序收集自定义指标,以监控运行性能,排查问题和发现趋势。用户活动是您可以在一段时间内收集和监控的自定义指标的示例。
Ÿ 通过控制面板查看统一运作视图
Ÿ 通过 Amazon CloudWatch 控制面板,您可以在统一视图中创建可重复使用的图表并可视化云资源和应用程序。
四、品友互动客户收益
4.1可用性提高
使用AWS并利用多区域(Region)和可用区(Availability Zone),使整体架构更为稳定,保证了客户Trucker Path业务、海外Chime房地产业务产品竞争力。
4.2成本优化
迁移是一个整体技术架构的优化改造过程,通过本次迁移,客户整个业务无单点,无耦合,花更少的钱,性能提高。
4.3合规性提高
利用VPC、安全组服务,提高业务系统安全可靠;利用AWS S3,灵活应用存储服务,归档成本低,用户长期保存数据,符合国际监管要求。
4.4减小运维压力
客户使用了EC2、RDS成熟产品,减少数据库上的运维压力,将重心放在业务创新上。
4.5满足更高容灾要求
用户主要业务运行在全球Region,通过北美多Region部署异地灾备中心,从而满足业务系统运营持续性要求。