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

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

 找回密码
 微信、QQ、手机号一键注册

扫描二维码登录本站

QQ登录

只需一步,快速开始

艾拓先锋
搜索
查看: 248|回复: 0

DevOps金融行业转型案例:Capital One两年实现蝶变

[复制链接]
来自- 广东广州

参加活动:0

组织活动:0

发表于 2018-10-26 16:14:04 | 显示全部楼层 |阅读模式 来自- 广东广州
本帖最后由 adminlily 于 2018-10-26 16:21 编辑
) N& z$ K$ a* O: a6 ?9 G6 J2 l( U) y
背景:Capital One(Capital One Financial Corp. )是一家以投融资及基金管理为基础,集国际贸易、项目开发、投资银行业务为一体的多元化国际企业集团,总部位于美国特拉华州。

% V5 _" R1 o1 F7 b" M
# N: I0 m% Y, E7 [( |, {7 A
DevOps缘起:说起来这家成立只有20多年历史的银行在美国银行业里绝对算是个初创公司。公司一直都是以信息技术优势见长,尤其是在数据分析、数据科学方面,但在软件开发方面之前都是采用外包的方式,并没有被定义成公司的核心业务。

4 a7 r" F4 D, K  c7 B: I5 O/ t
5 |$ F; T  m: `9 @1 V/ e/ R7 U# ?6 W
随着银行业的数字化趋势,尤其是手机上的交易量已经远远超越了传统的交易渠道,促使他们开始把软件开发作为重中之重来对待。

2 Z0 {; Y2 b$ Y! F# d/ d) j' F

8 y7 K. A( c, q- J8 u! C5 M
1.png
- r! Y& U3 o0 E* u5 ^0 j
1 x; I& e) r, j" y. i- x' z
创始人兼CEO RichFairbank能有如此深刻的认识很不容易

( [7 u$ R( n& H9 ^- Q

, k- M1 m0 k4 [# ^
痛点:Capital One的DevOps之旅开始于2014年。当时,Capital One的软件开发实践和很多传统做法没有什么不同:大量外包,瀑布模型,季度发布,手工流程,变更请求。
  F* q8 B. V5 B) g) @
9 Z& ?! F% [: J4 Z' C' e& y1 j
和KeyBank从大事故中痛定思痛不同,他们是从一个小问题反思开始的。在某次代码检查会上,大家发现一个测试失败是由于某个XML文件里的tag不配对造成的。
) }7 n0 ]- T8 p0 |: B5 @

) ~! x- v( L" h8 ^
按理说,这么小的问题改了再提交就可以了。但是:
9 {5 v: n+ l+ N' n( P
. c( O$ F' }2 {" }
1.开发工作是由另外一家公司负责,他们需要发起漫长的变更请求;
* }5 J; l1 P, Z6 U" u' R* z9 f' ^8 U# L, k' I2 P& l% z+ P6 P
2.代码修改后的构建流程(编译、测试、部署等)就需要至少2天时间

# E4 I! g" [: v0 ]( z

, E3 }$ N# H% y- ]
这个小小的问题让Capital One的技术团队开始反思他们的构建流程,并决定从这里下手。
7 A* f) p3 p7 w7 j

3 Q( `. e# B& a6 I8 z/ f
- M* c4 @: s4 S1 t
他们从一个小的团队开始优化构建流程(其实就是最小版本的Pipeline – 部署流水线),最终把时间从2天缩短到几分钟。于是,这个实践逐渐在Capital One蔓延开来,所谓星星之火,可以燎原。

+ d6 B* M: W, V2 t! [2 Z/ Y

! B) B; A/ I& S, t) k0 Q
编者注:这是DevOps转型与落地的典型思路,小范围(局部)改进见效果,然后自发蔓延或者公司整体推广改进。
" @2 q- f4 k2 M" q

