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

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

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

扫描二维码登录本站

QQ登录

只需一步,快速开始

搜索
查看: 704|回复: 0

金融行业-KeyBank银行DevOps转型案例

[复制链接]
发表于 2018-11-15 15:41:09 | 显示全部楼层 |阅读模式
本帖最后由 adminlily 于 2018-11-15 15:42 编辑
- a( w% G) j/ m% B* o( M; }/ ^% Q
本文根据John Rzeszotarski和Chris McFee在DOES16(DevOps企业峰会16)的演讲《Banking on DevOps》整理而成。

/ Y* w  o( P: J0 [: G* T0 w0 {
, f7 q9 j1 x: ]* G
背景:KeyBank是北美15家最大的银行之一,有超过190年的历史,主要服务于企业客户。总资产大约为940亿美元。Keybank银行及其子公司,提供了一系列的零售和商业银行服务,包括商业银行贷款,投资管理,金融,投资理财产品,以及个人服务等。 经过多年的发展和并购,该金融机构的IT系统变得异常复杂。

: s, t9 C/ O6 N2 S
7 j1 [6 V4 Z& f* W$ R
灾难:2年前KeyBank经历了一次严重的系统停机事件,在修复该事件的过程中,由于对系统复杂度理解不足,导致更大的服务终止问题。该事件引起KeyBank高层高度重视。这也说明没有痛点企业很难下决心解决问题。

: {, g+ f1 k2 k9 B' \7 {
+ Q) M4 |! K$ M
首先,KeyBank成立了一个4个人的资深技术小组(START),负责了解KeyBank采用的系统复杂度到底是怎么样的。

' l  J' H. a- b2 _# V# o
. u" u+ a) ^$ L' N
该小组历经三个多月的时间,把银行每个主要交易事务所涉及到的硬件(服务器,网络)和软件服务都绘制到一个图示中。结果发现历经多年发展,KeyBank维护的IT系统的复杂度着实惊人:仅仅一个用户登陆(Login)行为,就要经历190个网络跃点(见下图)

6 z: w# w) {, g( J* S  r; R
/ B9 P6 ~$ F! z6 i
0?wx_fmt=png.jpg

; E3 `0 F  H$ u& p0 z+ H
. i8 c+ R8 G+ ^& O
一个登陆动作会历经190个网络跃点

& W0 d; T* R( ~0 i  Y% K

" s. r" K0 C. S) |. C5 ?9 o2 V
其它发现的问题主要包括:

; ^) h( n) ]4 n

6 s' @1 D7 R& ^3 u8 w; n
·     缺少统一配置(服务器,网络等)

+ D* F3 k$ V! g" z8 }6 k
5 \! P, }0 p; x$ F
·     缺少自动化

0 r+ C7 D. d" S* K( h. t- i& L

3 l% ^+ H6 {' \+ |% m
·     团队之间职责不清、缺少沟通

& X2 \  r3 Q+ p
% O+ I. T0 I; L9 U  b" }, l
·     不同环境迁入导致的高额技术债
) k9 L' ^* {" V
! }3 U4 L4 e" }( V
这些问题使大家意识到要想类似(或更严重)的服务停止事件不再发生,需要从根本上解决这些问题。从此KeyBank开始了DevOps之旅。
! ^( x( J, ?7 s
1 i( n) a, }( E
当然,首先这个小组要说服高层接受DevOps理念。他们用数据来说服老板们(下图):

! E# p/ I; C2 h& E1 r( [
0 E4 i9 e- m2 M7 e1 U) b! H
0?wx_fmt=png.jpg

6 G8 }& C# b6 d4 r: z
. @9 X5 k$ S4 r9 F
给公司高层的DevOps好处分析
; h' ]+ [' `) K1 F" f

8 y& b5 R+ C# G6 q: L/ S5 i4 M: F
基本上就是跟老板说,通过实践DevOps,可以:

4 B5 s. P3 `2 g
" F! r3 b/ {: Q; a" ^; x" s
·     优化50%的测试资源(想说可以减掉50%的人工吧??)
7 i8 w: B1 E2 t1 X

- q3 N) \, ]2 }" {4 l' P
·     优化40%的发布和代码管理工作

8 p6 f4 q! m! @- L, Q% M

. H( e1 @5 b4 a5 p2 F: ^- q
·     优化20%的基础设施工程师

0 `% y0 g9 Z- i+ o
5 ~4 _  l0 A- i5 s. ]( u# F  I
·     降低85%的产品上线周期(测设、安全、发布)!

! L6 r1 `$ o: m

* I- g- g" `9 o; a
·     降低30%的新产品Defects!
* k" q) v- d7 P1 t

; k/ [: o/ u2 x. G' i
·     再降低50%的部署失败率!
2 b5 j! P  y3 x, ~
7 \5 L$ Q5 v9 `1 g1 {3 }) A2 @
(这几个哥们够拼的,把自己都逼上绝路了)
9 R9 y4 K( i. C1 ]  n' g& V
4 `9 h' ~  e, e7 K! c: H3 `
KeyBank的高层看了还是很心动的,但是搞DevOps要花钱,再增加IT预算也不现实(刚刚出了事故)。最后他们达成一致:
) Z) U) ~+ P2 W( w- x, ^$ N' Y

$ V8 Z6 Q- l$ S( m% z: [
·     老板自掏腰包搞了个天使投资(估计是从现有IT预算里挤出来的)

. L' _4 P7 m. U$ ^: h- ]
/ T/ s6 Q8 V- i* k: e  G
·     先成立一个4个人的DevOps小组(后面会说这个小组做什么),后期发展到10~12个人的规模

* K7 U) a, P+ ~+ p+ d

: E" b& y3 c2 ^& g- ]: N
·     先找一个业务价值大的项目开始(网上银行)实践

0 F# K/ ~' h! t+ e* q
0 ^) y8 x1 Z' b2 M" F6 f! x* v
这个4人DevOps小组的重点攻关方向只有三个:容器,自动化测试,持续交付。
* v$ L( |5 U. h' Y$ r+ D' T
! I+ p7 P- m! R  d- V4 z
关于这三个重点方向的确定,是KeyBank对该企业硬件和配置环境复杂度,测试质量和低测试效率(顺便说下,他们之前建了很多外包测试中心),还有自动化程度不足的深思熟虑的结果。当然对很多类似的企业也有很多参考价值。

# G/ W$ p4 f# l9 W+ _! X
" u% y% f7 I% A
0?wx_fmt=png.jpg
1 d8 I* \; g) {; Z  @4 e  p

5 h# f, H7 T! J: ]  B! e
KeyBank的三个DevOps重点方向

3 Y0 S. ~+ t4 a% L! N

- J0 p* G/ m1 N2 p- W
容器使得KeyBank可以采用Immutable Server的策略,大大简化了环境管理的复杂度。另外在Docker之上,他们也采用Kubernetes来保证高可用性,热部署,和环境的自我修复。两位倾情推荐!

9 `$ ~5 z7 U0 h2 \! \: B
# u7 ?' v4 o( ~8 f

. J* {: Y" j, k+ n
0?wx_fmt=png.jpg

. t) Z" `" |7 ?  T1 d$ b$ Q# M. i

3 r) Y: T5 H, ]( n; P  i& N
通过Kubernetes把Docker连接和管理起来
* v, j0 C7 L8 I9 A8 J

1 w* Z' g+ p3 c$ R0 F3 k1 \7 Z
两位继续谈到了自动化测试的重要性,也提到了转换到自动化测试需要比较长的培训和试错时间。但一切都是值得的。现在他们每个Build要运行超过5,000个测试,而执行时间只有15分钟!这在手工测试时代是不可想象的。

0 s& U6 Z  g+ g$ l+ Y, d

) A0 X4 Y1 x/ k8 Y6 K2 n
接下来是持续交付。持续交付使得整个交付周期形成一个无缝的流,也让每个不同的部门/角色都能协同在一起工作。业务现在分析人员也开始写Gherkin代码,而运维人员则写基础设施即代码的脚本。

