请选择 进入手机版 | 继续访问电脑版

ITIL,DevOps,ITSS,ITSM,IT运维管理-ITIL先锋论坛

 找回密码
 立即注册

扫描二维码登录本站

QQ登录

只需一步,快速开始

查看: 77|回复: 0

DevOps 的发展简史

[复制链接]
发表于 2021-12-25 19:35:56 | 显示全部楼层 |阅读模式
本帖最后由 FYIRH 于 2021-12-25 19:40 编辑 1 R# g3 r: z4 G+ B: I* Y
0 B( y  z4 l. U5 i8 l
Google DevOps. @: E* n, w2 ^( P8 Z8 V

: E- D% Y. X' U$ D当我们在搜索引擎搜索 DevOps 的时候,会出现很多其他的名词,例如,Agile(敏捷开发),Scrum,Lean,Kanban 等等。无形之中增加了我们的学习难度。
2 C" R: Q; i* r7 q

; Y* O6 l% l$ G- _  C看看 DevOps 是怎么来的?
当我们无法从网上找到一个确切的答案时,最好办法就是看它的变迁史。

5 _4 ~6 g4 v6 }3 ^! q6 b; Q
由于 DevOps 是一个系统性工程,所以很难用一句话来说明,即使我们用一句话说明,也很难理解。要不然,也显示不出它的优越性!
% n0 g! q1 Y& ]2 w$ b; \$ _
粘贴上传202112251931107601..png

  L" Y% ^7 x8 @; ?1 a
1948 - TPS(丰田生产方式)8 T% Z0 G% D. B+ y5 w$ Z

1 z: i" d4 ]. g/ m1 g: V$ j
6 I$ a1 h) b- T3 H( }" p7 s7 j
丰田生产方式(英语:Toyota Production System,缩写为 TPS),是由丰田提出的一个整合的社会-技术系统,包含一套管理理念和实践。丰田生产方式为汽车制造安排生产和物流,当中包括与供应商和客户的互动。该系统是更通用的“精益生产”的先驱。大野耐一、新乡重夫和丰田英二在1948年和1975年之间,开发了这个系统。
- J( u  Q4 m$ f" }3 M* N! x  X; S8 {8 o* M* Y8 }
8 D3 z+ P2 _, `
针对于流水线自动化,工业制造行业是领先于软件行业的。早在1948年,丰田就采用 TPS 模式,与德国大众,美国通用汽车一起成为世界三大汽车制造商。TPS 的核心在于杜绝浪费,简单理解,就是丰田在生产销售的各个阶段做到了成本最优。0 G# k/ Q- ^. g
& u$ s% T/ b, e6 x; M9 Z# c/ Y

- E+ d3 p; c4 T6 y' L其实,软件开发的流程中,寻求的也是成本最优,只不过,我们逐渐把这个淡忘了而已。! |. g  t. h5 I+ f' I& F  J2 ]2 l9 o
( S) b: K% u: o
1960 - Kanban(工业制造)
Kanban 源于丰田生产模式,Kanban 一词来源于日文。随后,在2006年,软件行业中也出现了 Kanban 的概念。
! ^1 [" X' j1 z' ^
用过一张对比图来看一下 TPS 中的 Kanban 与软件行业中的看板。

' U- H$ H* y* Y7 `
粘贴上传202112251931434487..png
. A1 c2 E6 w3 V3 g8 }# M% ^
由上图可见,软件行业中使用的 Kanban(比如 Trello,Jira)这些应用,其实都是来源于 TPS。所以,软件公司里要求员工使用类似的 Kanban,根本原因,不是为了彰显公司多专业,而是从工业领域的实践中来的。5 v# d- |  l* Y

