最新发布《数智时代的AI人才粮仓模型解读白皮书(2024版)》,立即领取! 了解详情
写点什么

理解 DevOps 和它所涉及的开发、运维和业务

  • 2013-10-12
  • 本文字数:2150 字

    阅读完需:约 7 分钟

Dan Zentgraf 是 Ascendant Technology 公司的一名领域架构师。他的工作是帮助顾客采用 DevOps 和敏捷实践。作为一位咨询师和产品经理,他在软件领域拥有 12 年从业经验。他结合自己的实际项目经验和对 DevOps 的深入分析,分享了自己的DevOps 的理解,以及研发、运维和业务三者之间的关系。

Dan 首先分析了 DevOps 的诞生背景:

敏捷开发的一般原则是开发团队应该一直以可持续的速度不断地交付软件。与此同时,基于相关的虚拟化和云计算,许多新的操作工具和基础设施已经可以为我们所用。虽然很多研发团队已经主动采取了敏捷开发的方法,但是他们开发的软件常常不能被用户接受,因为他们的程序充满了缺陷、易出错的手工任务或者和运维相关的延迟。同时,竞争日益激烈的市场环境给业务主管带来了巨大的压力,因此他们要求在更短的周期里把新软件和特性交到客户手里。敏捷开发、新运维技术和市场需求导向这三个因素正在使人们重新思考应该如何看待软件开发。这三种趋势的共性是变化的速度增加了。那种把用户所需要的软件功能搁置几个月再去开发的做法已经无法被接受了。软件只有使用的时候才有价值,快速的得到那种价值在今天的市场上显得尤为重要。这种转变使人们质疑团队开发软件的种种假设,而质疑的结果就是 DevOps 的问世。

为了总体上理解软件交付,尤其是用 DevOps 进行软件部署,Dan 认为理解以下两点很重要:

  • 首先,对 DevOps 以及各种利益相关者对它感兴趣的原因有一个清晰和正确的理解是十分必要的;
  • 其次,当我们尝试应用 DevOps 时,理解软件部署的假设是如何变化很重要。

当这些理解了这些之后,才有可能了解支持 DevOps 的可执行部署的框架。

Dan 指出,DevOps 这个术语,由英文单词 development 和 IT operations 组合生成,一般指的是一种利用所有各种规则统一软件系统的相关工作的方法,,从而以业务部门要求的速度将更改交付给系统。它通常与进行快速而小的改变的敏捷开发结合起来,目的是注意力集中于高价值的工作,最小化由大的变化所产生的缺陷风险,减小由于工程完工后软件特性与商业要求的严重背离而带来的软件价值偏移。另一方面,运维的观点是指将变化视作不稳定性的成因。不稳定性必然会导致宕机,这是运维当中最严重的负面事件。因此,运维团队常常抵制变化。然而,DevOps 常常被视为一种改变,因为在绝大多数的开发团队中,开发、运维和市场三者之间有着一系列的的冲突行为和回报,从而导致无数的不当行为。市场给进行新特性开发和追求变化的开发团队以回报,但是却因为宕机而处罚运维团队。因此,开发团队迫切要求运维人员进行更多的部署;运维团队则要求开发人员的交付模块包含更多结构和更高的精确度。这些矛盾在很多开发团队中已经根深蒂固,并且因为各自团队成熟度的固有不同而更加严重。DevOps 力图消除这些障碍,为这些竞争团队搭建一个共同合作的平台,从而把他们集中到同一个目标上。为了实现这个目的,理解每一个团队的心态非常的重要。

接着,Dan 从开发、运维和业务三个方面阐述了自己的理解。

开发

开发通常被认为更加的接近市场需求。《敏捷宣言》已经问世十多年了。从某种程度上说,该宣言是早期极限编程、结对编程和实践的结果。公平地说,这个难题的软件部分被视为是很容易实现的目标(它很容易改变,但理论上独立于基础设施和平台之上)。基础设施习惯上被认为是一种很难被改变的昂贵资本支出,并且有很长的摊销周期。不幸的是,复杂的软件需要很多的基础设施,并且要求基础设施和软件本身同步发展。这种联系就是为什么早期 DevOps 有时被称作“敏捷运维”。无论人们怎么称呼它,如果科技与市场需求保持同步的话,坚持软件和基础设施分开的想法是不可持续的。这迫使研发团队接受维持复杂基础设施生产的现实。

运维

