查看原文
其他

活动实录 | DevOps落地实践及电力行业案例分享

2017-06-14 优维科技EasyOps

点击上方蓝字关注“公众号”


6月10日,优维科技与数人云、中生代联合举办了DevOps&SRE超越传统运维之道(北京站)。深圳站已于五月举办,详情可点击:DevOps&SRE深圳站全回顾:DevOps+SRE落地实践+DevOps最后一棒。


黄星玲@优维科技、邱戈川@数人云、任发科@常新居士、王一男@百度分别分享了《DevOps在传统企业的落地实践及案例分享》《Scrum模式经验分享》《如何打造易用的DevOps工具链》《百度研发工具链的应用实践》,为大家带来了一场异彩纷呈的技术盛宴。




点击上方关注优维科技公众号,回复“PPT”即可领取本次演讲资料!



以下为黄星玲@优维科技本次演讲实录:


大家好,非常荣幸跟大家一起学习关于最近比较火的DevOps。今天我的演讲主要分为以下三个部分

★  第一:DevOps的全局理解

★  第二:从诸多企业实践中沉淀的DevOps落地经验

★  第三:电力行业案例分享



一、DevOps的全局理解


其实DevOps就是整个业务服务的生命周期的管理,就是把整个业务交付到各个业务价值流展现出来。分4大块:第一块就是我们所说的敏捷管理,可能大家目前最想做的这一块就是敏捷管理,以及我们要把持续交付跟敏捷做一些流程的对接,然后就是我们的IT运营管理这三块是要落实到本地的工作。


精益管理其实很出名,这个概念火了很多年了,这里的意思是整个DevOps的业务价值流可以通过精益贯穿整个流程的,每个步骤都是可以精益化的。


平常涉及到的敏捷上面中,比如说中国移动,只推DevOps做一个敏捷的团队,敏捷的价值交付,把持续交付给各地。最后落地IT运营管理,这个思维是对的,这里全部落完之后,其实这里不应该是一个单项的线,应该是一个环,从计划对需求、设计、开发、部署、运营到终止,这中间是一个环。




平台解决方案规划


这张图是产品设计的全局的规划图,但是在所有的公司都适用,以及作为运维自动化也好,devops 门户化也好,我们有统一运维的门户的,其实以前也有,像公司稍微大一点都应该有跳板机有审计的系统,都是统一门户管理的,集中统一门户管理之后有很多平台化的功能。


这个就是所说的下面的运维服务器,可能有这种管理流程,还有IT服务管理,还有运维服务管理、也有研发服务平台、有持续交付平台,有监控平台,就是这里面的IT平台都是可以分模块建设的,这些灰掉的还没有做的,其余的功能都已经做完了。





二、DevOps落地经验



构建元数据基础平台CMDB


下面可以看到这一块其实是最核心的一块东西,这里面写的CMDB统一接口层,其实说CMDB这个词有点夸张了,我一般叫元数据管理平台,我见过人做CMDB失败的在99.99%,目前没有看到一个CMDB做得很成功的。


因为我们做DevOps如果再走传统的CMDB建设的模式肯定是失败的,不可能成功。我们在到元数据CMDB平台前提是自动化的,保证CMDB里面存在的数据的状态是可用的,鲜活的,而且是实时。为什么以前CMDB会失败,人们不愿意用,因为发现以前的CMDB不准确的,不可靠的,最后还是需要人为的梳理一遍,所以就没有存在任何的意义了。



CMDB怎么建设?就是要建设元数据的基础平台,我们应该是自动化的,怎么自动化?我们在这里面首先有应用资源层还有技术资源层,这里面的自动化,比如说进入系统层的一些主机,不管你是云服务器还是物理服务器,通过平台,能够把主机上面所有的信息自动化的上报上来,它就是自动化了。


然后,还有平常发布的动作,我们发布的动作需要工具化、流程化以后。打个比方在做横向扩容的时候,一个关键的时刻就是定点,这个时刻要提前拉100台机器把我的横向扩容丢上去自动化部署,怎么做的?


 提前申请一个工单,准时执行这个工单,这个工单到一定的状态之后自动去CMDB资源池里面拉100个IP出来,就是他所说的资源池,拿到这100个池子之后去对接,去创建100个虚拟机,100个虚拟机创建完了之后拉起来之后对接自动化交付的平台,自动化把100个包推上去然后拉起来,这时候拉起来之后就做完了。但是要做这件事情这100个IP是否是可用的,是不是别人已经用过了?我的使用是不是冲突了别人?天天抢来抢去的IP冲突,这个业务怎么保证?