( Y3 u* x& @  v# \; _: l1 c
尝到甜头之后,Capital One开始认真思索企业级的DevOps策略。Capital One的DevOps框架涵盖了业务、开发、运维,最后加入了信息安全策略(对金融业安全监管尤其重要),他们称其为DevOpsSec。
8 J$ c. Y% M/ q  q
$ r" u/ ]+ k4 [1 ]% f
1.png
% m& r8 f2 p7 k
3 ]/ H  E$ \" G; x2 S2 E! s. `
Capital One的企业级DevOps框架
. h8 p( ~; U: w/ r
9 |" g* r3 |& C, z
Capital One继续改善流水线的效率,除了开发与测试,要想真正打通流水线,还需要搞定环境/服务器的搭建和管理。之前新建一个服务器要走完62个步骤,耗时60天,开发团队的抱怨很大。
+ q# Y' H  m, g, Q: q  m: V
( @+ V3 n5 @1 ]2 l1 l
Capital One决定:直接上云!
3 v, S- e" Q0 R% Q1 h

- r1 t' F! a0 C- w" r7 {- Q- V
2015年的时候还是只有开发和测试等环境在云上,到了2016年,生产环境全部上云了。
: H" I* j3 h3 r, b: x

! |3 d1 M& Z5 \- m4 m5 g7 P* b
1.png

" A/ F3 o# u/ ~
$ k; ?3 X; s' j) n2 n
Capital One的流水线(Pipeline)
' v6 @/ }+ E* ]6 ?+ l1 v
; V5 U* Z+ c! c3 c$ ?8 ]! C
另外,Capital One发现开源真的是宝。他们不止大量的采用开源工具(”Open Source First”,非开源系统会被严格审查),还积极加入开源社区。
3 n1 Q( p( P' u, S

9 f0 M5 [5 k5 W/ `* i4 b# f
他们发现开源自己的工具可以让代码质量大大提高,并且大大促进了持续体验和持续学习的DevOps文化。
$ h' ^0 U7 n( v# N9 W/ {

  L6 e+ B8 A/ K. C7 ?
1.png

* P( B* T+ ], a% E  G8 z8 K

0 ~' |. R* c% {7 C& n8 ?) {( C
Capital One的开源第一(OpenSource First)策略

6 }' v" V3 ]9 X& w9 c# V* p
$ p$ l2 S/ S  Z+ k9 v' [3 b
2015年取得的成果:
: l3 j7 T5 J7 O6 j( b' C
- F! X3 U& A1 ~$ p6 z" {+ V
1.代码提交频率:从之前的不固定到每天100多次的提交
2 o! Y. X" ~( p  i/ i! x
6 g6 Y. Y2 D$ ?1 d- s8 u& g
6 r9 j) V  M+ a* c2.集成频率:从每月1次到每15分钟一次

) s! @+ r, m/ H! A

, V$ ~8 F2 w. }) M5 a8 r1 U3.部署流程:手工变成自动化

2 D; `0 ~$ h9 w1 A( R

7 ]$ J3 m' L; R4.部署到QA和和Perf(性能)环境频率:从每月1次到每天4次
; I/ y$ G, k2 q
; @" K5 m! D% x! |* l. B4 E
5.部署到生产环境频率:从每月或每个季度1次到到每个迭代1次6 }9 }* n+ S, d

8 O: Q4 e! \4 f/ J; q7 @+ ]6.单元测试覆盖:从没概念到>90
%
4 J: k$ }2 `! N  t+ u

. ]. r- y' t0 J+ C6 c
2016年继续改进流水线,已经能够做到:

. C6 I/ ^" `  t" F

/ `: g; a" l% o/ G% \% v5 }
1.发布到产品环境的频率:从每个Sprint一次到每天至少1次
4 \3 F7 W8 {' C
# D5 d/ K% Y$ d* p$ U
2.自动发布的应用软件数量达20个
; G/ V& X& X, B1 b, Q1 g
* h# O* ~5 T0 W& e' H: H; t' x
" g- l3 e6 |+ w3.一个应用软件每天最多可以发布34

. ^8 |2 A3 T! T. k* t# D5 m

% ?' Z& {5 E) c- ~6 D# C
所以说DevOps的转型可以很快。
9 J9 t, d- W; ]

* m, Q* @, j: D7 S' ~6 j

2 I" f& Z. u9 {1 `5 [
现在,Capital One很骄傲地宣称自已有了和两年前完全不同的DNA:自己开发软件、所有环境都在云上、微服务、开源、DevOpsSec和持续交付。

2 i8 ^1 K. o* q+ z: W

+ k+ o; N' R. G/ b8 u$ G
确实,Capital One在DevOps之路上是远远超越了很多同业的。尤其这一旅程也只用了2年多时间。

* k( x4 P$ o$ I4 G

( w( t* J1 ~+ u3 E  ^2 r* ~* p4 }* D
Capital One认为转型有三个关键中的关键:
% R$ V! M# _" f% L5 _9 D8 y
5 C; H! z6 t, ^
1.外包转向自建开发团队(外包公司要努力了)
. \2 a& o1 y. |! P, S$ G( E

$ k0 c0 o3 R6 i& k& j2.功能团队转成产品团队(一个产品团队就像一个多兵种的行动小组)
' Y$ E. @$ K. s  K
3.不再区分Dev、Ops、QA、RM(Release  Management),大家都在写代码,都是Enginee
r
1.png
! T( @" {+ j: ^% `

/ a3 N8 o# E! _1 W
转型的的三个最关键策略/实践
) f0 f0 @6 x* c! X# u
7 H& m4 i8 A3 V; @4 g4 j* R4 q
总结下Capital One的转型之路:
1.png
3 n% N6 s; P+ }" j

# h# ]9 Q0 w) k5 P
Capital One的DevOps之旅时间表

, z# @- q/ _) \0 r, L# M

5 v9 U) K; D( R! t- a
从这两个演讲中笔者听到最多的就是流水线,开源和安全。

) o! A# \+ H( u+ a) J
3 K9 v: q$ n" a% s1 C5 i3 P; C
尤其是流水线,Capital One的DevOps转型其实就是围绕着这个核心进行的,不断优化,持续改进,在整个公司推广。
5 }' \& _( Z6 N

3 h& K2 P) }* A, k% Q, f! m! k
Capital One总结了要做到真正的流水线,以下15个特性是必须的:
. ~$ K: V2 I  |$ H+ z8 e& w

