在2017游戏行业全球同服和安全攻防技术沙龙上,来自莉莉丝游戏的蒋海洋分享了《莉莉丝游戏云上运维之路》。他通过介绍莉莉丝游戏的概况、进化历程,引出了莉莉丝游戏使用的cmdb,Saltstack以及Web化技术,并且分享了莉莉丝游戏在运维方面的心得。

以下内容根据直播视频整理而成。

目前概况

莉莉丝游戏采用的是云上架构,目前拥有两个运维工程师,4款运营中游戏,500+云主机,200+RDS。线上没有一台物理、实体的服务器,也没有使用任何物理的机房。

进化历程

之前做的比较好的一款游戏是《Dota传奇》,蒋老师进入莉莉丝游戏之后初步了解过该游戏的运维情况。《Dota传奇》运维的基本方式是以txt文档来管理基本的主机资源,比如IP、数据库、游戏的服务器名字,如果需要进行操作的话使用Python写的脚本,利用里面的expect模块以及多线程进行操作,其存在的问题是速度特别慢,比如在发布版本部署文件的时候。

在做美版发行的时候,莉莉丝引入了cmdb用来管理基础的资源信息等,远程执行则使用了开源的软件saltstack来进行操作。做完这些之后,服务器的同事想要自己做制作的操作等,所以需要web化开放出来。

Cmdb

cmdb是构建自动化流程的基础,所有的资源等信息都在其中进行管理,比如游戏和配置等都是从cmdb中拉取出来的,包括里面的充值等都是从cmdb拉取。之前使用txt进行管理的时候,很多地方都有对应的东西,如果有一个地方需要进行变更的话,其他地方如果没有关联到就可能出现问题。cmdb的管理纯粹是基于云平台上的配置管理,没有物理服务器的话不用像实体机房一样关心服务器的位置、端口,只需要管理IP的信息、硬盘、ERP等。

上图是莉莉丝自制的管理平台,主要分为三层结构:业务管理,包括游戏等;拓扑模型,比如游戏的集群模块等;业务实例,每个模块下面的实例。

莉莉丝拥有的资源如上图所示,主要为云上的资源,固资编号是根据云厂商的ID得到的,又相对实例化,还涉及到后期的按项目拆分账单等。将资源都管理起来之后,底层调用了云的API,如果需要买一些组件的话只可以直接在里面点一下,客户端会联动云平台的API把资源灌到里面来,然后把资源分配给项目使用。

saltstack

saltstack是开源的快速远程执行平台,是基于Python开发的,部署简单方便,有自己的API便于进行二次开发。

最上方是一个Master,下面会挂很多minion,Master可以对minion进行远程的操作。如果在阿里云上用了很多的区域,相当于在中间加了一些Syndic节点进行统一管理。我们会根据业务关系去调cmdb里面存储的业务信息,比如需要对某个模块进行操作的时候会到cmdb里面去找需要操作的命令有哪些,然后将这些命令下发下去。执行完命令会将结果返回回来,中心Master就会看到这些返回的结果,整个的执行速率非常快。

Web

后期,一些开发同事也想用saltstack,但是纯粹的命令行会让人觉得不太方便。所以做了一个web化的东西方便使用。它也成了一个交互平台,比如想要知道增加一个模块每db需要多少机器,那么可以告诉他需要在db的集群下面开一个模块,分好机器之后告知提问者可以直接进行操作即可。Web化可以降低使用门槛,固化操作流程可以减少失误。

上图是可视化作业平台,有几个常见的功能:如果想看某个文件是否下发下去或者当前的状态,可以点击快速脚本执行,可以在下面直接进行脚本编辑,然后指定执行的目标路径、执行账户,通过配置平台选择执行的机器,按照模块把所需要的集群都勾选上,执行完之后把最后的执行结果返回回来在业务平台上展示出来。这样对于开发的同学非常方便。

心得

首先,莉莉丝的人力非常少,所以考虑用开源的软件,比如监控使用小米的open-falcon。在游戏行业,标杆行业腾讯的运维平台蓝鲸已经做到了2.0版本,自己做平台的时候也可以参考这些企业的运维平台,但是由于担心安全问题可以不直接使用。

莉莉丝使用了很多成熟的云产品,阿里云的RDS已经做得非常成熟,可以做主从同步,出现问题时也可以回滚到任意时间点,小公司使用起来非常方便,没有必要自己来搭相关数据库。这样就不需要自己做备份相关的事情,可以省很多时间和能力,而且可以动态扩容。如果用主机来搭数据库的话需要考虑到了瓶颈需要怎么做,早期成本会比较高,用RDS可以先选择比较小的量,到了一定阶段的时候再进行扩容即可。很少用到CDN做云栈,只需要用OSS上传回源。由于曾经受到了DDos攻击,所以使用了阿里云的anti-ddos进行防范。

利用好阿里云的API接口,通过写一些脚本来使用API接口可以提高效率。最好一开始就寻求专业支持,在架构设计阶段就可以联系做架构的指引,这样对于后期的维护相对简单很多。

