《泛娱乐行业技术服务白皮书》——四、泛娱乐业务保障与调优最佳实践——4.1游戏运维SRE实践——4.1.3游戏部署的自动化实践

简介: 《泛娱乐行业技术服务白皮书》——四、泛娱乐业务保障与调优最佳实践——4.1游戏运维SRE实践——4.1.3游戏部署的自动化实践

4.1.3 游戏部署的自动化实践

 

传统IT模式的“半人肉”部署实践

游戏运维的早期开服以人肉为主,分区分服务阶拆解的最原始动作包括:游戏服 务端打包->解压游戏包->变更配置修改区服务->初始化数据库(清档)->qa测试->对 外开放入口。如果今天的服务器只有一台两台没有问题,随着服务器数量增多,实践多,实践中经常遇游戏火爆的突发开服事件,而且在2011年后游戏联合运营模式出 现,人肉模式会涌现了很多问题,而且随着开服时间拉长,到一定生命周期后也面临 着繁复的合服工作,游戏运维对开服、合服做了脚本化工作,那也是自动化的早期雏 ,可勉强应对数千台规模的服务部署。

早期的版本部署/变更脚本示例:

image.png

自动化运维体系构成及结构关系图

 

shell半自动化工作,基本可以应对百至千服的常规工作,随着虚拟化普 及,游戏上云后ECS镜像功能。游戏运维会建立每个游戏服角色镜像:这个操作会让 你快速启动另一组服务器,例如你搭建完一组,共三台,游戏服1,游戏服2,游戏服 3,调试完毕后,为每个服做一个镜像,这样你就可以快速启动1组新服,很快就可以 上百组服务器的配置,在需要开新服时,你基本5分钟就可以开一组,所以为每 个不同角色的游戏服留镜像是很有必要的,同时也可以使用跨区复制功能,快速在另 一个region新服,快速完成多region部署,这些工作通过api是可以做到完全自 动化的,基本实现了数千台规模的服务部署

 

基于Ansible的自动化部署实践


最早我们用SSH写很多脚本,要用SSH连过去,也是在某一台机器上执行,不用 目标机上登陆。这种做法在相当一段时间内是我们实际使用的手段,  它实际上比 Puppet有效。但是它有一些问题:管理成本高、脚本会越来越多。部署的过程有很 基础部件需要反复部署,几乎是没法管理。后来我们用了RunDeck,它有界 面、有一定的管理能力。我们还用过Fabric,即批量执行命令,能做到类似部署的事 情。但是,目标机规模大了之后仅有管理的能力是不够的。后来我们又调研过 Salt, 不认为有太大的差别。选择Ansible主要因为丰富的相关支持,包括很多现有的组 和模块和开源的Ansible署和脚本。我们的团队不喜欢纠结。我们发现Ansible没有 太本质区别,就开始用起来。它可以配置系统,部署软件以及协调更高级的IT 务,  例如持续部署,  滚动更新。Ansible适用于管理企业IT基础设施,  从具有少数主 机的小规模到数千个实例的企业环境。具备了简单、强大、无代理的三大优势。简单 说底层就是pssh的批量逻辑,上层封装playbook执行,语法非常接近shell,从历 史的部署模式进行改造非常方便,基本实现了数万台规模的服务部署。


image.png

相关文章
|
3月前
|
人工智能 运维 自然语言处理
别再靠“救火”过日子了:智能运维,正在重塑IT服务的未来
别再靠“救火”过日子了:智能运维,正在重塑IT服务的未来
363 15
|
4月前
|
人工智能 Ubuntu 前端开发
Dify部署全栈指南:AI从Ubuntu配置到HTTPS自动化的10倍秘籍
本文档介绍如何部署Dify后端服务及前端界面,涵盖系统环境要求、依赖安装、代码拉取、环境变量配置、服务启动、数据库管理及常见问题解决方案,适用于开发与生产环境部署。
1090 1
|
4月前
|
弹性计算 Devops Shell
用阿里云 DevOps Flow 实现 ECS 部署自动化:从准备到落地的完整指南
阿里云 DevOps Flow 是一款助力开发者实现自动化部署的高效工具,支持代码流水线构建、测试与部署至ECS实例,显著提升交付效率与稳定性。本文详解如何通过 Flow 自动部署 Bash 脚本至 ECS,涵盖环境准备、流水线搭建、源码接入、部署流程设计及结果验证,助你快速上手云上自动化运维。
430 0
|
5月前
|
运维 Prometheus 监控
3 年部署经验总结:用自动化工具轻松管理 300+ 服务器开源软件
三年前接手公司IT部门时,我满怀信心,却发现部署效率低下。尽管使用了GitLab、Jenkins、Zabbix等100+开源工具,部署仍耗时费力。文档厚重如百科,却难解实际困境。一次凌晨三点的加班让我下定决心改变现状。偶然看到一篇国外博客,介绍了自动化部署的高效方式,我深受启发。
256 0
|
3月前
|
数据采集 运维 监控
爬虫与自动化技术深度解析:从数据采集到智能运维的完整实战指南
本文系统解析爬虫与自动化核心技术,涵盖HTTP请求、数据解析、分布式架构及反爬策略,结合Scrapy、Selenium等框架实战,助力构建高效、稳定、合规的数据采集系统。
爬虫与自动化技术深度解析:从数据采集到智能运维的完整实战指南
|
3月前
|
弹性计算 人工智能 前端开发
在阿里云ECS上部署n8n自动化工作流:U2实例实战
本文介绍如何在阿里云ECS的u2i/u2a实例上部署开源工作流自动化平台n8n,利用Docker快速搭建并配置定时任务,实现如每日抓取MuleRun新AI Agent并推送通知等自动化流程。内容涵盖环境准备、安全组设置、实战案例与优化建议,助力高效构建低维护成本的自动化系统。
1000 5
|
4月前
|
运维 Linux 网络安全
自动化真能省钱?聊聊运维自动化如何帮企业优化IT成本
自动化真能省钱?聊聊运维自动化如何帮企业优化IT成本
173 4
|
4月前
|
jenkins Java 持续交付
使用 Jenkins 和 Spring Cloud 自动化微服务部署
随着单体应用逐渐被微服务架构取代,企业对快速发布、可扩展性和高可用性的需求日益增长。Jenkins 作为领先的持续集成与部署工具,结合 Spring Cloud 提供的云原生解决方案,能够有效简化微服务的开发、测试与部署流程。本文介绍了如何通过 Jenkins 实现微服务的自动化构建与部署,并结合 Spring Cloud 的配置管理、服务发现等功能,打造高效、稳定的微服务交付流程。
649 0
使用 Jenkins 和 Spring Cloud 自动化微服务部署