5 D- M9 f, S9 H+ N& c5 a
/ \# T5 k4 y" o' G2 W- x
当然,工具是一方面,怎么去运用 Kanban 是另一个话题了,只有在工具和运用配合得当的时候,才可以发挥作用,不然 Kanban 就只会变成一个摆设。
: ~4 b& ~" f8 o& {& U' ?0 m  d2 ~, `0 W1 H: {  o
' x) m- D! p5 n" _
简单来讲,运用 Kanban,我们可以追踪项目进度。' w8 Y) }* t6 ~3 t$ I+ g  T- h
. s, o* \# o! e5 ?
1970 - Waterfall(软件行业)
% J& D5 e5 ^2 P, G- {8 ~, x
直到 1970年,软件开发流程一直是一个瀑布模型。这个模型其实很好理解,就是从头到尾一气合成。我们在学校里或者刚开始工作的时候,采用的都是这个模型。有不少小公司,采用的也是这种模型。* m  d6 _; v" q+ Z5 V; v* f

, M* K  j. v: P
) S! B2 J5 x) i' m8 Z/ m9 }
粘贴上传202112251932588081..png

2 A2 D0 R; p# Q, ?0 p; O# O& i, z& [8 B# L  J
& |! V/ C; t7 Y) ^0 [
什么情况下,适合使用此类模型?
8 ]# [, w1 e3 A1 N1 c
, b( M( x" y0 a) B  |. i; M1 {

" r4 A* A% c8 n* \瀑布模型已经不推荐企业使用,说的再白一点,如果是团队,就应该避开瀑布模型。也就是说,如果是一个人开发,可以采用瀑布模型,或者是不用后期维护的一次性开发,比如,做一个静态页面的网站。, n, y' d, B/ B7 q6 {

3 g0 F" \  p7 G6 V7 Q3 O, _5 [1986 - Scrum(工业制造)' f5 E+ J3 J: ^# I$ c+ J" F
1 A- f" K& h( M7 q
2 d: Q4 N9 n* a- x# d
从单词本身来翻译,Scrum 的意思是争吵。用于开发、交付和维持错综复杂产品的敏捷框架。所以,不是指我们每天做的站会,站会只是 Scrum 的一个体现形式而已。
& ?1 O  z  X. z) E; ~: t  A7 O' S3 E# R0 h# I. K, e

. C3 n( y) x/ v0 i/ i) R& r3 P* U在工业生产领域,Scrum 体现了一个生产线的流程。在软件开发领域,Scrum 属于 Agile(敏捷开发)的一个方法论,我们会在下文中介绍。2 m& P* h3 ^& w9 j& b& L
( }8 i- Y( ~& w8 ?/ h( _% x1 c
1 |" w1 M( f: ]: r
粘贴上传202112251933203145..png
/ s! v/ G' G4 Z1 i/ X! i

' V  v: ?- n% M* k$ l2 O1991 - Lean manufacturing; `; ^: D# x4 V, S7 b
3 @& d/ y3 J4 X, S

1 h* [' h0 P! p8 c& b精益生产,一种系统性的生产方法,其目标在于减少生产过程中的无益浪费。这个概念也来源于 TPS。简单来说,精实生产的核心是用最少工作,创造价值,是 TPS 的发展产物。3 l( w* k0 X# G# O
& A! e# V) P; B' O
1995 - Scrum(软件行业)

+ P7 k8 ]- |& f4 L: m: G
软件行业中的 Scrum 由工业制造中而来,只一套敏捷开发的方法论。我们在日常工作中遇到的 Milestone,Epic,Spring,Task,站会,都属于 Scrum 里的概念。每个公司都应该有一套自己的 Scrum 模式,而不是去抄袭别的公司的模式,甚至说,一个公司的不同团队,都会有自己的 Scrum 模式,因为团队是由人来构成的,每一个人的能力,性格的差异,会决定这个团队的生产力。

! b! z0 \" q8 y: S( o, |( k
粘贴上传202112251934031106..png

7 _- G+ [. A% a. F3 R$ i2 p) I& W1 w( A1995 - Agile(软件行业)
- p- t( L2 `2 ^
8 l% _( _- t$ S7 F$ i1 V4 P: D

+ S) Y) j; w- K% _比起 Scrum,Lean 这些词汇,Agile(敏捷开发)应该是在国内听到的最多的词汇。很多我们使用的产品,例如,Jira,Trello,云效,Coding 这些产品,它的核心价值也是实现敏捷开发。2 P$ U+ C& W3 u1 k
) N' b$ D) L( b* N( U# }% p
3 I/ L' H( X5 L+ ~; W# T: H! ~
提到 Agile,不得不提起 Agile Manifesto(Agile 宣言)。在2001年,十七名软件开发人员在犹他州的雪鸟度假村会面,讨论这些轻量级的开发方法,并由Jeff Sutherland,Ken Schwaber和Alistair Cockburn发起,一同发布了“敏捷软件开发宣言”。
+ j7 {6 X1 X8 w& K* A
# P, D8 g, m$ O) |/ F* ]: X% M

( E- i9 i# r$ J  M; C$ a. w6 p
粘贴上传202112251934284705..png

  M. c/ i" k& B1 t3 r
' E$ B: d; N$ H
现今的 Agile 的内容已经丰富了很多,不过在当时,Agile 宣言的主要内容如下:
  • 个体和互动:高于流程和工具。
  • 工作的软件:高于详尽的文档。
  • 客户合作:高于合同谈判。
  • 响应变化:高于遵循计划。
    ) O6 Y, F4 {$ [$ o
一个模凌两可的解释,对不对?

7 r5 L8 A. p$ P! u# N5 c, B
说的白一点,Agile 注重团队协同。这不就是公司内部一直在宣传的口号吗?

4 h1 `8 @8 z  R, W- h2003 - Lean(软件行业)
) }4 B& ?& o4 l, {
- M8 S2 Z- {, j
) ^. \6 S: ?8 W  B& V- m
直到 2003年,Agile 框架中,除了 Scrum 方法论,又添加了 Lean 方法论。上面我们提到,Lean 就是使用最少的成本,达到目的。
  • 消除浪费
  • 增强学习
  • 尽量延迟决定
  • 尽快发布
  • 下放权力
  • 嵌入质量
  • 全局优化1 v2 Y3 E* u) ^  c
4 e% N- _/ p3 h" r" S2 ?

1 A: `( o  @. T7 b  Q' @由 Lean 方法论,2011年,又出现了 Lean Startup(精益创业)的概念。

: c% {3 S% f$ ]
, u8 A4 n3 O- i1 v2006 - Kanban(软件行业)
" P2 x% T8 Q" v' @. [
( ]( t5 H+ J% G5 }& ^& n1 W" v
) a/ f; i4 |0 c7 F2 G2 \5 X( n
在 2006年,软件行业也开始大规模应用 Kanban 模式,也出现了相应的 SaaS 服务。国内现在也已经普及了 Kanban 模式的使用,不过,大多数情况,并没有应用的得心应手。Kanban 的存在很多时候,都是在应付每周一次的例会。
6 y) D2 I( ~4 i- T
1 B4 P4 ]6 b2 ?% N$ G, c/ k0 N
2009 - DevOps(软件行业)

: C! B8 @7 x& t
直到 2009年,DevOps 的概念又悄然升起。DevOps 并不属于 Agile 框架。如果去搜索 DevOps 概念,每一个大公司都会给出一个自己的概念。

- f, ~. I- s9 `8 v! \) c- }
简单来说,DevOps 是一个企业的生产文化,是 Agile 框架的一个补充和拓展。
DevOps 与 Agile 有什么区别点?
9 i/ \  j) s: v1 v1 Y; M, C7 p
我们会在后续的文章中,详细介绍这两个的区别点。这里我们只给出一个简单的介绍。
5 X3 f$ Y* i/ O. i9 E" G7 b
粘贴上传202112251935074150..png
, L3 z8 D2 l& d. M" q* X
2014 - ChatOps(软件行业)
1 I  O  D4 o2 e* S. x