就是我们要实现一个闭环的功能,肯定是要把元数据基础平台搭建好的,里面涉及到的自动化的能力是没有问题的,但是有时候领导发现CMDB挺好用的.


我经常碰到上面的领导视察,告诉我最大的业务分布在哪些公司,分布到哪个数据中心,哪个数据中心有多少的机器?哪些节点是正常的,哪些节点是代备?这时候问我就蒙了,因为我真不知道,但是如果这个CMDB介绍完了,只是一个拓扑而已,你就把这些关键的拓扑出来,就是一个树状图,很简单的交付了。其实这很有用的,因为每个公司都有大屏展示。



我管这个元数据管理平台叫发动机,因为所有的自动化作业也好,持续交付作业也好,应该是基于CMDB来做的,这一张拓扑图,大家能看到,下面这个二次层面的,不管是包也好,还是主机也好,服务业好,还是人工管理的数据也好.


首先有两个数据来源,一个是自动发现,一个叫人工流程,人工流程就是企业里面的工单流程,整个工单的流程在转的过程中这种数据是有价值的,你要把它发挥出来,这些数据应该是一个回路,能够做到这样子之后不管是基础资源也好,应用资源也好,都是可以做拓扑的。


做完拓扑之后就可以做统一事件平台,也可以做关联的分析,也可以做变革的分析,也可以做监控,比如说哪天突然发现数据库的节点挂了,我要把整个的链路腾出来才能够实时的响应这种状况。所以,我们CMDB数据的鲜活性,核心是靠场景驱动的,首先是人工还是自动的,都是有动作才能触发这种鲜活性的。


这张图其实很明显,就是CMDB的概念我们应该从业务到应用往下拓扑的,不管是拓扑中间键层还是拓扑到我们的网络层,还是拓扑到物理层面层还是拓扑到人工数据层,应该是不管是向上还是向下,向左向右是随时可以拓扑出来的,这个是一个重要性,因为你能够看到这种状态我就知道哪些地方不能加了,哪些地方要扩,这个是对运营决策来说是非常重要的报表信息。



DevOps落地经验(二)



工具也是一种文化


1. 作业管理


这个工具怎么理解?我们把它理解成脚本就可以了,平时那么多,每个企业都有很牛逼的人,每个企业都会积累一堆一堆的脚本。但是这个脚本能力施展出来没有?并没有,打个比方,黑龙江他们做了一个国网体系的工具APP,把所有的通用的脚本打成一个包放在APP提供人下载,但是事实上一个企业随便一个人都可以实现,很简单,把脚本前端化就好了。


这个目标是CMDB纳管这些机器而已,因为你都纳管了这些机器,目前都已经拿到了,这里把能力提炼到按钮化,APP化了以后,后面招进来的人不需要知道脚本是怎么写的,只需要脚本干嘛就可以了,好比平常去买东西也好,我知道这个购买按钮就OK了,我在外面休假,突然有故障,我告诉你点完按钮就好了。



2、调度管理


还有调度管理,就是流程是可以把脚本串行化的,形成一个比较复杂的场景,形成一个比较复杂的场景如果把它前端提炼化,这里跟实现工具化是一个概念,不管多复杂,只要知道这个流程干什么事就好了,每天点一下就好了。


为什么一定要把能力前端化,就是我们所说的去掉人的瓶颈的能力,高端人才每天研发新的东西就好了,下面招中低端的人才,每天一个人可以做很多的事情。基于作业调度的能力,刚才所说的,把所有的脚本都可以串联起来,也可以对应一些定时任务也好,这些事情都可以自动化做掉的。


这是之前写的痛点的支撑,这个IT部门被动接受需求,就是按需求来进行开发设计,这就是我们所说的部门墙。当我们的开发测试跟运维完全是独立的时候,开发部开始写代码的时候是零基础的,只是拿到基础才知道怎么做,然后运维甚至是要测试完了之后才知道要准备什么样的服务器,准备什么样的中间键。



DevOps落地经验(三)



自动化别人先自动化自己


