多数企业都知道DevOps的重要性,但是只有少数知道如何实施DevOps,并从中获益。这篇文章将介绍4个实施策略来确保你能从DevOps的理念中获得实实在在的收益。
毋庸置疑DevOps的时代来了,对于效率、速度至上的现代企业来说更快速、更高效的开发与部署应用程序至关重要;这也能解释为什么94%的企业都在实施自己的DevOps方案。
但是,关键的问题是如何实施DevOps才能从中获益?比起明白DevOps的重要性来说,很多公司,对于如何去实施都是一头雾水。以我的经验,只要遵循4个法则,所有的情况就会变得不同。
DevOps不是简单的将Dev与Ops组合在一起
就像DevOps这个单词,它把开发与运维组合在了一起;但是由于很多企业岗位是严格区分的,所以开发人员与运维人员坐在一起办公,共同开发一个应用还是一个新鲜事。而你要明白的是,开发与运维人员不能像“强迫的婚礼”一样,生硬的将两拨人组合在一起完事。
问题的根源在企业的管理制度上,每个公司都有自己的一套复杂的根深蒂固的管理流程与制度,改变开发的流程就意味着要变更管理制度——这将会产生巨大的管理成本。比如,在许多公司,当开发部门完成一个应用的开发后就直接扔给运维部门进行上线与日常运维;这会给运维部门的人员带来很多压力,因为大多数情况下他们并不知道应用的开发细节以及如何监控线上程序运行指标与性能。所以传统的开发流程跟DevOps所倡导的那种开发与运维高度合作与融合的理念完全不一样。
要想成功实施DevOps,你就要下定决心去改变公司现有的管理文化——去释放这些潜在的压力。要想线上的应用365天7*24小时的平稳运行,你就必须让开发人员与运维人员一起工作,去为应用程序开发运行状况与性能监控工具;以后就没有单独的研发部与运维部了——只有一个部门DevOps部。
企业观念与管理文化的改变是DevOps能成功实施的首要法则,达到这点我们再继续看第二个法则。
获得公司高层的支持
举个实际的例子,Joe在研发部工作,为了能更好的开发一个应用,他想跟在运维部的Sally一起工作,但是,这需要获得Sally所在部门领导的授权,但是这种授权会对现有的管理流程造成改变,所以是困难的。但是,幸运的是,Joe与Sally争取到了机会给公司更高层领导阐述了DevOps的理念以及带来的益处,然后很快就获得了授权。现在,Joe与Sally的直接领导在获得了公司老板的许可下得以一起工作并更好的推进项目的进展。
所以,为了确保你的DevOps计划的顺利进行,在实施的“最早期”你就必须与公司的执行管理层取得一致,同时确保他们理解DevOps不是简单的让两个部门在一起工作,不仅仅是公司组织结构与项目推进模式的变化,而是一种能够带来长远收益的开发方法的改变。
自动化工具的使用
诚然,获取管理层的授权与改变管理制度、流程非常困难,但是要想从DevOps获益还需要更进一步——开发或者使用自动化工具来实实在在的缩短开发时间,提高开发效率。
举个例子,在升级线上应用之前,很多公司都是手动做回归测试来确保本次更新不会对线上系统造成性能问题或者引入新的bug;但是手动做回归测试确实是一件非常枯燥而且漫长的过程。所以我认为,开发人员与运维人员必须联合起来开发或者采用一套自动化的测试工具——用于单元、功能与回归测试,来加速整个开发上线的过程。在我实际的工作中,所有的开发与运维人员均会被投入到软件质量与测试工具的研发、实施过程中;而且我认为,只有这样才能让双方都有同样的参与感与责任感。
在系统整个开发的生命周期中,除开测试需要自动化以外,我觉得还有以下几个方面可以做自动化,以提高效率:自动代码省查(将提交的代码自动路由到相应的省查者)、自动化集成部署工具、自动化日志分析系统与自动系统故障分类诊断系统等。
让运维团队持续参与
在项目的初期,研发人员的工作量会比较大,而运维人员可能会比较闲,这时,你可以分配一些非功能性的工作给他们去完成——重要但是不需要太多研发技能的活儿。
比如,你的运维团队可以提前开发一些系统监控工具,或是想些办法能快速定位系统的性能问题,或是像上节所说的,参与软件质量维护与测试工具开发之中。总之,这个时期,运维人员可以多做一些预见性的工作或者上线准备工作,以保持在项目的整个研发、测试与上线过程中所有人员都持续的有活儿干;这样一来,对于项目的上线风险就会小很多,人力资源的利用率也会提高很多。
DevOps在路上
DevOps时代已经来临,你很有可能身处其中,只要能够灵活使用以上4条准则,就能保证在DevOps实施过程中获得实实在在的收益。
【3天烧脑式微服务架构训练营 | 上海站】本次培训涉及:DevOps?微服务?需要解决的问题、回归、微服务那些事儿、Spring Cloud简介、服务发现:Eureka、客户端负载均衡:Ribbon、声明式的客户端:Feign、使用断路器实现微服务容错:Hystrix、微服务网关:Zuul、统一配置管理:Spring Cloud Config、微服务跟踪:Spring Cloud Sleuth、Spring Cloud常见问题总结等,点击下面图片即可查看具体培训内容。
点击阅读原文链接可直接报名。