[转载]DevOps在传统企业的落地实践及案例分享
内容来源:2017年6月10日,优维科技高级解决方案架构师黄星玲在“DevOps&SRE 超越传统运维之道”进行《DevOps在传统企业的落地实践及案例分享》演讲分享。IT 大咖说作为独家视频合作方,经主办方和讲者审阅授权发布。
摘要
在传统支撑模式无法满足业务价值快速交付要求的情况下,传统企业应该如何引入DevOps能力进行突破创新,本次分享将从以下几个方面具体探讨DevOps如何与传统融合进而落地:
1.DevOps的整体框架及落地方法探讨;
2.DevOps落地关键点之一:IT元数据平台的重要性及设计标准;
3.DevOps落地关键点之二:持续交付在传统企业的融合方法探讨;
4. 电力行业案例分享。DevOps整体体系框架
DevOps是一连串的工程实践的有机组合,其中包括敏捷管理、持续交付、IT服务管理等等。
DevOps是关注整个业务/应用/服务生命周期的管理,把业务和IT的战略进行了对齐。
DevOps以精益思想为基础,强调自动化、拉动式、“拒绝浪费、创造价值”等。
从软件研发模式看DevOps
目前的“瀑布流”模式开发中间有很多部门墙,从研发到测试再到运维,它们中间是完全断层的。断层的理念会导致我们在研发的过程中测试和运维都无事可做,这就是一种浪费。
现在做的敏捷迭代、测试驱动开发让我们组成小team模式。这种模式以业务价值流来进行交付,要能够保证快速交付产品、模块,并且是可以独立运行的。
DevOps让团队共享面向客户的价值、共享集成目标、共享质量责任。
DevOps也让运维的作用变得更加突显,此时需要全新的思维/平台/方法论来实现Dev的软件快速交付到Ops阶段,并且能够稳定地运营。DevOps的落地经验谈
移动互联网时代的业务特征就是快!产品的决策快、推出快、迭代快、变革快,快能抓住机遇、掌握主动。
对IT支撑也带来了一些挑战,例如快速交付产品、IT支撑可灵活扩展、更高要求的客户体验、项目时间紧、需要快速响应业务/需求变化。
无法快速响应业务激增的需求:新型互联网业务对资源需求的波峰波谷现象更突出,服务对外开放使业务量的不可预估。目前临时业务无论高峰、低峰期均需要大量的人工介入,系统灵活扩展性不足。
系统维护难度高:支撑系统X86分布式集群架构改造后,应用主机多,故障定位困难;缺乏自动化的系统处理,需要大量的人工介入,处理时间长,对维护人员技术要求非常高。
不能实现敏捷开发:需要开发人员对每台服务器进行复杂操作才能完成部署,需求测试环节需要根据业务依赖关系逐一测试,开发难度和上线效率不高,很难做到敏捷开发,快速发布,持续集成。
传统架构架构简单,运维快速定位,快速发布。但支撑内部整体目标架构没有统一的规划设计,系统烟囱式建设。
转变为云化架构后,通过核心云构建,实现资源共享,和设备资源层形成联动,实现应用的弹性伸缩。但是云化架构比较复杂,需要运维过程智能化,自动化转型。
我们如何提高产品交付给客户的速度、如何改变产品更快更好满足我们客户、如何恢复故障不至于影响我们的客户、如何更快通过我们的努力获得客户认可?
打通市场需求、开发、测试、发布、部署上线、运维等各环节,促进需求、开发、测试、运维团队更紧密地合作,敏捷开发,持续交付、自动运维,提高支持系统的生产、交付效率。
理念与价值先行
通过持续服务交付价值链打破孤岛,整合开发和运维的能力成为一个协作的团队。进行端到端持续服务交付流程的变革。对新的应用和服务,加快且缩短实现价值的时间。不影响安全性、兼容性和性能。顶层设计、全局规划
这张图是我们产品设计的全局规模规划图,但在所有公司都适用。以后无论是做运维自动化还是DevOps整体门户化,都是有一个统一运维的门户。从小做起,Start Small
基于某个角色、某个场景从小做起,从自己做起。基于某个系统或者某个功能域来实施导入,切忌贪大求全。构建元数据基础平台CMDB
要构建元数据基础平台CMDB,应该是自动化的。
CMDB成为IT运营管理平台的核心元数据。CMDB数据的“鲜活性”,核心靠场景驱动。
CMDB分核心模型和扩展模型。核心模型是业务、应用、主机和程序包;扩展模型是基于这个实例的关联对象。建立以应用为中心的资源管理模型。
工具也一种文化
作业管理,一方面把运维的脚本能力可视化,另一方面也在提高运维的效率和质量。
调度管理,提供面向复杂事务的能力封装。
基于作业和调度能力,面向角色场景化收敛和归类各类能力。
好的经验,通过自动化的手段沉淀,工具化,极简管理过程。工具是真正推动变革的有效手段,自底向上的核心手段。组织二元性
服务主管,对IT服务及时性相应负责,类似Scrum的PO。
DevOps工程师,有义务提高和维护自动化流程,构建完整的自动化过程和工具,提升效率。
把关人,负责监控IT服务的运行状态和下一步发布的进展。
可靠性工程师,监控部署过程中的服务并处理正在服务执行中产生的问题。
流程主管,领导并促进团队,这个角色类似于在Scrum中的Scrum Master。
运维交付团队。分资源交付团队、应用交付团队、运维研发团队。运维研发负责运维交付能力自动化。
开发测试团队。设立测试研发团队,负责测试能力自动化。
DevOps研发团队。负责从持续交付的角度端到端的能力集成。
服务主管、流程主管角色不变。
如上图所示,等待时间和实际所用时间相差很大,这中间的浪费非常大,这就是部门墙导致的。我们需要保证每一个运转的中心都是一直在工作的。不管是需求、开发、测试还是运维,都应该是拉动式的,因为只有他自己才知道当下处于运行状态还是空闲状态。自动化别人,先自动化自己
自动化是一个由点到线到面的过程。要先从一个小的点切入,把自动化做完之后才可以一点一点影响到周围,进行扩散。
自动化是一个逐步覆盖更多角色的过程。做完一件事再做第二件事的时候,它们都是互相影响的。
自动化也是一个环境逐步覆盖的过程,先生产,再测试,再开发。持续交付是最佳的DevOps实践
从上图可见,开发、测试、预发布和生产所做的事有很多都是重复的。如果能把这些自动化、工具化,重复的工作就不存在了。
还要做到标准化。从开发、测试到运维,基础环境和应用架构都是标准化的。当我们把所有的事情都做到标准化、无状态化、微服务化的时候,这些操作将会变得特别简单。并且要把整个交付的过程可视化,要知道进度到了哪个阶段。构建面向应用的最强驱动力
CMDB系统要实现向资源管理系统的过渡,应用的变更场景最终是对资源的变更,应用的状态最终是由其资源的状态来决定的。
今天的分享就到这里,谢谢大家!
[转载]DevOps在传统企业的落地实践及案例分享的更多相关文章
- 腾讯云AI应用产品总监王磊:AI 在传统产业的最佳实践
欢迎大家前往腾讯云+社区,获取更多腾讯海量技术实践干货哦~ 背景:5月23-24日,以"焕启"为主题的腾讯"云+未来"峰会在广州召开,广东省各级政府机构领导.海 ...
- DEVOPS落地实践分享
DEVOPS落地实践分享 转载本文需注明出处:微信公众号EAWorld,违者必究. 引言: DevOps的理念已经说了很多年,其带来的价值逐渐被接受,很多企业也逐渐引入了DevOps.目前普元DevO ...
- 企业DevOps研发模式下CI/CD实践详解指南
阅读全文大概需要 10分钟. 1. 前言 借着公司今年新组建的中台研发部东风,我作为其中的主要负责人,在研发中心主导推行DevOps研发管理模式转变及质量管理创新建设,本篇文章摘取自今年9月底,笔者在 ...
- DevOps落地实践点滴和踩坑记录-(2) -聊聊平台建设
很久没有写文章记录了,上一篇文章像流水账一样,把所见所闻一个个记录下来.这次专门聊聊DevOps平台的建设吧,有些新的体会和思考,希望给正在做这个事情的同学们一些启发吧. DevOps落地实践点滴和踩 ...
- DevOps落地实践点滴和踩坑记录-(1)
记录初衷 本人一直在从事企业内DevOps落地实践的工作,走了不少弯路,也努力在想办法解决面临的问题,期间也经历过不少人和事情,最近突然有想法把经历过的,不管好的不好的都记录下来,分享给和我一样的一线 ...
- 互联网研发效能之去哪儿网(Qunar)核心领域DevOps落地实践
本文从业务目标角度出发,确定了开源+自建模式搭建 Qunar 研发工具链整体生态:通过 APPCODE 打通工具链,流程规范化自动化:多种手段+发布门禁助力质量提升:建立应用画像确定运维最小单元,可发 ...
- [转载] DevOps年中盘点:国外最受欢迎的10篇技术文章
本文根据高效运维系列微信群的群友投稿整理而成.“高效运维”公众号作为本系列群的官方唯一公众号,原创并独家首发. 欢迎关注“高效运维”公众号,以免费参加「运维讲坛」每月一次的线下交流活动:并抢先赏阅干货 ...
- 传统企业IT为什么对微服务叶公好龙的心态?(转)
这两年来,“微服务”.“云计算”.“大数据”.“人工智能”的概念在IT界成了新的宠儿:珠联壁合.声名远播.势如破竹.如日中天!从实践落地的情况来看:微服务诞生于互联网,当然是首先在互联网界遍地开花,高 ...
- 干货 | 博云基于OVS自研容器网络插件在金融企业的落地实践
本文根据博云在dockerone社区微信群分享内容整理 过去几年博云在企业中落地容器云平台遇到了很多痛点,其中一个比较典型的痛点来自网络方面,今天很高兴跟大家聊聊这个话题并介绍下我们基于OVS自研的C ...
随机推荐
- Python学习笔记4基本数据类型续
start 16:36 时间格式化 程序计时:指测量起止动作所经历的时间的过程 实例四文本进度条 #a表示星号被复制的的次数 文本进度条的动态刷新 实现刷新功能的简单代码,但你会发现并没有实现在同一 ...
- python添加post请求
1.进入python的安装目录下的Scripts目录 ,利用pip install requests安装第三方模块 2.火狐浏览器自带firebug,打开http://10.148.111.111/q ...
- Linux 学习笔记 3:Shell 基础
1.Shell的工作原理 Shell是用户和操作系统之间的接口.当用户登录系统,有一个Shell进程随之启动,并在用户注销时终止.用户输入的命令是Shell输入. 处理命令的步骤:查找命令中的元字符: ...
- Linode KVM安装Windows系统的设置方法
以前我们用老的Linode VPS主机的时候是采用的XEN架构的,如今我们新注册账户,以及新开的机器是KVM架构.根据后台的设置,我们看到好多网友有在LINODE中安装WINDOWS系统,理论上是可以 ...
- java webservice生成客户端代码并调用
wsimport简介 在JDK的bin文件夹中,有一个wsimport.exe工具,可依据wsdl文件生成相应的类文件,将生存在本地这些类文件拷贝到需要使用的项目中,就可以像调用本地的类一样调用web ...
- Read-only file system
mount -o remount rw /
- RF自动化测试
1.自动化分层:UI层实现界面自动化,Service层实现接口自动化,Unit层实现单元测试. 2.UI自动化测试常见的工具有:QTP,AutoIt,Selenium.Selenium是做Web测试最 ...
- ef 连接mysql,code first
方法“MySql.Data.MySqlClient.MySqlProviderServices.GetDbProviderManifestToken(System.Data.Common.DbConn ...
- oracle service name sid , 用户 和 表空间
oracle 的四个概念: 数据库: 就是一堆静态的数据文件.注意是静态的 instance 实例: 可以类比数据库连接. 实例就是为了操作数据库而开辟的进程和内存空间,有了这个实例你才能操作数据库. ...
- .net数据库实现Excel的导入与导出
.net数据库实现Excel的导入与导出 参考路径:https://www.cnblogs.com/splendidme/archive/2012/01/05/2313314.html 1.defau ...