这个刚才有讲到,就是先从一个小的点切入,把自动化的事情做完之后才会以一点点的影响周围,扩展这个事情。自动化是一个逐步覆盖多个角色的过程,一个意思,我们做完这个事情之后第二件事都是互相影响的,因为他看你闲下来,我也想干这件事,这个是持续交付里最佳实践,版本控制、持续改进,你能看到这里面开发做的事、测试做的事、预发布做的事、生产做的事,里面很多事情都是重复的。


重复的工作,你自动化,工具化了,这个工作就不存在了。比如说开发完了,他每天开发完了,提交完应该会有一个自动化的单元测试的,测试这里应该有一个机动化的集成测试也好,或者是手工测试也好。前面开发做完的动作对于我们来说只是照搬而已,预发布也好,运维也好,都是一样的。


这里只需要做到标准化,开发测试到运维,基础管理是标准化的,应用架构是标准化的,当我们把所有的事情做成标准化、无状态化、微服务化的时候,这些东西就特别的简单,点一下按钮的事情,而且整个的交付过程一定要可视化的,我要知道目前的进度到底是哪个阶段了。



三、电力行业案例分享



给大家分享一下电力方面的运维,这些痛点大家都有。比如说简单的重复问题,事后处理、就是重监控,少处理的模式。还有缺乏高效的IT运维机制,就是缺乏安全运维的工具,这一点都可以细化出来自动化做这件事情,其实没有想像中那么难,因为主要是被救火式的运维压在身上太痛苦了,但是我们要提前把这个痛苦的事情做了,不然的话会出现问题的。


当我们提前把这事情做了,形成良性的循环,我们能做的事情越来越多,所以我们拒绝背锅,背锅很痛苦的,之前不知道背了多少锅。这个是给客户做的DevOps运维平台做的事情。


第一个CMDB平台基础,第二个是平常的自动化的巡检,因为他们有DBA巡检,或者是业务巡检,是可以自动化的,而且自动化之后有CMDB有故障自愈的。然后自动化的部署平台,就是我们的持续交付系统,可以做自动部署或者是一件安装。


然后自动化的作业,IT运维分析,这个很广,涉及到基础的监控信息,也涉及到业务监控信息,就是会把业务相关的信息或者是持续发布的频率,发布失败的信息全部画成多维护的KPI的考核指标,我要知道到底这个业务有多烂,就是IT运营分析是很重要的。


我们还是先做CMDB+自动化的作业,二期做持续交付这块。下面基于一些自动化的动作做持续改善的过程,这里在devops 里面做整体的实施的过程是有先后顺序的,而且有策略的。


打个比方,电网里水很深的,当初做这件事情特别大的质疑,为什么抗拒你做这件事情,大家以为你做这个事情可能会影响到部分工作人员。但是其实并没有,因为你跟上后面会越来越好,只会影响到外面厂商的事故。第一期做完这个是怎么切入的?


先给他们做CMDB,做了之后做自动化的作业,发现平常做的数据库巡检全都自动化特别的闲,别的部门都眼红了,眼红了怎么办?过来学,然后提供接口,CMDB出来可以把CMDB接口暴露给他们,他们也想做。


这是公司产品的功能地图,可以参考一下。以上就是我今天分享的内容,谢谢大家。


★ EasyOps企业版已升级到V_2.26.0,更多最新功能体验,点击阅读原文即可申请试用!

★ 敬请期待下期内容:王一男@百度 演讲实录

★ 关注公众号回复“PPT”即可获取本次演讲资料


相关阅读:


报名最后三天 | DevOps落地,这里有几个案例想和你聊聊!

腾讯大梁:DevOps最后一棒,有效构建海量运营的持续反馈能力

活动实录丨SRE在传统企业中的落地实践


优维科技专注于为企业转型升级实现”互联网+”能力提供IT动能, 我们强调在安全、稳定的前提下,实现企业的精益IT管理能力。为其提供如下服务内容:


  1. 交付全栈DevOps运维平台,帮助客户提高服务质量,降低IT运行成本,提升IT组织效率。提供互联网运维最佳实践咨询服务,包括但不限于:组织及人员优化/流程再造/运维规范与标准化等。

  2. 提供运维优化及技术架构优化服务,例如性能优化/微服务架构/服务化平台等


您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存