幸运地是,一些新的科学技术已经成为运维领域的最前沿,从而帮助运维更加的符合市场需求。运维领域最主要的颠覆性技术是便宜的硬件商品虚拟化的广泛普及。这产生了新的系统管理方法,当然还有云计算。这种科技由于能让开发团队快速而容易地整合他们未被充分使用的计算资源从而直接产生价值,因而快速流行起来。美国 Gartner 咨询公司估计现在 50% 的应用在虚拟环境中运行。然而,简单的整合只是一种有限地回收价值、缩减开支的的办法。虚拟化技术也使基础设施具有了一定的可变性,让运维团队在不影响稳定性的前提下以以前不可能达到的速度改进基础设施。虚拟化利用技术常常在与云计算有关的项目中出现。这些新兴的技术给了运维团队一条同研发团队一样敏捷并且能切合市场需求的途径。

业务

对业务主管们来说,他们已经明白了理解和利用技术来实现目标相比以往更加的关键。根据 IBM2012 年的 CEO 调查(这个调查建立在对 64 个国家 1700 个首席执行官进行访谈的基础上),技术因素是影响开发团队排名第一位的因素。2004 年技术因素只在九个因素中排名第六,此后,这个排名稳步地上升。因此业务主管注意到响应顾客需求的能力是一种竞争优势。由此可以推断,糟糕的技术执行力是对业务的一种内在威胁。这种威胁不会一夜之间就成为现实,但是它已经一触即发。同样的调查还讨论了调查对象如何权衡理解客户的需求和用更短的交付时间来满足他们的需求。最后,这是一种和过程现实相冲突的业务压力。这种过程现实就是研发和运维的技术规程过去是如何运作以及激发将商业做的更好的讨论。

2013-10-12 05:182626
用户头像

发布了 501 篇内容, 共 248.2 次阅读, 收获喜欢 57 次。

关注

评论

发布
暂无评论
发现更多内容

架构师训练营第4周作业



Hive操作异常总结

小马哥

大数据 hive 数据仓库

Redis为什么变慢了?一文讲透如何排查Redis性能问题 | 万字长文

Kaito

redis 性能优化 后端

生活,在哪里都一样

熊斌

个人成长 28天写作

[编程参考-连载] Snowflake 算法原理与对应的 Python 实现

穿甲兵

Python 算法

使用 external version 进行 Elasticsearch 并发控制

escray

elastic 七日更 28天写作 死磕Elasticsearch 60天通过Elastic认证考试

作业2

瑾瑾呀

基于KubeEdge和Kuiper的边缘流式数据处理实践

华为云开发者联盟

spark 边缘计算 kuberedge kuiper 边缘流式数据

Why me, why now Jan 25, 2021

王泰

28天写作

循环?还是递归?

xcbeyond

Java 算法 递归 28天写作

MySQL 5.6.35 索引优化导致的死锁案例解析

vivo互联网技术

MySQL 数据库 死锁

企业项目迁移go-zero全攻略(一)

万俊峰Kevin

微服务 microservice Go 语言

区块链数字钱包APP系统开发|区块链数字钱包软件开发

系统开发

PolarDB-X 并行计算框架

PolarDB-X

数据库 sql 大数据

碎碎念之「技术文档写作风格」

Justin

碎碎念 文档 28天写作 写作技巧

聊聊 Git 的三种传输协议及实现

Zoker

git 架构 DevOps

架构师训练营 - 第四周作业

Mark

数据库性能调优之始: analyze统计信息

华为云开发者联盟

数据库 sql GaussDB 语义

鸿蒙开发者beta!Github标星25K+超火的Android实战项目,赶紧收藏!

欢喜学安卓

android 程序员 面试 移动开发

第九周学习总结

Binary

架构师训练营第4周学习总结



第二章作业(一)

LouisN

与前端训练营的日子 --Week13

SamGo

学习

管理的亲和力是怎么练成的?

一笑

管理 沟通与管理 28天写作

当公元成了可以考古的年代「幻想短篇 17/28」

道伟

28天写作

年会游戏:猜数字(前端特效)

德育处主任

CSS html 大前端 js 28天写作

android开发三大框架!国内一线互联网公司面试题汇总,终局之战

欢喜学安卓

android 程序员 面试 移动开发

大数据场景下Volcano高效调度能力实践

华为云开发者联盟

大数据 spark Kubernetes Volcano application

在 ArrayList 使用冒泡法

sinsy

ArrayList 冒泡法

文章类网站前端日期的显示该如何选择时区?

IT蜗壳-Tango

七日更 服务器时区

产品训练营第二章作业(一)

Arnold

理解DevOps和它所涉及的开发、运维和业务_DevOps & 平台工程_崔康_InfoQ精选文章