8个让DevOps转型取得成功的关键步骤
关注嘉为科技,获取运维新知
在数字化时代,企业需要更快更灵活的交付来支持业务运营,这种迫切的需求促成了DevOps的高速发展,成为了企业获得竞争优势的关键。尽管大家都知道DevOps给业务带来的好处,但由于不知道如何在企业中实际落地DevOps,许多企业仍然难以从中获益。
“目前,Devops还在不断的演变,缺乏标准的定义和方法论,并且会带来管理上的风险,这些不确定的因素让许多企业对于是否实施DevOps仍犹豫不决。”Gartner研究总监George Spafford说。
虽然现在还没有业界达成共识的DevOps实施阶段,但Spafford建议I&O(基础架构和运营)领导者们,采取如下八个基本步骤可以让DevOps计划顺利的启动和执行。
1、确定业务需求
在启动DevOps计划之前,首先应该避免没有业务需求而强行为了上DevOps而上DevOps,方法和工具永远没有客户需求重要。
“例如,不要把关注点放在更快的发布上面,而要思考,通过更快的发布能带来什么商业价值。”Spafford解释道。“通过提高APP的发布率,我们将能够更快地进行创新,从而支持销售和营销策略,推动客户通过APP下单。这才是启动DevOps计划的理由。成功的企业知道他们希望从DevOps中实现什么样的商业利益。”
2、在您的企业中重新定义DevOps
Gartner将DevOps定义为一种,使用敏捷方法、协同和自动化,由业务驱动的交付解决方案。但在实际落地的过程中,您应该根据将要实现的业务目标,重新定义DevOps,以便让企业上下的人更容易理解。甚至您可以写一条简短明确的标语做成横幅悬挂在办公室,让大家目标清晰、理念一致,齐心协力朝同一个方向努力。
3、选择“先行者”程序
DevOps在部署前,需要满足下面的三个条件:
环境友好:宽松友好的工作环境,意味着可以有人可以成为“先行者”,第一个站出来进行倡议,并得到大家积极正面的尝试。
价值认同:先行者需要阐明DevOps带来的价值,并获得大家的认同和支持。
风险接受:由于DevOps的模糊性和不确定性,许多人将其视为一场冒险,拒绝DevOps转型。我们可以制定一个风险收益表,列明不同收益相对的可接受的风险水平,DevOps项目中涉及到的每个人:IT、运营、开发、信息安全、监管合规和审计等都应对此有清晰的认识,接受其可能存在的风险。
“DevOps的核心用例是敏捷开发和一些具有相当大不确定性的场景,例如机器学习和物联网(IoT)。但其实DevOps理念可以被广泛应用,在其他领域我们也可以引入DevOps的概念,”Spafford说。“当然,最好先将DevOps用于系统方面的创新,因为现有的功能可能无法支撑诸如大数据、机器学习、物联网等举措。”
4、确定初始团队
人,是确保DevOps 计划成功落地的主要组成部分。选择初始团队的成员时,相对于这个人所掌握的IT技能,我们更应该注重他所呈现出来的状态。技能可以慢慢教会,但好的状态却很难教会。负面的行为状态会让其他人对DevOps的努力付诸东流。我们应该寻找聪明、积极主动、可以理解并承受风险、善于终身学习、能接受新式工作方式的,这样的一个优秀的团队成员。
5、设定目标和考核指标
人是DevOps计划中最重要的部分,找到并实施正确的激励方向至关重要。
Spafford说:“在许多传统组织中,目标是按照部门设定的,IT部门的考核指标已经固化,以解决问题为标准。而在DevOps计划中,需要从团队层面设置目标,与团队的业务目标保持一致。DevOps团队成员必须意识到他们都有相同的目标。考核指标和激励措施的设定方向,需以鼓励团队合作实现业务目标来定,而不是偏向于风险管理或者是个人解决问题的能力。”
6、找到限制因素
I&O领导者应该找到限制生产力的最大瓶颈。DevOps是一种全新的、充满变化的系统,将其上线到生产的过程中时,会有一个制约其生产力的最大的限制因素。找到这个最大的限制因素,DevOps团队可以清晰的知道是什么打乱了节奏、扯了后腿,从容解决这个瓶颈。
7、开发工具链
真正的DevOps要实现的总体目标包括一个集成的工具链,该工具链支持评估和选择工具,以便在应用程序生命周期中,每个工具都可以与其相邻的工具松散地耦合。通过工具链,链接所有的自动化接触点和信息流可加快版本发布速度,同时减少错误、缺陷、返工和停机。这将使每个阶段所使用的工具保持一致,并提供全新的视图,发现在阶段内或者不同阶段之间,哪里需要进行自动化、集成或者是切换工具。
8、准备好了再扩展DevOps的规模
太多的公司错误地认为,在启动DevOps之前,需要扩展DevOps的规模才能获得更多的支持。这将导致恶性循环:不知道如何扩展DevOps,他们无法启动项目;而且因为他们无法启动项目,他们无法搞懂如何去做扩展。
“在切实准备好之前,不要试图扩展DevOps项目,以免损害已经看到的成效。”Spafford建议道。
“相反,将你的团队聚集在一起,开始朝着看起来最明朗的方向前进,并解决途中遇到的限制。在人的能力、技术的能力和流程方面的学习和进步需要同步进行。变革带来的技术债务不可避免,但学会管理债务也是新模式的一部分。”
本文翻译自Gartner文章:《8 Steps to Get DevOps Right》
原文链接:https://www.gartner.com/smarterwithgartner/8-steps-to-get-devops-right/
翻译:嘉为科技
转载请注明出处
8个让DevOps转型取得成功的关键步骤的更多相关文章
- 企业玩转DevOps转型:由弱到强,只需7步
[摘要] 在参考业界方法并总结客户成功故事的基础上,本文提出了“七步法”路线图,希望能帮助更多的企业顺利进行DevOps转型. 从2009年诞生,DevOps已经悄然走过了10多个年头.Gartner ...
- 「DevOps 转型与实践」沙龙回顾第一讲
9 月 19 日,CODING 和中国 DevOps 社区联合举办的深圳第九届 Meetup 在腾讯大厦 2 楼多功能圆满结束.本次沙龙以 「DevOps 转型与实践」 为主题,4 位来自互联网.金融 ...
- DevOps转型到底值不值?
摘要:企业进行DevOps转型是否有价值?是否能计算出明确的投资回报率呢?本文将为您解惑. 本文分享自华为云社区<DevOps转型到底值不值?>,作者:敏捷小智 . 引言 企业都是以盈利为 ...
- IPD体系向敏捷开发模式转型实施成功的四个关键因素
文/杨学明 集成产品开发(IPD).集成能力成熟度模型(CMMI).敏捷开发(Agile Development)是当前国内外企业产品研发管理的最常用的3种模式.随着创新环境的快速发展,许多企业都会 ...
- 实战:阿里巴巴 DevOps 转型后的运维平台建设
导读:阿里巴巴DevOps转型之后,运维平台是如何建设的?阿里巴巴高级技术专家陈喻结合运维自身的理解,业务场景的分析和业界方法论的一些思考,得出来一些最佳实践分享给大家. 前言 “我是这个应用 ...
- 阿里巴巴 DevOps 转型后的运维平台建设
原文:http://www.sohu.com/a/156724220_262549 本文转载自公众号「DevOps 时代」,高效运维社区致力于陪伴您的职业生涯,与您一起愉快的成长. 作者简介: 陈喻( ...
- DevOps 转型到底难不难(转自成哥的世界)
原文:https://mp.weixin.qq.com/s/QwZf6ZsKGNT6YyereSmpQg DevOps 自 2009 年诞生以来,至今整整过去了十年,从最初的摸索,逐步变成一种主流的软 ...
- 华为精益敏捷专家:DevOps转型中的那些坑
陈军--原腾讯高级项目经理.华为精益敏捷专家 DevOps是现在非常流行的一个词,很多人都在提DevOps,在往那个方向去转,但转的时候坑特别多. 现实是很理想的,大家都觉得做了DevOps之后就会非 ...
- 108天南京银行完成不可能完成的新金融DevOps转型
在2018云栖大会南京峰会企业研发云专场,由南京银行研发管理负责人吴攀带来了“云效助力新金融DevOps转型——南京银行实践之路”的主题分享.首先对南京银行的研发规模与成长做了介绍,对“鑫云+”的诞生 ...
随机推荐
- 前端模板 artTemplate之辅助方法template.helper
var labelMap = { onlinePayment:{ label:"在线支付", desc:"支持大部分储蓄卡.信用卡及第三方平台支付", name ...
- python3 使用libvirt 相关安装
1.Linux下有Python2的环境下安装Python3参考: https://www.cnblogs.com/kimyeee/p/7250560.html 2.安装完Python3后,将/usr/ ...
- Android ListVeiw控件(转载整理)
列表的显示需要三个元素: 1.ListVeiw 用来展示列表的View. 2.适配器 用来把数据映射到ListView上的中介. 3.数据 具体的将被映射的字符串,图片,或者基本组件. 根据列表 ...
- PyQt5信号、定时器及多线程
信号 信号是用于界面自动变化的一个工具,原理是信号绑定了一个函数,当信号被触发时函数即被调用 举个例子 from PyQt5 import QtWidgets,QtCore from untitled ...
- CookieUitl
import javax.servlet.http.Cookie;import javax.servlet.http.HttpServletRequest;import javax.servlet.h ...
- Spark mllib多层分类感知器在情感分析中的实际应用
import org.apache.spark.ml.Pipeline import org.apache.spark.ml.classification.MultilayerPerceptronCl ...
- Gitlab构建分布式版本控制系统
一 安装依赖 1.sudo yum install curl policycoreutils openssh-server openssh-clients 2.sudo systemctl enabl ...
- windows程序设计 加载位图图片
现在网上随便下个jpg图片,用windows自带的画图工具打开,点击画图工具左上角,文件->另存为->选择bmp,点击保存,保存好后,就得到一张位图了. 得到的位图,位图的内存比原图片jp ...
- ch01 PHP开篇
ch01 PHP开篇 1.1启蒙知识 思考:WAMP是什么?:集成开发环境 [Windows+Apache服务器+MySQL数据库+PHP编程] 1.1.1 站点 将网站所有相关素材都放到一个文件夹中 ...
- c# 结构的使用
类的定义的是引用类型,重点在堆上创建,有的时候类只包含极少的数据,因为管理堆而造成的开销是很大的.这时候更好的做法就是将类型定义成结构.结构是值类型,在栈上存储,能有效的减小内存管理的开销.c#基元类 ...