写点什么

DevOps 的目标特点和部署特性

  • 2013-10-19
  • 本文字数:2131 字

    阅读完需:约 7 分钟

实现 Devops 的目标意味着开发和运维行为和方法的一些基本变化。资深架构师 Dan阐述了实现 DevOps 需要高频率的交付和全局视角,同时分析了一个有效的交付系统应该具备的特质。

关于高频率的问题,Dan 指出,为了实现 DevOps 目标,最明显的变化之一是我们假设把新的软件功能交到用户手中才能让软件更有价值。这个假设意味着越早发布新的软件功能越好,因为这意味着新的软件功能所带来的价值实现的更快。但是绝大多数的开发团队,以前都以用很长的时间开发很大的软件为导向。

这种短周期、高频率的开发假设才正是软件开发定义转变的根本所在。DevOps 摒弃了原来那种一年当中将开发进程暂停很多次而去做很大的软件整合和组装的想法,取而代之的是一个开发系统应该能持续运行,并且擅长连续不断地开发大量小的增量。关键点是替代。传统的以大的开发为导向的系统通常都很笨拙,所以很难高速运转来支持 DevOps。“用旧方法做,就是尽量快点”的企图常常会失败,因为创造旧方法的假设从来不是为了支持高频率的活动。这不是好与不好,这只是一个需要解决的工程问题。

鉴于这种新的交付过程变成了从软件投资中获取价值的固有的一部分,这种过程理所当然也就成为了整个系统新的扩展。它成为了评价研发投资最基本的方式。于是,这也形成了管理交付进程的效率和效果对整个系统来说有着直接且可计量的商业价值的假设。这个假设所暗含的意思是忽略维持交付能力所产生成本是不可行的。

而 DevOps 研发另外一个特点是它着眼于完整的系统而不是简单的能实现软件功能的代码变化。Dan 指出:

DevOps 严谨地认为应用程序代码依靠服务器、网络和数据库等基础设施来实现它的价值。因此,DevOps 部署方法同等地对待系统组成部分的所有变化,以同样的方式追踪记录这些变化。一些基础设施的变化,比如一个谨慎的网络交换机升级或者存储设备的增加,会被视为性能的增强(系统的新功能),即便这些变化可能会不太容易察觉。同样的,网络服务器的或者 SAN 固件补丁可能会被认为是修复补丁或者缺陷。不论一个开发团队如何将事物分类,关键是他们能够用同样的严谨态度去对待其他部分,来保证整个系统的持续稳定。

在 DevOps 环境下,将全局系统的视角运用到一个高层次的模型中,Dan 认为将会产生下面四种将被交付的核心变化:

  • 应用——应用是系统中编写代码的真正特性。它是驱动整个核心业务进程的具有高度可见性的功能。它的这种可见性使它获得了很多的注意,但是这种关注几乎没有给支持它的环境带来任何主动式的价值考虑。
  • 操作系统服务——操作系统服务适用于所有的机器(虚拟的或是真实的)、操作系统服务、程序库和能让应用运行的中间软件。所有环境下配置的协调性,从测试一直到生产,都是应用稳定性和质量的关键驱动因素。
  • 网络服务——网络服务将所有的网络设备和配置集中在应用的周围。这些配置显然影响运行和可用性,但是也能影响应用行为和体系结构。例如,应用和负载均衡器必须就在其他事物中就 session 处理达成一致。
  • 数据库——应用中的数据库包含应用使用和产生的关键数据。在应用的整个生命周期中,数据库和应用必须在数据规划结构方面完美地保持同步。

Dan 认为,DevOps 部署需要一种很严格缜密的方法将各种变化传递到这种部署所支持的软件系统。系统需要承受的异常、变化或者是特殊的事件越多,系统开发尤其是维护就会越昂贵。控制交付过程的复杂程度就要理解并控制将被交付的对象以及它们是怎样被交付的。这要求开发团队必须商定一套构成每个交付单元的已定义的程序包和一个能和谐地将程序部署到所需要的环境中的系统。

以“定义好的程序包”为例,Dan 指出:

一个有效的交付系统要求被交付的项目符合一定的标准。现实世界中的集装箱就是一个很好的例子。这种标准的集装箱能够被标准的设备通过极其复杂的物流网运输。这个物流网络包括很多不同的交通方式,如火车、货船和货车。在起重机和追踪系统的帮助下,我们能将任何东西运送到任何地方,只要它能够被装在一个集装箱中。将这些集装行标准化是世界商品运输和贸易史上的一次革命。

