
科技发展使得社会节奏加快,加速企业优胜劣汰。为了让企业更具竞争力,企业都在积极向互联网学习,用互联网的思维和方法实践实现产业能力转型升级。下到传统制造业,上到IT企业,他们不仅要能够生产满足既有市场需求的产品,增加产品的科技附加值,更要有能力对瞬息变化的市场进行驾驭,使得企业能够不断前进。“天下武功,唯快不破”,电影《功夫》的台词已经成了一种社会共识。
生产过程的基本指标是质量、效率和成本。而对于互联网游戏企业来说,更快、更准,更稳把用户需求迅速转变为产品内容,就能更快把握市场先机,争取到更多盈利空间。
致力于与国内外正版内容提供商一同构建手游平台的多酷游戏(原百度游戏),在平台本身体量增长迅速,交付物快速增长的背景下于2017年正式开始建设DevOps理念指导下的运维体系。
DevOps的基本指导思想就是进行价值的交付,即指导进行快速、高效、低成本的业务价值交付。
多酷游戏的运维背景
有江湖的地方就有一帮幕后的运维。从端游、页游再到手游的游戏发展历程中,整个游戏行业的IT运维也进行了一系列方法论的积累,即标准化、自动化、平台化、服务化的建设历程。
多酷游戏已经积累了一定的自动化运维实践经验,以业内知名且应用广泛的开源组件自行搭建了一套简单易用的发布平台。应用上线、灰度发布、应用运行、应用下线,这四点贯穿在运维平台,但具体下来的细化操作基本还是依靠手工流程。
多酷游戏的交付挑战
近几年科技行业快速发展,新需求不断推动新技术涌现。业务创新脚步大大加快。
单从运维视角看,快速的发展迭代就直接意味着部署事务的急剧增加。早先积累的自动化水平如果不足以应对,就会出现各种各样千奇百怪的问题。
多酷游戏三位数的应用数量,日常的交付量非常大,频率高、交付时间非常长而且服务器的操作量很大。
当常规的运维方式缺乏体系化标准,就会逐渐满足不了业务需求,自建交付平台的效用迅速降低,运维所负担的工作压力骤然变大,易出现不可预知的隐患。再者如果发布存在非标准化内容,而且路径等内容很少做规范,出现问题故障的风险会成倍增加。
EASYOPS交付流水线
EASYOPS是优维科技(深圳)有限公司的DevOps产品,其应用交付流水线(pipeline)是在应用CMDB基础上的交付能力延伸,让IT服务变成一个可以进行无缝交付的价值链体系。
EASYOPS内置开发、测试和生产三种流水线,代表了从源代码到二进制品的生成,并且部署到各个特定环境的不同阶段。
创建模板中如果选定可复用的模板,两者默认关联。如果模板发生更新或者变化,平台会通知到相关联的应用流水线进行更新。在流水线编辑过程中,任务是流程的基本步骤,任务支持: 动作、流程、人工审批和工具。
调度引擎支持串行模式,用于执行不同 Stage 之间的任务(Pipeline Jobs);
支持并行模式,用于执行同一个Stage内部不同的任务(Pipeline Jobs);
支持分支判断,用于执行一些分支流程;
支持合流操作,用于做多分支的流程合并;
支持非常强大和灵活的输入参数设定能力。
参数设定方面。执行时输入(The Input Parameter),当任务的输入参数设定为:执行时输入,那么需要用户在执行流水线时手动输入;
映射前置输入(The Mapping Previous Input Parameter),流水线下游的所有任务节点,均可以使用它的上游所有任务节点的输入参数;
映射前置输出(The Mapping Previous Output Parameter),流水线下游的所有任务节点, 均可以使用它的上游所有任务节点的输出参数;
映射应用变量(The Mapping Application Parameter),流水线绑定到应用上,因此可以在流水线中使用到此应用的所有内置变量;
使用固定值(The Fixed Parameter)。
另外,EasyOps 的流水线钩子支持 GITALB 和 SVN钩子。其他设置比如定时集成(此能力还辐射到作业平台和调度平台,原子作业和调度流程也具备定时任务执行的能力。)、邮件通知等。
建设成果总结
标准化
在EASYOPS平台的持续交付模块中,标准化为贯穿此模块的硬性特征,包括环境管理、部署管理、发布管理、测试管理、数据管理、配置管理、架构管理等标准化。
多酷游戏在启用 EASYOPS的流水线能力之后,开发人员承接发布、开发、测试、预发布,运维支撑生产环境 的发布维稳工作,充分利用流水线能力。目前指定应用接入比例逐步升高,在现有业务需求下进行标准化的提升,提升IT运维对业务创新的支撑能力。
自动化
持续部署和运维自动化管理。目前这也是许多企业的痛点,因为很多行业的运维交付还停留在手工的操作水平。EASYOPS流水线能力属于持续交付方案的其中一环,目的就是把人从人工模式中解放,让人去做二线工作。
支撑能力
持续集成和持续交付。通过流水线打破开发、测试、运维的壁垒这个部门墙的问题,通过工具将这个交付能力建设成为一种可靠、可重复的,可持续的交付能力。大大降低业务扩张带来的交付风险,打造服务化的企业IT体系建设,直接强化IT体系对企业创新的支撑能力。
注:CMDB建设是运维工作开始最麻烦但是却又无比重要的部分,EASYOPS所提供的应用CMDB可快速支撑IT体系的配置管理。理清关系、关联信息、自动发现,然后与持续交付/智能监控深度联动。此处能力在《【干货·案例】金融行业应用型CMDB建设实录》中有详细描述。
网友评论