! w/ j0 a5 P4 o
( {. Q! Y0 h$ r' ?' R7 _* g
2014年,ChatOps 又从 DevOps 里衍生出来。ChatOps 是一种协作模型,它将人员、工具、流程和自动化连接到一个透明的工作流中。
$ y# |- M9 O9 _: J6 z
+ C! G! x3 H- b; i8 l7 ^
( _: ?% I; i( p4 Q4 N
不好理解对不对?简单来说,就是通过 Chat 模式(使用企业微信,叮叮,飞书,Slack)等工具 + 后台的机器人,以聊天的模式完成工作流。7 v$ D" T3 f3 P' {6 S7 m

7 z' n- _5 B( S1 C$ N

/ W3 Q5 N6 D! W8 j+ B% w4 V" c0 I7 i  B举个例子:  a5 h) ^2 d  n9 G2 R( x6 e
' U  q# o$ J8 x, y3 n- g' [

# k+ U9 A/ f8 X我在 Git 上提交了一个代码,这时候,后台机器人会自动往企业微信群里推送一个Git commit信息,你需要回复同意构建/部署,才会进行到下一步。* i+ B: w$ X$ U$ m$ n3 o0 Q

. c+ V+ E7 g" Q  Y% m4 Y! T

0 ]: ]  H5 u1 d" n6 d这也是为什么 Slack 等工具里,经常出现 bot(后台机器人)等产品的原因。其实也好理解,自动客服也是类似的原理。
$ e) l1 L; L/ ^  _
! t1 G3 u  Q$ ~9 |; y4 A; cGiTops5 \9 O8 @& g. @  |8 w/ {8 {

- B7 @9 t3 ~2 T$ \
7 R/ `2 r7 _( I! L, d
2017年,又出现了 GitOps 的概念。GitOps 是一种为云原生应用程序实现持续部署的方式。它通过使用开发人员已经熟悉的工具,包括 Git 和持续部署工具,专注于在操作基础设施时以开发人员为中心的体验。
5 m* f  {% ?! G9 B% ^2 E8 n
; N( w1 _. Y7 P  yFinOps
7 \! b' S/ x2 O7 p' d& h3 o* h1 D& F- [- ~

9 [% R* V$ c- n+ x! [  H( LFinOps 是“云财务运营”或“云财务管理”或“云成本管理”的简写。这是一种将财务责任引入云的可变支出模型的做法,使分布式团队能够在速度、成本和质量之间进行业务权衡。- d4 A7 Y* {2 {; v# ?$ h# M( K8 n
, k% T. Z+ f, L0 Z6 W' S7 h
AIOps' T- D+ ?+ m+ f. p' _+ L

9 _$ }  V6 A8 M  ~) k0 U& H到现在为止,没有达到规模性应用,还处于孵化阶段。说白一点,就是要把 AI 技术放到运维当中。
( N$ b( G' q  k+ P& L% p# `2 F- p$ b. Z  J5 \; r: Z1 {

7 z2 F: f# s( K8 {8 L9 L; g4 `结论
在这里,我们只是简单的回顾了一下 DevOps 相关的历史变迁,没有涉及到概念和核心。
在接下来的文章中,会继续介绍。(转自dongxuny)

" O, [1 H+ J7 ]1 I8 b# t




上一篇:什么?DevOps 已经是哲学啦?
下一篇:2021年你不能错过的 DevOps 趋势
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

参加 ITIL 4 基础和中级专家认证、v3专家升级、DevOps专家认证、ITSS服务经理认证报名
本站关键字: ITIL| ITSM| ISO20000| ITIL培训| ITIL认证| ITIL考试| ITSS| ITSS培训| ITSS认证| IT运维管理| DevOps| DevOps培训| DevOps认证| itop| itil4| sre| 开源ITSM软件

QQ|ITIL先锋论坛 ( 粤ICP备11099876号 )|appname

Baidu

GMT+8, 2022-1-20 19:21 , Processed in 0.176205 second(s), 29 queries .

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表