俗话说干柴烈火一碰即着,运维加上云计算,也会起到这样的化学反应,尤其是游戏运维。游戏运维加上云计算,两者融合在一块儿,就犹如小说里面的干柴烈火掌威力大增,不仅提高了运维人员的工作效率,也对运维人员提出了更高的要求。
一个技术,一个平台,甚至是一个产业,从萌芽状态发展到成熟状态,它需要一个很漫长的过程,也可能几年、十几年。那么,云平台,带给我们高效率和便捷性的同时,大家也别忘了它现在还有一些不成熟性,还暗藏着一把情意绵绵刀,这个刀出鞘是要见血的,甚至有时候是要杀人的。什么是情意绵绵刀,就是各种坑。大家在不了解的时候,去使用云平台,可能会被坑的你晕头转向,甚至导致业务会崩溃。我们使用了云平台之后,那么一定会有一部分的工作被替代掉,那么被替代掉的这部分工作就是我们的技术工作。现在很多运维人员来讲,是不是运维人员的末日?是,也不是。基础运维,肯定会被替代掉,但是更高级一点的运维,面向业务的应用层的、开发层的,肯定不会被替代掉,而且会越来越好。那么我们舍弃了个基础运维,我们得到了什么东西?我们得到更多的是个人能力的提升。比如说,你的技术能力,比如说你的沟通能力,比如说你的思维能力,它会对你个人整体提出更高的要求。那么我们看一下,我们具体到底舍弃了哪些工作?
为什么说游戏运维碰到云计算就是干柴烈火?就是天作之合呢?这个需要从我们的具体业务类型去分析。非游戏项目包括像门户网站、社交、视频、电商等,他的产品有什么特性?
第一,他的单一性。比如说做社交的就是做社交。他的持续性,做的好,能够持续三五年,甚至更长的时间。那的稳定性,从产品角度来讲,它是稳健增长的,它是环式衍生,比如说做完社交,其他的产品都是围绕着社交去做的。这个产品带给运维的是什么呢?第一个容易标准化,第二你有足够的推动能力,它就容易标准化,它容易统一架构。在技术层面,可以更加持续的深入进去去研究。它的稳定性相对来说比较高。我们看一下游戏项目,像包括端游、手游、页游,还有现在的微端,它的特性有多重性、周期性、多变和分散式衍生。多重性是指什么?就是稍微大的游戏公司不可能支持一款游戏,他有很多款游戏。周期性,搞游戏的都知道一款游戏是有生存周期的,像现在的游戏,页游、手游生存周期一般是在一年时间,两年算长的,到三年就是奇迹。如果三年还能盈利,绝对是个奇迹,做的非常好。多变,多变是指这个项目的多变性。一款游戏从研发到上线,中间可能出现N多种变数,比如说顺利的,三个月之后就可以上线,不顺利的三个月之后回炉。它的分散式衍生,就是所有公司产品衍生的东西,都是跟当前项目没有太多关系,可以说都是独立的。所以这种特性给我们运维带来什么?一个是不容易标准化,也不易统一架构,技术结构变化比较大,稳定性相对非游戏项目来说,比较低。
游戏项目,它有一些具体的需求。因为,我们所做的一切都是按照这个需求来的。我们看看游戏公司,它对业务的需求。最高的时候,有5000个节点,在云平台上面,每天的波动。每天的波动是什么?就是增加的服务器数量和退还的服务器数量,最高的时候有800台,最少的时候有30台左右。然后有数百个项目,几十个研发团队,项目周期还不稳定,从三个月到三年。
各个项目之间,没有太多关联性,项目多平台、多语言、多版本。然后还有第三方合作的管理。大家试想一下,如果说这些需求增加到各位自己的身上是个什么场景?我们来畅想一下,假如说你的领导跟你说,我们现在有5000千服务器节点,你用Excel去搞一下,是不是觉得很崩溃?第一天可能觉得还好,有耐心的同事可能慢慢去弄,到了第二天的时候,紧接着会跟你说,今天我们这个项目增加到800台服务,其他项目减少到几百台服务器,你再重新整一遍,是不是很崩溃?
还有这种多个研发团队。多个研发团队里面,大家本公司的平时都认识,还有更多的可能,你们连面都没见过,这么多东西怎么去管理?如果要满足上面所有的需求,我们要靠人力、靠Excel是根本不可能的。不是说人员成本和管理成本,像这样复杂多变的需求,时间长了肯定会出现很多问题。
胡莱游戏HOPS平台,主要是三层,最底层还是大家所熟悉的CMDB。CMDB,除了原始的CMDB以外,还定义一个数据收集,这一层仅限于收集所有的静态资源。比如说像软硬件、项目、第三方、人。
我们把所有的操作层面放到了第二层管理平台,这一部分主要做功能整合,比如说权限、API、自动化部署、项目代码管理、成本、故障,OpenStack、公有云,我们通过API去管理。
然后第三层是我们的业务支持平台,业务支持平台主要是供向运维、产品、商务、财务去做的。
产品是驱动技术的第一因素,技术本身来讲,它是没有价值的,它只有转化成产品,不管什么样的转化,他只有转化成产品以后,有了交易,他才有价值。
我们选择云平台,我们选择一样东西肯定是跟你的需求或者说跟你的爱好有关。我们选择一门技术,或者说选择一个平台,对我们运维来讲只有两个因素:成本和需求。一定是跟自己业务相关的。怎么去计算这个成本是不是合适,其实这个是有一些公式可以计算的。采用直接的托管和采用公有云,它中间是跟你的业务有一个连接点,计算出来。在这个连接点之内,你的托管,你的自建肯定是合适的,省成本。但是对于游戏运维来讲,超过这个临界点,属于公有云,肯定省成本的。
首先有一个标准,就是可控。可控包括两个方面,一个是行为可控,第二个是人为可控。行为可控主要是指云平台上面的技术,你自己都能搞定,能hold的住,这是很重要的。第二个人为可控,是指什么呢?就是说在你搞不定的时候,你要能从业务角度上,能第一时间找到你的接口人。从目前国内云平台的环境来说,这两点缺一不可。
简洁运维是一个思想,它不是一个标准,它也不是一个概念,它是一种具有追求极致的工匠精神,它想达到的效果。所以说,简洁并不等于简单。