DevOps 转型,只有工具怎么够!

敏捷软件开发已经打破了需求分析、测试、开发之间的壁垒。在软件开发流程中,开发与运维之间面临着相同的隔离问题。DevOps运动的目标就是打破开发与运维之间的壁垒,鼓励开发与运维之间的协作。

敏捷软件开发已经打破了需求分析、测试、开发之间的壁垒。在软件开发流程中,开发与运维之间面临着相同的隔离问题。DevOps运动的目标就是打破开发与运维之间的壁垒,鼓励开发与运维之间的协作。

新运维工具的出现以及敏捷工程实践的建立使得DevOps变成了可能[1],但对于DevOps好处的认识还远远不够,即便拥有最好的工具,如果我们没有正确的文化,DevOps仅仅是一个时髦的词汇而已。

DevOps文化的基本特征是开发和运维角色之间的不断增强的协作。在团队级和组织级都需要文化的转变一支持这种协作。

责任共担

责任共担是DevOps的团队文化之一,责任共担鼓励团队进一步的协作。如果系统运行与维护的工作交给了其他团队负责,开发团队一般都不会关心具体的运维工作。

当开发团队共同分担系统生命周期中的运维工作与责任时,开发团队就能理解运维团队的痛苦,就能主动简化开发和运维中繁琐的工作(例如:自动化部署和完善日志)。

他们也可以通过生产环境系统监控获取额外的需求。当运维团队主动承担系统的业务目标时,运维团队可以和开发团队更紧密的合作,以理解运维需求并提供支持。

在实践中,协作往往开始于开发团队意识到需要了解更多的运维工作(如部署和监控)或者是运维团队采用了新的自动化工具与实践。

将开发与运维团队放在一起

责任共担文化也需要组织上的一些变化。开发团队和运维团队之间不应该有壁垒。在一开始,就不能依靠移交文档来代替一起工作。应该在组织资源结构上支持运维团队尽早地介入到产品交付过程中与其他团队一起工作。

将开发与运维团队放在一起,可以有效地促进他们一起工作。“移交和签收”无益于团队共同承担责任,并且会导致形成责备的文化。反之,开发和运维团队应该共同对产品的成功与失败负责。

DevOps文化模糊了开发与运维之间的界限,最终也将消除这种界限。在向组织中引入DevOps时,一种常见的反模式就是制作出一个DevOps角色或者DevOps团队。这样做只会造成更多的壁垒,并且阻碍DevOps文化和实践在更广泛的团队中传播和使用。

支持自组织团队

另一个有价值的组织变化是支持自组织团队,为了更高效的协作,开发与运维团队应该自主决策,在采纳变更时也不需要冗长的变更管理流程。这涉及到对团队的信任、对风险管理方式的变化,也需要创建不怕失败的环境氛围。

例如,一个团队需要列出变更清单并且获得一堆签字批准才能发布到测试环境,这些变更经常被推迟。我们应该依靠可审计的版本控制来替代大量的人工检查。在版本控制中的变更可以链接到团队的任务管理工具中,无需人工的签字批准,团队可以自动化部署变更,并缩短测试周期。

向DevOps文化改变的一个影响就是将代码部署到生产环境将变得很容易。这需要更进一步的文化改变。为了保证生产环境变更是可靠的,团队需要重视在开发过程中内建质量。这包括跨职能关注点,如性能和安全。持续交付技术(包括代码自测试)形成一个允许日常的、低风险的部署。

对团队而言,重视反馈也很重要,为了持续的推进开发与运维像一个团队一样工作,生产环境监控是一个很有用的反馈循环,它可以帮助诊断问题和发现潜在改进点。

自动化是DevOps运维的基石,它可以加快协作。自动化测试、配置、部署使得团队有更多的时间专注在其他有价值的活动中,并减少因为人为造成的错误。自动化脚本和测试的另一个好处是总是保证系统的文档是最新的。比如,自动化服务器配置意味着开发和运维团队都能了解并修改服务器的配置。

注:
[1]:运维工具包括虚拟化、云计算和自动化配置管理,在持续集成、增量设计、代码净化等工程实践中都支持这些工具。

时间: 2024-11-11 21:21:24

DevOps 转型,只有工具怎么够!的相关文章

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

在2018云栖大会南京峰会企业研发云专场,由南京银行研发管理负责人吴攀带来了"云效助力新金融DevOps转型--南京银行实践之路"的主题分享.首先对南京银行的研发规模与成长做了介绍,对"鑫云+"的诞生和其架构应用做了详细的讲解. (云效公有云周年折扣活动进行中红,包年55折优惠中!) 以下为精彩视频内容整理: 南京银行研发规模概况 简单给大家介绍一下南京银行现在的规模,南京银行的科技现在有运维中心.研发中心和科技管理部,我是在科技管理部负责配置管理和研发过程管理.我

