首页 存档 技术 查看内容

DevOps持续改进之道-布道

2018-3-30 13:00 |来自: 互联网 397 0

摘要: 2016年12月3日,在深圳圣淘沙酒店,运维帮、云技术、Linux中国三大社区联合主办主办了运维世界大会OpsWorld,演讲内容全程无广告,只谈技术,受到了广大观众的一直好评。本文根据刘天斯老师演讲内容整理而成。 【 ...

2016年12月3日,在深圳圣淘沙酒店,运维帮、云技术、Linux中国三大社区联合主办主办了运维世界大会OpsWorld,演讲内容全程无广告,只谈技术,受到了广大观众的一直好评。本文根据刘天斯老师演讲内容整理而成。




【运筹帷幄专场出品人:刘天斯】:大家下午好!我是本专场的出品人刘天斯,我们这个专场叫运筹帷幄,大家知道这个专场的名字是什么意思吗?我一开始也不知道,我后来搜索了一下,讲的是古代一些军队的大佬在大账里讨论作战的策略,大概是这样的意思。今天我们当然不是讨论作战的策略,我们会跟各位聊聊我们认为的这个行业的发展方向,或者是现在比较热门的技术,一些好的方法,一些好的理论,我们都可以在这个场合跟大家好好地讨论。


今天下午分享的4个主题,我发现跟我们这个专场的名字很契合,待会儿我会做第一个分享,介绍腾讯大数据怎么通过DevOps进行持续的改进。第二个分享嘉宾是来自又拍云的邵海洋老师,会跟大家分享DevOps在又拍云的实践。第三个分享的是魅族的梁鹏老师,会跟大家分享魅族技术架构在运维的演变。最后一个主题是YY的负责人介绍基于DevOpsPaaS的运维平台实践。今天下午就这样四个主题,中间会有大概20分钟的休息时间。


废话少说,下面就进入第一个分享主题,由我来跟大家进行交流。


我分享的主题是“DevOps持续改进之道布道”。我刚才已经做了简单的介绍,这里再罗嗦一下,我叫刘天斯,现在是在腾讯互动娱乐负责大数据的运营。在互联网行业已经从业了13年,也算是一个老鸟,之前在天涯,工作了6年多。PPT右侧是我的两本著作,第二本是关于Docker的,如果大家关注Docker,可以在网上购买这本书来看看。我个人最近关注的方向有自动化运维、云计算、大数据、Docker DevOps等。




这是我今天分享的大纲,总共分四大块,第一块是跟大家简单介绍一下我的DevOps观,第二点我会介绍我们布道平台在持续集成与交付这块是怎么做的。第三点会介绍布道在线服务运营能力。最后给大家做一个总结。




可能大部分人都认为DevOps无非是基于文化 技术这两个点在企业里面落地,这是大部分人之前的思维,在2015年底举行的全球DevOps峰会上,Gartner把DevOps做了进一步的划分,在文化和技术后面又细化出了过程和人。DevOps并非目标,但它可帮助您实现目标,企业的目标是更快地交付价值,DevOps是辅助我们完成这样一个目标的手段。


DevOps产生的价值,我比较认同IBM给出的解释,总共有三点,第一,它认为这个会增强客户的体验。这是比较容易理解的,第二点是提高创新能力,这个不好理解,创新和它有什么关系呢?它的说法是这样的,通过DevOps去实践,通过精益的方法论去减少我们的浪费、返工,将我们现有的价值及精力投入到更有价值的事情,创新是其中的一个非常重要的点。第三个就是更快的实现价值。


DevOps应该是永无止境的,它是一个持续改进的过程,它没有终点,它的目的是对影响交付质量的对象进行持续的改进,包括我们的技术、流程、团队,甚至企业的文化等。


那我们怎么去检验我们的软件交付过程是不是高效的?我个人总结了一个“短”五个“快”。短就是我们交付软件的开发周期要短,快就是排错、解决问题、测试、部署、反馈这个闭环一定要快,不知道大家认不认可这样的观点,一会儿我们可以讨论一下。