: i# J' B, w% G% W# E1.版本控制
: A# d6 m! f! H! h- `

; N. d7 Q) e4 j3 q" d* N2.最优的分支策略

: e- O" @; R3 }% N1 ~+ n

9 p6 d  U$ X# i3 z$ Q1 _. B3.代码静态扫描
! `: K0 ~& M: j# D0 e; m3 w
3 H  u' G5 Z( p+ B
4.80%以上的单元测试覆盖率

) H; c: z2 p3 k( o

+ G/ `, Z6 {; E+ q6 h5.漏洞(Vulnerability)扫描

/ V4 a% v* }% {8 d
( C6 d6 H8 D8 ?9 o& N
6.开源工具扫描
1 ?& i0 W; E% b: ?# h# _* h

9 m5 c6 U' ^6 `" ?8 B/ w: Q+ R( C7.制品(Artifact)版本控制
; W0 w  \0 |- E. r, _
4 Y$ B# u- Z7 M1 l& s7 ]
8.环境自动创建

5 g- A  p* g3 s+ M/ |

5 H/ i8 E9 O. u' r* x5 F0 X- K2 l9.不可变服务器(Immutable Server )

# I6 @; b( e- K- z0 q
( f, d2 O9 B' Y4 E! E; {/ G
10.集成测试
. @6 |0 V9 u! O3 o6 i+ t" Q2 m' n

7 |7 G" Q7 W# q" w- M3 k+ v11.性能测试
/ f% J1 x. e% I8 w" k; T; R
0 g; a1 ~  T# V8 {; U
12.每次提交都触发:构建、部署和自动化测试

+ h0 _3 a7 R6 v
# T. E0 C! a& |# ~7 q
13.自动化变更请求
: G( y2 a( E) g1 j2 o

2 _" V, q" R* ^, W3 O6 Q! @' `) _14.零停机发布

2 {5 \# V% q' A; }  L% }5 a
7 B2 I$ t3 w% C( g2 _! |
功能开

5 S# O# \# p& u3 J6 O; b
7 G4 ^9 d  f9 K: o
读者可以对照检验自己项目的Pipeline是否达标。

; A% b9 D$ S# P. O; \' t1 F
3 t, j* ]& w; j8 I& e: T8 r
我们拭目以待Capital One在2017年在DevOps的转型之旅上会给大家带来什么样的惊喜。
& I' Y1 P: R1 ]( H, Q  F: J# D) S/ M' Q
; C3 F7 B) |5 }0 f
本文总结自Topo Pal于DOES15和DOES16的两个演讲《Bankingon Innovation & DevOps》以及《DevOps at Capital One: Focusing onPipeline and Measurement》
/ ~: J( @* L% E6 |  |$ j
/ U! R) y- B$ \! V
原创:许峰

本版积分规则

选择云运维时代的王牌讲师-长河老师,助你轻松入门ITIL Foundation培训课程

QQ|小黑屋|手机版|Archiver|艾拓先锋网 ( 粤ICP备11099876号-1|网站地图

Baidu

GMT+8, 2019-2-24 13:40 , Processed in 0.215960 second(s), 29 queries .

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

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