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

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

 找回密码
 立即注册

扫描二维码登录本站

QQ登录

只需一步,快速开始

查看: 650|回复: 0

Jenkins 创始人谈DevOps与持续交付

[复制链接]
发表于 2021-12-19 16:25:22 | 显示全部楼层 |阅读模式
本帖最后由 FYIRH 于 2021-12-20 20:26 编辑 ) O- H$ ~4 r6 [

2 [9 ]% H: O6 kJenkins创始人Kohsuke Kawaguchi(KK)于2004年开发了 Jenkins 项目的前身(Hudson),一开始就是为了解决他自己的关于自动化的需求。他自己也没想到15年后,Jenkins 成了软件交付过程中的核心工具,驱动着千万企业的持续交付与 DevOps 过程。  r. f4 d& G( Y( p9 ?+ U) Z6 N) [
: W- R+ x2 u6 @9 g  [5 I$ K/ U
重点内容:
1. 持续交付框架分析, [  P  z( {9 c3 ^) Y+ d& B
2. 敏捷/持续交付/DevOps成熟度现状、级别划定、改进四象限与路线图等
  f% R9 u' M+ x- h1 N; W1 L% a( Q3. DevOps转型策略. Z1 P4 Z3 q1 `
4. 工程实践简介) m7 l' K6 U3 X8 H0 k  F
5. 持续交付的黄金思维圈
: ?5 V; N) V; k6 \

$ u) Y. d# H0 ~& @  H$ J1、流程线已经改变过一次世界
福特在引入流水线生产之后,Model-T 的组装时间缩短了8倍。1.3万名员工生产了30万量汽车,超过了300家竞争对手的总和,这就是效率的神话。
不过后来丰田超越了福特,在不确定性越来越突出的现在,单纯的效率已经不能满足企业的竞争,所以精益、敏捷、DevOps 才会出现,继续探索软件开发新模式、拓展效率和质量的新边疆。
粘贴上传202112191608146245..png
2、软件正在吞噬世界
这个是共识,这是全人类的挑战和机遇,对我们从事工程效率和过程改进的人来说,不断改进软件交付的方式和效率,没有止境。

) I; N9 C/ V* e$ A5 a! N# b
粘贴上传202112191609418962..png
3、头号需求:业务连续性(不停机)
各大权威机构对 IT、DevOps、Continuous Delivery 的预测和评估。
粘贴上传202112191610284066..png
9 e. h6 r* c0 A( O
6 o% Y, o2 }. O, v
认为业务连续性也只是其中一项需求而已,整体上来讲,我们要解决的两个问题是:Build the things right and Build the right things。
从 KK 的 PPT 里获取的信息是,他认为,持续交付和自动化是我们需要的答案之一。
粘贴上传202112191610505179..png
4、持续交付框架分析
粘贴上传202112191611175934..png

- d0 x0 P( Y. s5 w3 W- m

7 \' i8 ~8 V- M" _' ~" f7 u3 g
; P$ z( z" k' t8 |) X
KK 的持续交付相关内容梳理的很清晰。这张图也可以说是 DevOps 的管理与工程实践框架。KK 也强调了 DevOps 是一组文化方法和技术实践。
( t4 P0 y9 b, B* e4 k% S
: c7 e9 {; {3 c& t/ n6 D
维度:
  • 阶段:产品定义、计划、编码、编译、构建、单元测试、分析、集成、集成测试、打包、Place、压力测试、验收测试、发布、部署、监控
    / x  O/ [$ s& p: N3 c其中的构建和编译、单元测试并列,不清楚这里的构建表示什么?我理解的构建时编译、打包、或者在加上单元测试、代码分析的整体。自动化构建的目标就是要输出(高质量)可以部署和测试的软件包。
    6 I6 x+ k. I4 p" Q: U: z3 g另外,关于Place也没有找到对应的解释,有点像部署或者分发
  • 环境
  • 开发环境
  • 预发布环境(类生产环境)
  • 生产环境
    $ z% x: t+ n  h2 \& `) M: w关键中缺少独立的测试环境,从图上的分布看,应该是包含在Development中的
  • 方法
  • 敏捷5 M9 s( d5 S/ A! n' q- m; p  y
    「对特性进行识别、排序、调整的增量开发方法」。不太理解,敏捷的具体方法框架有很多,包括Scrum,XP,Kanban(准确的说属于精益方法)。还有 SAFe,Less 等规模化框架。
  • 持续集成
    3 y  {9 H' m9 O持续集成是持续交付的基础,持续交付是 DevOps 的核心工程实践。非常重要。
  • 持续交付
  • 持续部署另外,红色框的逻辑没有理解明白,有高手请指点。
    3 e  M, P+ M  b' ^9 S
# E0 t) F  s7 V) t) L) ^  N
5、生存还是毁灭,你可以选择
; F+ r5 P& b- E* T+ z
每年的 State of DevOps Report 都会公布四个关键指标的数据:部署频率、周期时间、部署失败率、故障修复时间。高效能IT组织和低效能IT组织的差异非常大。KK的这两张图也非常形象的说明了这个问题。
粘贴上传202112191611452547..png
6、现状和方向

/ r5 K0 X3 B. r  }" H& n' _# n1 O2 H  O$ ^
6.1 敏捷团队占比
4 J8 @: ]+ b/ G
现状是上游敏捷(管理过程,比如Scrum)的团队占比33%,下游敏捷(持续交付)的团队占比13%。
这也符合国内的情况,很多团队刚开始做敏捷的时候都是从管理过程开始敏捷,大多从 Scrum 入手,但是效果一般都不尽如人意。
我认为持续集成和自动化测试是敏捷的两条腿,想要敏捷跑起来,此二者必须同时建设才能让敏捷体现其快速响应变化的价值。
粘贴上传202112191612289963..png
6.2 非敏捷团队占比
0 |- S( D7 ~7 G
根据 KK 的数据,目前有87%的团队,依然没有实现下游的敏捷,即持续交付和持续部署的实施较少或者不成熟。这会导致价值的交付依然长达数月之久。
粘贴上传202112191612557018..png
6.3 成熟度级别
# [4 e3 ?3 Y3 P% r& z
KK 将敏捷(CD、DevOps)的级别划分为团队级,跨团队级,企业级。这个和 DevOps 之父 Patrick 的 DevOps 5个精进级别颇为相似。
粘贴上传202112191613175250..png
企业级的敏捷和 DevOps 还有很长的路要走。企业级的改进需要组织、文化都要共同变化。
- G# q! y; j3 n( i8 n- |  l2 o
6.4 改进四象限

, j0 w& p6 y/ A& R9 e
KK 基于团队级、跨团队级、企业级以及上下游阶段,将改进方向划分为四个象限。* P6 R+ I2 M: [; B0 W
粘贴上传202112191613472411..png
6 f( [7 ^! ?! Y0 F5 @

. w; T! A+ l( G; E3 ]& ~3 N7 s8 n
0 O, T+ c; p) E; }$ {
1. 团队级的敏捷

/ i% U9 b  u" [& A$ }# c4 O# g6 G
1 y2 d) S( g% G: N8 M
2. 团队级的CD

9 G+ _# R5 x6 w" t% P
3. 企业级的敏捷
, t! k2 e9 [/ P& w9 q% B" `7 x
4. 企业级的DevOps(我相信2017和2018年,国内企业一定会迈进企业级的DevOps转型和落地)
8 ]6 w3 u) J- N

$ N5 T2 `# t2 ~
6.5 改进路径与模式
2 H/ q8 l7 K7 b% E; g! J
KK 基于四象限将改进划分为2条路径和2种模式

5 g. |- S- x( w2 x; ~' t
路径一:
2 j6 C7 a$ f3 f9 C3 |
从团队敏捷到企业级(组织级)敏捷,再到企业级 DevOps
粘贴上传202112191615253345..png

1 {  p3 ^7 c1 d! v' p: D+ u" X7 j( y

' w2 \& U1 K" V( y
+ ?( I6 e8 y9 J1 I# Y
路径二:
团队级敏捷—>团队级持续交付—>企业级敏捷—>企业级 DevOps
粘贴上传202112191615474915..png
我所了解的企业,偏向于类似第二种的路径,一开始都在团队级别进行敏捷和持续交付的尝试,逐渐成熟推广复用,规模化。
# c) g) e- |3 c% a# h1 m& [( g
· 自下而上的改进
这种模式应该是比较常见
粘贴上传202112191616182204..png
· 自上而下的改进
粘贴上传202112191616442537..png
: Z2 u" w- k, w! Y! g6 U
6.6 DevOps转型策略KK给出了自己的建议:
1. 识别试点项目+ S4 y6 q+ Z9 a4 u1 w' ^
2. 组建跨职能团队
# X9 e* y/ _$ e  B/ \! |; m+ T3. 采用统一的技术& N- a& w# c; Q; g! D
4. 基于可度量的KPI和里程碑制定计划
% W  u- s; t5 D& Z& M7 T- |5. Go) |+ B& y. ~' C0 K: k
6. 度量,文档化,改进4 p# @0 N( ]  y& t5 I
7. 规模化实践
* v0 |4 P. h0 G- @- d8 d1 Z
关于第4点,我个人一直不喜欢考核,尤其是KPI。我希望的是一种能将工程师导向良性行为的评估方式。但是KK提到的可度量,是一种可取的方式,可度量意味着可执行,有目标。
但是度量一定要慎之又慎。一句话:度量改变行为。
7、工程实践
- a) b; L; k. `0 k# F
粘贴上传202112191618472855..png
9 _3 o. b& s* ]
, i$ q( |9 f* }0 O1 c+ E6 g
& s8 r. c6 n2 H+ n; m1 E- B9 M
关于持续交付,KK重点强调了:A straightforward and repeatable deployment process is important for continuous delivery./ r& q+ \! K7 q4 V3 k/ u
7.1 架构与实现技术
  • 特性开关
  • 灰度发布
  • 微服务
    ) D* U: L6 v% g! [以上三个技术对发布和部署都有很大的提升,特性开关可以调整应用的运用时状态,灰度发布逐步的切换流量,微服务可以做到单个服务的独立发布和部署。
  • 基础设施技术
  • 蓝绿部署
  • 金丝雀发布
  • 凤凰环境
  • 不可变基础设施

    # F! E/ O3 q0 e$ i/ ^) c' J4 o
7.2 基于Jenkins的CD/DevOps生态系统
8 F& T' f- t1 j! n% |, Z
粘贴上传202112191619154620..png

) e% V9 _  _/ ~  ]8 z' M
Jenkins是驱动整个持续交付和DevOps的核心组件。
& z  }) Y) j8 x  J
粘贴上传202112191619356444..png

  B( G2 R9 K4 v/ w! y" E
/ L) g) e9 B' p9 b8 A" Q7 x5 i* Q
8、DevOps 黄金思维圈
以上就是我在研读 KK 的 PPT 过程中的思考和记录,没到现场,所以感觉很零散。恰好最近刚接触一个概念:黄金思维圈,如下图所示:
粘贴上传202112191619554339..png
黄金思维圈帮助我们认知世界,当然也可以帮助我们认知持续交付,尝试分析了一下:
Why:
2 }8 f( p! {0 A( L" p持续且快速、可靠的自动交付软件给用户:
[size=0.85em]1. 实现价值的持续交付,赢得市场竞争
7 h& x6 ^2 c* F, g; [9 y7 n% U2. 提升研发(增值活动)的时间,极大化增值活动产出
How:/ m7 @" c2 H: k, I1 D; B
建设自动化、可重复、可靠的持续交付流水线(IT服务供应链)
9 R: c2 p) R/ r' N: j: y" l主要包括代码管理、持续集成、自动化测试、自动化部署、基础设施自动化管理等方面的工程能力。
What:
1. 每次代码提交都需要经过流水线验证
- R* G+ e. A  P. I! |0 ~9 B
2. 每次部署的版本都经过多环境验证
+ n$ _2 n, m. c
3. 部署频率可以得到提升
  R# {4 \* ^0 {8 _/ l. k7 |/ k
4. 周期时间(从代码提交到部署上线)的时间可以到分钟级

. h4 X- h( P3 D' c# O
5. 部署失败率低
, s& r( a* F7 I
6. 部署失败的修复时间短,影响小
0 W) Q9 p3 K( W" B5 n/ I

5 T1 W, g8 D& g- Y, P
(转自DevOps持续交付)
; {8 X. W! r& e- G1 Y0 t  U1 R# x6 L1 [, |& @
粘贴上传202112191610107822..png




上一篇:陈飞老师《DevOps溯源》21年11月3日晚八点直播!艾拓先锋专家微课堂第426期!
下一篇:华为质量流程IT总裁陶景文:任何不涉及流程重构的数字化转型,都是在装样子 | IDCF
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

参加 ITIL 4 基础和专家认证、长河ITIL实战沙盘、DevOps基础级认证、ITSS服务经理认证报名
ITIL(R) is a registered trademark of AXELOS Limited, used under permission of AXELOS Limited. The Swirl logo is a trademark of AXELOS Limited, used under permission of AXELOS Limited. All rights reserved.

QQ|ITIL ( 粤ICP备11099876号 )|appname

GMT+8, 2022-12-7 17:02 , Processed in 0.103555 second(s), 32 queries .

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2020, Tencent Cloud.

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