Gartner在去年底提出DevOps的模型,它分为四个点,除了文化、技术,它还延伸出了过程和人这两个角色。我们首先从【技术】来看,这里面加亮的部分是重点要关注的,一个是【基础设施即代码】,第二个是【一键安装程序构建,测试、部署】,第三个是【监控一切】,第四个是【连续监控】。在【过程】里面,我认为应该关注的是【持续集成】、【测序】、【交付】这几个方面,另外还要关注到【自动化的构建】,包括【自动化发布】。我觉得【失败总结】这一点是比较重要的,当我们过程失败之后,必须要知道失败在哪里,要进行总结。另外一个是一切都要工具化,一切都要版本化。除了代码以外,我们的脚本或者是配置文件都要通过版本化进行管理。在文化这部分,我认为比较重要的就是协作的文化,还有持续的改进,还有学习的文化,这三个都不难理解,但是我认为,这里面是不是还遗漏了一点?我觉得少了信息的共享、透明,我认为这是非常关键。为什么这个很重要?在我们内部定期都会组织相关的讨论会,去讨论我们项目中碰到的问题以及风险,这些都是需要关注的,另外一点就是IBM提出的一个概念,运维要“左移”,意思是运维要在开发的生命周期阶段提前介入。这样做有什么好处呢?好处是有助于运维的问题提前在开发阶段提前暴露,我认为这是非常关键的一点。


下面简单介绍一下我们服务的背景,我们为谁服务,服务什么样的平台。大家看一下我们的规模,当前的数据量每天入库7600亿条日志,大概80T,占公司总存储的26%。




这是我们的服务精细化的场景,这个背景是怎么来的?因为我们已经具备了海量的游戏数据,我们也在思考,怎么通过数据去驱动我们做精细化的运营。这也是我们目前不断在思考的。DataMore是我们思考出来的一个解决方案,它目前包括三个层次,第一个是大数据H5应用,比如说我们经常看到朋友圈大家分享的自己玩游戏的对局信息,这些数据都是由我们这边提供的。第二个是场景化的标签服务,我们会针对不同玩家打标签,打完标签就通过我们的精细化触达平台,针对性的做一些触达和营销活动。第三个是应用产品,比如说我们的游戏助手、官网,甚至是游戏里面的个人中心,大家会看到自己在游戏中的状态、成长轨迹、对战信息等,这些都可以看到,这就是游戏业务典型的一个服务化的场景。




下面再介绍一下我们的数据服务的架构,这个其实也没有太多的技术含量,基本上都是业界主流的能力,包括最左侧的游戏的数据源,它有两类,一类是游戏内的,一类是游戏外的。平台组件有三大块,一是数据接入,数据接入包括实时传输、离线传输,第二个是数据处理,包括实时计算引擎、离线引擎,第三个是数据储存,包括KV存储、DB存储、位图索引、HDFS等。我们的服务引擎这一块包括数据分析引擎、数据接口中心、运营规则引擎、用户触达中心,业务应用就是报表统计、数据分析、触达运营,总体来讲就是包括这样三块:数据采集、存储计算、应用落地。




这是我们的DataMore体系的技术架构,整个架构层次也比较简单,最上层是STGW,这是腾讯非常强大的一个负载均衡平台,再下面是二级代理。逻辑层我们现在有GoServer PHP Server。实时数据层用的都是业界主流数据库存储技术,比如TRedis、Hbase、Postgresql等。最低层是数据计算层,包括实时计算引擎、离线计算引擎。当前整个服务的PV大概是6.35亿,日发布变更15次,单次发布时间是10秒,也就是一个容器起启的时间。


下面介绍一下今天的主角“布道”。布道是我们数据服务全流程解决方案,采用了DevOps的思想实现软件的快速迭代、快速试错,最终提升软件交付的质量和达到持续改进的目的。它有几个特点,第一个是基于腾讯蓝鲸PaaS平台快速构建。蓝鲸本身就是一个PaaS平台,我们基于蓝鲸之上构建服务层的SaaS,本身布道就是基于最上层的SaaS服务。第二个是建立在DevOps的思想实践。我们这个实践思路来源于我刚才分享的Gartner发布的DevOps模型。各关键节点间之间的联系都是我们参考的样本。第三是面向运维、开发、测试、项目PM。第四个是具备持续集成、交付、部署等快速迭代的能力。第五是具备服务质量跟踪、用户舆情、持续反馈能力。




这是布道的能力体系,大家可以看一下,实际上包括两大块,一个是持续集成交付,另外一个是在线运营。其中服务质量和持续改进是贯穿整个服务生命周期。




这是布道服务层的架构,刚才提到了这一块,第一块持续集成

声明:文章版权归原作者所有 部分文章转自互联网 如有侵权请联系 [邮箱地址] 删除

路过

雷人

握手

鲜花

鸡蛋

相关分类

返回顶部