Cmdb、Saltstack、Web化,莉莉丝游戏云上运维心得分享相关推荐

  1. Soul运维总监尤首智:企业如何从0到1建设云上运维体系

    图:任意门运维负责人尤首智 编者按:2021年12月10日,在阿里云云上架构与运维峰会上,任意门(Soul)运维总监尤首智发表了主题为"Soul云上运维架构创新实践"的演讲,和大家 ...

  2. 【案例】正浩创新:多云多资产,实现敏捷云上运维

    深圳市正浩创新科技股份有限公司,品牌名"正浩EcoFlow",是一家专注于移动储能和清洁能源领域的国家高新技术企业,是移动储能与清洁能源技术的全球行业领跑者,入选<时代> ...

  3. 业务上云后,云上运维势在必行

    随着云计算的发展,企业上云已经成为了一种必然趋势.企业上云的初衷是把复杂的IT基础设施交给云平台去管理,企业可以专注于业务与应用.从而降低企业IT运营成本,提高IT部门工作效率. 业务上云的优势 1. ...

  4. 还在为运维烦恼?体验云上运维服务,提意见赢好礼!【华为云分享】

    华为云应用运维管理服务AOM提供一站式云资源.网络.中间件.上云业务等全链路的数百种运维指标,让您一站完成云上运维. 即日起至2019年11月8日<云上运维系列活动:聆听您的声音>启动招募 ...

  5. 云时代,用对工具就能让云上运维工作事半功倍!

    在云时代,运维人员已经无法看到任何设备,也不再需要维护物理硬件的稳定性和可靠性,所有对物理设备的操作变成了执行命令和代码,在多云.混合云的云端环境下,只要用对工具,能让云上运维工作变得事半功倍. 做好 ...

  6. Linux线上运维经验分享与故障排除技巧-高俊峰-专题视频课程

    Linux线上运维经验分享与故障排除技巧-743人已学习 课程介绍         主要介绍Linux线上服务器的运维经验和实战操作过程,并介绍常见的系统故障排查思路与问题解决技巧. 课程收益     ...

  7. 阿里云发布多款云管工具,任何角色都可以轻松完成云上运维

    无论是在传统的开发过程,还是在云上,运维都是一个十分重要而又繁重的工作.随着企业规模的扩大,系统架构的复杂度在增加,部署规模也在不断扩大,控制台不再能满足其需求,需要一个便捷.实用的运维系统或者运维工 ...

  8. 2021中国数字服务大会 | 阿里云混合云新一代运维演进与实践

    简介:12月3日,2021中国数字服务大会顺利召开,大会以"数字服务.跨界融合.协同创新"为主题,邀请产学研界嘉宾,举办行业与学术论坛,共话数字服务的挑战和机遇.阿里云作为云厂商代 ...

  9. 华为云确定性运维,为政务云平台稳定可靠运行保驾护航

    摘要:在"一切皆服务"的战略下,华为云基于积累的综合治理经验,提出并实践了"确定性运维"方案. 本文分享自华为云社区<华为云确定性运维,为政务云平台稳定可 ...

最新文章

  1. Pytorch和Tensorflow,谁会笑到最后?
  2. scala reduceLeft和reduceRight执行分析
  3. 整理ASP.NET MVC 5各种错误请求[401,403,404,500]的拦截及自定义页面处理实例
  4. java通过HTTPS协议POST提交接收JSON格式数据
  5. oracle logfile sync,oracle等待事件3构造一个DirectPathwrite等待事件和构造一个LogFileSync等待事件...
  6. MHA使用非22端口的SSH配置
  7. (72)FPGA模块调用(VHDL调用Verilog)
  8. 8599元起!三星Galaxy Z Fold3/Flip3 5G折叠手机国行即将发货
  9. 【hadoop】ipc.Client: Retrying connect to server: xxx:8020. Already tried 37 time(s) RetryPolicy[Multi
  10. 中的listeners_C++中Future和Promise的一种简单实现
  11. spring 安全模块在jsp中误用引起的问题
  12. python爬虫Day1(requests基本使用)
  13. 浏览器的不兼容,归纳几点html编码要素
  14. 会计专业与计算机专业结合复合型,对会计专业学生学习计算机的建议
  15. 电脑数据传输哪款软件好用?
  16. 商汤面试题android,商汤面试经验
  17. win10重装系统后连不上公司服务器,Win10重装系统后网络连接不了,重装win10系统后不能上网解决方法...
  18. Springboot电子病历管理APP毕业设计源码010350
  19. java工程师简历的潜规则你知道吗?
  20. 从匿名聊聊被封停,看微信小程序坚持的线下策略

热门文章

  1. WTM快速开发框架学习(一)第一个工程
  2. 写给新手,从不懂到入门,一只老鸟的嵌入式入门心得
  3. 2020计算机考研复试线多少,2020考研分数线是多少?复试分数线如何划分?
  4. Flowable教程
  5. 学习记录556@flowable多人会签
  6. 快乐肥宅水--辗转相除法
  7. 有趣的C++代码(上)
  8. GoldenGate安装说明
  9. 概率质量函数,概率密度函数,累积分布函数的区别
  10. 小学课堂教学改革思路