DevOps 转型,只有工具是远远不够的!

简介:

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

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

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

责任共担

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

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

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

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

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

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

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

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

支持自组织团队

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

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

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

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

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


本文作者:佚名

来源:51CTO

相关文章
|
2月前
|
运维 Kubernetes Devops
自动化运维的变革之路:从脚本到DevOps
【8月更文挑战第28天】在信息技术迅猛发展的今天,自动化运维已成为企业提升效率、确保服务质量的关键。本文将带你领略自动化运维的发展脉络,从最初的脚本编写到现代的DevOps实践,揭示这一领域如何不断进化以适应新的技术挑战。你将看到,通过采纳DevOps文化和工具,团队如何打破壁垒,实现更高效的协作与交付,从而为企业带来持续的创新和价值。
|
2月前
|
运维 监控 Devops
DevOps文化下的企业运维转型
【8月更文挑战第22天】在数字化转型的浪潮中,DevOps不仅仅是一种技术实践,更是一种企业文化。本文将探讨如何在DevOps文化的引导下,实现企业运维的高效转型,包括理念更新、流程优化和团队协作等方面。我们将一起思考如何打破传统壁垒,构建一个更加灵活、高效和协同的运维体系,以应对不断变化的市场和技术挑战。
47 1
|
2月前
|
运维 监控 Devops
DevOps文化下的自动化运维实践
【8月更文挑战第30天】在DevOps的浪潮中,自动化运维不再是选择题而是必答题。本文将深入浅出地探讨如何通过脚本和工具实现日常运维任务的自动化,从而提升效率,减少人为错误,确保系统的稳定性和安全性。我们将一起学习编写简单的自动化脚本,并探索如何使用现成的自动化工具来简化我们的工作。
|
1月前
|
运维 监控 Devops
拥抱 DevOps 文化:实现持续交付与部署的最佳实践
在软件开发领域,DevOps 强调开发与运维团队的协作,通过自动化、持续集成与部署等实践缩短系统开发生命周期,提升软件质量。其核心原则包括自动化、协作、度量与共享责任。实施 DevOps 需要建立跨功能团队、采用版本控制、持续集成与部署、自动化测试及监控反馈。常用工具有 Jenkins、GitLab CI/CD、Ansible、Prometheus 和 ELK Stack 等。DevOps 通过文化与技术变革,加速软件交付并提高客户满意度。
|
2月前
|
运维 监控 Devops
DevOps文化下的运维自动化实践
【8月更文挑战第24天】本文将带你走进DevOps文化,探讨如何在运维工作中实现自动化,从而提升工作效率和减少人为错误。我们将从DevOps的核心理念出发,深入到运维自动化的实践策略,最后讨论自动化带来的效益与挑战。文章不仅分享理论知识,还提供实用的操作建议,帮助读者在DevOps旅程中迈出坚实的步伐。
|
3月前
|
运维 监控 安全
DevOps转型之路:从传统运维到自动化运维的演进
【7月更文挑战第25天】本文旨在探讨DevOps文化和实践如何影响并转变传统的运维模式,通过分析自动化运维的优势与挑战,提供实施自动化运维的策略和方法。文章将结合案例分析,展示自动化运维在提升效率、保障稳定性以及促进团队协作方面的实际成效,为读者提供一条清晰的DevOps转型路径。
38 4
|
运维 监控 Devops
DevOps解决方案
DevOps解决方案
|
2月前
|
运维 Devops 测试技术
研发推动的 DevOps
研发推动的 DevOps
27 0
|
5月前
|
运维 监控 Devops
研发管理之认识DevOps
DevOps是促进开发、技术运营和质量保障部门间沟通与协作的一组过程和方法,旨在通过自动化软件交付和架构变更流程,提高软件发布的速度和可靠性。起源于对传统开发模式应对快速市场变化不足的反思,DevOps强调开发和运维的紧密合作,采用自动化工具实现持续集成、持续部署,以缩短开发周期并提升产品质量。其核心目标是缩短系统开发生命周期,提供持续交付和快速反馈。DevOps通过自动化、协作和实时监控等手段,降低了运维成本,增强了安全性,提高了客户满意度和创新能力。
37 0
研发管理之认识DevOps
|
运维 Cloud Native 数据可视化
阿里云云原生 DevOps - 企业开发过程的困境
阿里云云原生 DevOps - 企业开发过程的困境
阿里云云原生 DevOps - 企业开发过程的困境