好消息是我们没必要制定一个国际化的标准来将变化交付到一个软件系统中。许多开发团队已经通过一些活动拓展实现了这个目标。许多开发团队正在通过持续集成或者其他的计划以稳定的速度开发软件内部版本。这些内部版本拥有或者应该拥有一些独特的身份标识,能让使用它们的人,比如测试者,预期软件的性能和特点等。

这种方法能给开发团队提供一条理解其他三大组件中变化组群的基准。如果这四大构成中的每一种都有一种标准方式去识别变化,那么通过独有的变化指示器去追踪这四大构成的组合就会变得相对直接简便。对应用的内部版本号、配置服务器以及数据库的模式版本等的组合就能够被记录并且被部署到任何测试或者使用环境中。

交付系统不像集装箱,Dan 指出,可部署数据包系统不一定和水力学和柴油燃料有关。相反,它涉及一组工具和程序,它们能让开发团队以同样的方式操控他们的开发环境、测试环境以及生产环境并且任何时候都能将数据包部署到任何一个环境中。这些工具和程序涉及环境中的各种函数。这些函数包含不同领域的专业知识,并且根据组件中出现的问题以不同的方式运用。考虑到各种函数复杂性,根据它们的作用建立一个框架来将它们形象化并分成不同的种类将会很有帮助。

2013-10-19 07:072879
用户头像

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

关注

评论

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

征程 6E/M 快速上手实战 Sample-PYM

地平线开发者

自动驾驶 算法

IDA Professional 9.0打开显示30016错误解决方法

Rose

写在 Pencils Protocol TGE 前:看好 $DAPP,加密社区共识是王道

大瞿科技

38个LomBok工具注解:LomBok架构分析与注解使用案例(必须收藏)

肖哥弹架构

Java lombok

VMware Workstation 17.6 Pro macOS Unlocker & OEM BIOS 2.7 for Linux - 在 Linux 上运行 macOS Sequoia

sysin

macos vmware OEM unlocker Workstation

aspose.words与文件格式转换实现

程序员架构进阶

word java-API 9月日更 9月月更 aspose.words

Corel Painter 2023序列号 强大的数字绘画软件

理理

LED大屏幕:现代显示技术的璀璨之星

Dylan

技术 科技 LED LED display 屏幕

Nexpose 6.6.267 发布下载,新增功能概览

sysin

漏洞扫描 Nexpose

VMware Workstation 17.6 Pro macOS Unlocker & OEM BIOS 2.7 for Windows

sysin

macos vmware OEM unlocker Workstation

零基础学习地平线 征程6 QAT 量化感知训练

地平线开发者

自动驾驶 算法 QAT

狂奔的荣耀,稳健的苹果:AI Agent手机竞速赛

脑极体

AI

Stata 15:数据管理及统计分析工具

Rose

macos big sur 软件icons图标大全(新增至2719枚大苏尔风格图标)

Rose

写在 Pencils Protocol TGE 前:加密市场共识才是王道,拥抱社区

BlockChain先知

Cinema 4D 2024 For mac/win 中文破解版 C4D 2024下载安装教程

Rose

Magnet AXIOM 8.0 Windows x64 Multilingual - 数字取证与分析

sysin

数字取证 magenet AXIOM

6个 Spring messaging注解:整体架构分析与注解应用案例(必须收藏)

肖哥弹架构

Java spring spring messaging

OmniGraffle Pro for mac(思维导图/流程图软件)v7.23.1正式注册版

Rose

Sketch for mac(专业矢量绘图设计软件)v100.3中文破解版

Rose

Maplesoft Maple 2024 for mac v2024.0 专业的数学计算软件

Rose

Understand for Mac(优秀的源代码审查工具)

Rose

Bartender 5 for mac(菜单栏图标管理软件)v5.1.2中/英激活版

理理

写在 Pencils Protocol TGE 前:看好 $DAPP,加密社区共识是王道

石头财经

创业者必读!选择拍卖源码还是自建开发,哪种方案更安全?

软件开发-梦幻运营部

Blu-ray Player Pro for Mac(蓝光高清播放工具)v3.3.22中文版

Rose

站在 AI 与 Web3 的交汇路口,EraAI 如何带领投资者进入智能化决策时代?

股市老人

写在 Pencils Protocol TGE 前:看好 $DAPP,加密社区共识是王道

加密眼界

探索 RAD:5 个最佳实践案例解析

NocoBase

低代码 实践案例 无代码 RAD 快速应用开发

UnlockGo(安卓版)For mac 手机解锁工具

Rose

DevOps的目标特点和部署特性_DevOps & 平台工程_崔康_InfoQ精选文章