DevOps 转型之 Pipeline 实践

DevOps 转型之 Pipeline 实践 由于技术更新速度越来越快,业务需求变化频度激增,DevOps 如何落地,寻找合适切入点很关键,充分利用 Jenkins Pipeline 在 DevOps 和持续集成中的的核心作用,本主题将在 DevOps 工具链的选型以及如何落地实践做介绍. Pipeline 流水线是指软件从版本控制库到用户手中这一过程的自动化实现是持续交付与 DevOps 的核心工程实践. 本次分享主要内容: DevOps 工具链与 Pipeline Jenkins Pipel

资料分享|DevOps 转型之 Pipeline 实践

DevOps 转型之 Pipeline 实践 ppt链接: https://pan.baidu.com/s/1fZieTq99wI791xeXa2BQPw 密码: 2dvn 开源运维平台--SQL 上线平台项目主要功能: 基于 sqladvisor 的 sql 语句优化功能 基于 inception 的 sql 自动化审核,执行,回滚,统计等功能 基于 RBAC 的权限控制体系,支持表级.对象级,全流程权限审计 内置工单体系,支持自定义工单开关,制定流程策略,工单流式审批执行等操作 支持工单的列

杰蛙&博云 强强联手带你走进【企业级DevOps转型之旅】

杰蛙&博云 强强联手带你走进[企业级DevOps转型之旅] 原文地址:https://blog.51cto.com/jfrogchina/2479799

解读神书《凤凰项目》,带你跳出DevOps转型的所有坑

提高DevOps工程师软技能,可以了解一下笔者前一篇文章<DevOps工程师必备软技能> <凤凰项目>是DevOps界神书,虽然内容表现形式是小说,但是依然是敏捷开发及DevOps领域的必读书籍.很多知名的咨询师都是通过此书开启了DevOps及敏捷之旅,书中故事均来源于运维的日常工作,正是体现了艺术源于生活.高于生活的本质.笔者间隔两年时间,阅读此书两次,希望可以讲书中了解到的一些经验分享给大家.小说主人公比尔,临时接任了IT运维经理的职位,然而此时,公司已经经历了多轮裁员,生产线

十个强大的DevOps基础设施自动化工具,不容错过

Devops基础设施自动化的工具 有许多工具用于基础设施自动化.使用哪个工具决定于体系结构和基础设施的需求.下面我们列出了一些伟大的工具,用于不同类别配置管理.编制.持续集成.监控等. 1.Chef Chef是一个基于ruby开发的配置管理工具.你可能会遇到"基础设施代码"这个词,这意味着配置管理.厨师烹饪书的概念,你的代码基础设施DSL(领域特定语言)和一个小的编程.chef规定和配置虚拟机根据规则中提到的食谱.代理将会运行在所有的服务器配置.代理将chef主服务器的cookbook

一个工具就够了?原型设计没那么简单!

原型设计是软件设计开发过程中必不可少的一部分,但是现在我们能够看到的原型设计工具种类多到让人眼花缭乱.如果你只是选择了其中的一款工具,并且觉得原型设计工具只需要一个,对于整个设计开发过程就足够了,那你就大错特错了.事实上,这些原型设计工具连接起来,才是一个完整的设计流程. 草图/线框图阶段:纸笔.白板.Balsamiq.Mockplus 无论是美术设计还是用户体验设计,或者是用户界面设计,首先要做的事情就是画草图.打草稿.当我们天马行空的进行想象的时候,记录的工作交给它们就好了.纸笔和白板不用多

可集成Jenkins,devops的项目管理工具-Leangoo

先来说一下这个Scrum敏捷开发工具-Leangoo Leangoo(中文名:领歌)是一款基于看板的项目协作工具,完美支持Scrum敏捷开发.它的核心主要是看板,通过看板共享和实时同步团队工作以实现高效协同!工具非常的简洁,轻量,主要是上手快,不需要浪费长时间在研究工具上,这是我在国内比较推荐的工具! Jenkins 是一个独立的开源软件项目,是基于 Java 开发的一种持续集成工具,用于监控持续重复的工作,旨在提供一个开放易用的软件平台,使软件的持续集成变成可能.它可以用于自动化运行各种任务,

实现DevOps需要的工具

硬性要求:工具上的准备 代码管理(SCM):GitHub.GitLab.BitBucket.SubVersion 构建工具:Ant.Gradle.maven 自动部署:Capistrano.CodeDeploy 持续集成(CI):Bamboo.Hudson.Jenkins 配置管理:Ansible.Chef.Puppet.SaltStack.ScriptRock GuardRail 容器:Docker.LXC.第三方厂商如AWS 编排:Kubernetes.Core.Apache Mesos.D