​​关注嘉为科技,获取运维新知

在数字化时代,企业需要更快更灵活的交付来支持业务运营,这种迫切的需求促成了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转型取得成功的关键步骤的更多相关文章

  1. 企业玩转DevOps转型:由弱到强,只需7步

    [摘要] 在参考业界方法并总结客户成功故事的基础上,本文提出了“七步法”路线图,希望能帮助更多的企业顺利进行DevOps转型. 从2009年诞生,DevOps已经悄然走过了10多个年头.Gartner ...

  2. 「DevOps 转型与实践」沙龙回顾第一讲

    9 月 19 日,CODING 和中国 DevOps 社区联合举办的深圳第九届 Meetup 在腾讯大厦 2 楼多功能圆满结束.本次沙龙以 「DevOps 转型与实践」 为主题,4 位来自互联网.金融 ...

  3. DevOps转型到底值不值?

    摘要:企业进行DevOps转型是否有价值?是否能计算出明确的投资回报率呢?本文将为您解惑. 本文分享自华为云社区<DevOps转型到底值不值?>,作者:敏捷小智 . 引言 企业都是以盈利为 ...

  4. IPD体系向敏捷开发模式转型实施成功的四个关键因素

    文/杨学明  集成产品开发(IPD).集成能力成熟度模型(CMMI).敏捷开发(Agile Development)是当前国内外企业产品研发管理的最常用的3种模式.随着创新环境的快速发展,许多企业都会 ...

  5. 实战:阿里巴巴 DevOps 转型后的运维平台建设

    导读:阿里巴巴DevOps转型之后,运维平台是如何建设的?阿里巴巴高级技术专家陈喻结合运维自身的理解,业务场景的分析和业界方法论的一些思考,得出来一些最佳实践分享给大家.   前言   “我是这个应用 ...

  6. 阿里巴巴 DevOps 转型后的运维平台建设

    原文:http://www.sohu.com/a/156724220_262549 本文转载自公众号「DevOps 时代」,高效运维社区致力于陪伴您的职业生涯,与您一起愉快的成长. 作者简介: 陈喻( ...

  7. DevOps 转型到底难不难(转自成哥的世界)

    原文:https://mp.weixin.qq.com/s/QwZf6ZsKGNT6YyereSmpQg DevOps 自 2009 年诞生以来,至今整整过去了十年,从最初的摸索,逐步变成一种主流的软 ...

  8. 华为精益敏捷专家:DevOps转型中的那些坑

    陈军--原腾讯高级项目经理.华为精益敏捷专家 DevOps是现在非常流行的一个词,很多人都在提DevOps,在往那个方向去转,但转的时候坑特别多. 现实是很理想的,大家都觉得做了DevOps之后就会非 ...

  9. 108天南京银行完成不可能完成的新金融DevOps转型

    在2018云栖大会南京峰会企业研发云专场,由南京银行研发管理负责人吴攀带来了“云效助力新金融DevOps转型——南京银行实践之路”的主题分享.首先对南京银行的研发规模与成长做了介绍,对“鑫云+”的诞生 ...

随机推荐

  1. ES6 数组方法拓展

    ES6 数组方法拓展 1.Array.from() Array.from方法用于将两类对象转为真正的数组:类似数组的对象(array-like object)和可遍历(iterable)的对象(包括E ...

  2. 查看Sql Server 数据库的内存使用情况

    -- 查询SqlServer总体的内存使用情况 select type , sum(virtual_memory_reserved_kb) VM_Reserved , sum(virtual_memo ...

  3. 浅谈Java对象的equals方法

    相等与同一: 如果两个对象具有相同的类型以及相同的属性值,则称这两个对象相等. 如果两个引用对象指的是同一个对象,则称这两个变量同一. ==是一个比较运算符,基本数据类型比较的是值,引用数据类型比较的 ...

  4. Python的类的组合

    python中,类的加载顺序 类是在文件加载时,会跟着加载 1  类名 2  类中的变量,从上到下,依次进行 3 加载到方法时,方法内的内容不执行,但是会开辟一个空间用来存储方法内的数据 4 当类内的 ...

  5. 关于矩阵快速幂的用法总结QwQ

    umm首先矩阵快速幂的板子就不港了比较简单的还是?就结合二进制地理解一下就好了,代码可以翻蒟蒻の考前续命这里面放了我记得? 主要是说下应用趴? 目前我会的似乎就是个矩阵加速?简单来说就是个给一个递推式 ...

  6. android AsyncTask异步任务(笔记)

    AsyncTask是一个专门用来处理后台进程与UI线程的工具.通过AsyncTask,我们可以非常方便的进行后台线程和UI线程之间的交流. 那么AsyncTask是如何工作的哪. AsyncTask拥 ...

  7. maven工程下添加oracle驱动包

    maven工程手动安装oracle驱动包到本地仓库 下载ojdbc.jar包 这个当然是最好去官网下载了.http://mvnrepository.com这个仓库上有,具体页面地址为: http:// ...

  8. SpringBoot-内部运行jvm参数调优

    SpringBoot JVM参数调优 这个根据服务器的内存大小,来设置堆参数. -Xms :设置Java堆栈的初始化大小 -Xmx :设置最大的java堆大小 实例参数-XX:+PrintGCDeta ...

  9. java之动态代理

    摘要 相比于静态代理,动态代理避免了开发人员编写各个繁锁的静态代理类,只需简单地指定一组接口及目标类对象就能动态的获得代理对象. 这里说的静态代理可以理解为之前使用的装饰者模式,从之前使用装饰者模式实 ...

  10. python 爬虫-2

    小白新手完全不懂的什么,还有一个robots.txt限制文件,稀里糊涂的    还是百度   可以看一下:http://www.baidu.com/robots.txt 里面会有一些限制,常见的一些配 ...