, \4 _# T% T! J3 z8 T( f9 i

+ {7 |8 `3 j9 J* P
经过一年半的努力(并不算长),KeyBank达成了以前不敢想象的IT能力:
5 L0 y0 L! O/ w# H

3 j# T# a4 S0 @- s
比如测试执行时间,以前的测试84个场景要执行1200小时,而新的自动化测试覆盖195个场景,只需要12分钟。

# a! \$ @2 t& P9 \' r
! B9 ^4 p- K. w# T
最令他们骄傲的是,2016年KeyBank收购了First Niagara,一下子网上交易量暴增。而即使在并购后最初上线运行的前4天的高峰期,他们还热部署了10个发布到,结果没发现一个产品缺陷!更多见下图。
% A1 y2 J( }: l2 ~: g- V. J
$ A4 Z7 M+ d/ W: N; H) P3 t
0?wx_fmt=png.jpg
: i. h3 U. ^& ~* f4 L% E( G0 {
/ t4 S  J: M6 \" d+ F
只用了一年半时间,KeyBank的IT就达到了非常惊人的结果
# o7 r: F6 p! {; _) t5 v! ?$ w7 J9 ^

: E8 M  p3 U5 @( `2 @: {; O6 ?$ h
以上就是KeyBank的DevOps转型简介。有兴趣的读者可以访问https://www.youtube.com/watch?v=xgSkva_Eq5s观看完整视频(需翻墙)。

6 g3 q- p. ?; P% W4 S$ t

) S4 h/ A1 c7 I! ]' L4 ~: E! m! Z- L" E
最后一张图送给工具控们:
, Y) a  |# w" i
# ]) G& t- A3 l2 m2 x! \$ e* U
0?wx_fmt=png.jpg
KeyBank 的DevOps工具链
7 Q4 F. m6 V1 l$ B) j

- v: ^8 y2 T2 v, q: T
) H" s: O  ?0 q) [
原创:DevOps咖啡馆
7 d2 m6 u" \" H1 ^, b  c

- Y( o& `# c" p" w/ I! X: }/ G1 c  O# N+ N1 e9 g( w0 c4 G
8 `' J$ f- O2 z/ O# A
, _8 {- R7 b. F7 w9 h

3 g. N) T6 d  b, C. T

- s7 m$ {  n' q7 S$ m3 k
/ @* {1 i& @. _1 l9 j
# e$ F7 x- {) W: |/ ?, Y

本版积分规则

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

Baidu

GMT+8, 2019-9-23 06:55 , Processed in 0.147670 second(s), 24 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

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