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

 找回密码
 立即注册 - 请先获取邀请码

QQ登录

只需一步,快速开始

扫一扫,访问微社区

搜索
查看: 268|回复: 0

你遇到过几个DevOps的挑战?

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

参加活动:0

组织活动:12

发表于 2017-8-24 15:09:44 | 显示全部楼层 |阅读模式 来自- 广东广州
DevOps的主要目标很简单即:频繁、可靠地发布软件更新,并提高质量,这个目标有点“十全十美”,每个企业都会赞同这个目标,很多人回告诉你,他们已经通过遵循一些常用的框架如:CALMS开始了DevOps的道路。" o" ~0 F. I  m4 h

" A1 `0 A+ W( n( U
然而,很少人会对DevOps模式的结果表示满意,我们访问了使用生命周期的不同阶段的200多名DevOps专业人员,发现企业通常属于三大类:
" N! Q4 K  G# h# k  Y

# }0 w5 r6 F+ w$ z3 C" D
最让人感兴趣的是第二和第三组,因为他们实际上已经开始实践DevOps模式,当被问及如何更好地解释这些挑战和障碍时,以下是我们的发现:
6 b5 U6 K5 s/ ^* [3 P* V* E8 \
  • 68%的人说,在工具链中,不同的DevOps工具之间的关联性让人十分苦恼。
    " T" ]& q1 C, L3 n6 Q7 b
  • 52%的人说,大部分测试仍然以手动模式进行,速度反而降低。
  • 38%的人混合了传统和现代的应用,比如Brownfield Environments,因此在部署策略和端点,工具链方面提高了复杂性。
  • 27%的人仍苦苦挣扎于“Silo'ed”团队,无法按照预期进行合作。
  • 23的人对自助服务基础设施的访问有限。

    ( r  G6 y* ~9 ~
其他值得注意的痛点包括:DevOps相关技能,难以管理复杂多样的服务和环境,缺乏紧迫性和预算,领导层的支持。

2 U6 t  j2 s+ X2 d0 I: Z
接下来详细地了解这些挑战:
7 H2 Q- v/ n4 u; {3 [8 S+ E+ ]% h
挑战1:DevOps的工具链缺少关联性

+ D& z! J0 p% N+ z1 ~
许多DevOps工具可以一些任务自动化,如CI、基础设施配置、测试、部署、配置管理、发布管理等,当企业开始采用DevOps,这些工具的帮助非常大,但它们尝尝不能很好地协同工作。

8 I5 N9 q- O. `' N! W
$ R( D2 k4 Q( @
作为经典的例子之一,我们采访了一家公司的熟悉DevOps工程师,他的团队使用Capistrano进行部署,当被问及如何发现一个新的应用版本或配置变化时,他表示,测试和运维团队打开了JIRA Tickets,包括Capistrano所需的信息,在运行这些脚本之前手动更新脚本,这一过程花了几个小时,需要小心得管理,因为所需的配置需要两次手动传输,第一次是在JIRA中,第二次是将其复制到Capistrano时。

  K6 F! e, n0 f$ V1 `3 Q0 H
虽然这是一个简单的例子,但这个问题存在于整个工具联众,在工具中执行依赖任务所需的状态和其他信息处理地非常糟糕。
- A( l/ B  b( v# a8 b3 B9 O; Q
较小的企业通过编写自定义脚本将这些工具链粘合在一起解决问题,这对一些应用来说是可行的,但很快就会出现严重问题,因为这些脚本不是以标准方式编写的,会很难维护、常常包含令牌、密钥和其他敏感信息,更糟糕的是,这些脚本对于每个应用都是高度定制的,并且无法重用,方便地伸缩自动化工作流。

! n1 b" V% j1 `9 d' v+ V
而当DevOps工具链中的工具无法协作,需要通过手动或自定义脚本管理依赖项时,持续交付也就无法实现。
* Y: U& @& o+ A4 j/ l' K
挑战2:缺乏测试自动化
3 c( S( O' r! N4 N5 @! L- Y
尽管所有的焦点都集中在TDD上,但多数的企业仍然在为自动化测试而努力,如果是人肉测试,那么几乎不可能为每个提交执行整个测试套件,这会成为持续交付的障碍,团队试图通过对每个提交运行一组核心测试来优化这一点,并且对整个测试套件进行周期性的运行,这意味着大多数BUG都在软件交付工作流程中被发现,并且会消耗大量的成本。
& P: L# p( a8 Y  n4 u+ M

3 @7 t* w* W1 @
测试自动化是DevOps采用过程的一个重要部分,因此需要成为一个优先级。

5 \6 X1 I: Q& |
2 d! ]' `, Y2 o) W& g
挑战 3:Brownfield Environments
( g5 B- K7 m6 H' B, c) Q
典型的IT组合在本质上是异构的,横跨数十年的技术、云平台供应商、实验室和数据中心、公有云和私有云,所有的这些都在同一时间节点,创建狂月这方面的工作流非常困难,因为大多数工具都与特定的体系结构和技术一起工作,导致了工具链的蔓延,因为每个团队都会使用工具链去满足需求。

  I9 z6 x% o( i
Docker的兴起也鼓励了许多企业开发基于微服务的应用,这增加了DevOps自动化的复杂性,因为应用现在需要为异构的微服务提供100个部署通道,微服务还会带来动态的应用生命周期,每个微服务都是独立部署的具有独立性,因此跨团队的调度和协调需要指数级增长。
# V, c5 d) t+ X
挑战4:文化问题

) _% o4 B3 C2 ?0 b6 @
应用在功能的驱动中发展,开发者开发应用,有测试去检验,然后由运维部署和管理,尽管所有的团队都希望进行写作,但其之间往往是有冲突的。
; L# [3 K9 z* m9 e7 _3 k
开发者被要求尽快的开发新的应用,测试和发布管理团队被逼得尽可能彻底地确保应用没有BUG,这两个团队经常被SecOps和基础设施部门管控,确保生产不会中断,治理和遵从性也降低了速度,这导致了一种反变革的文化,因为变革会带来风险和不稳定性因素,因此需要更多的资源和预算来管
跨团队的协作。

) |' O2 I2 W" a5 R8 K; H
跨团队的协作往往会出现一些问题,从而减缓应用更改的流程。
  A% r! K% `+ Q/ q
一些企业试图通过让开发人员去构建、测试、和运维应用来解决这个问题,尽管这可能在理论上行得通,但开发却因没有时间去生产陷入困境,而且大部分的时间都在运营上个月所做的事情上,无法进行创新,很多企业试图让所有的团队都参与到SDLC的各个阶段,但这种方法仍然依赖于手工协作。
* E, i. S" N  U, H# C
自动化是团队间协作的最佳实践,但是正如在其他挑战中所见,自动化本身也会降低速度,并引入风险和BUG。
& U! K- r- @& H: B
挑战5:有限的自助服务基础设施和环境访问
' V( |2 B! v6 |; k
虚拟机和云计算已经改变了获取正确基础设施的过程,之前几个月时间的任务现在几分钟即可完成,如AWS这样的IaaS提供商拥有数百提灵活配置的机器,以及预装操作系统和其他工具供以选择如:Ansible、 Chef、Puppet,可以帮助代表基础设施代码,这进一步加速了机器的供应和重新配置。

" K" H6 @" J- S0 o$ M
然而在许多企业中,获取基础设施仍然是一个问题,特别是哪些运行自己数据中心或尚未接受云计算的企业。
( g8 f! F8 c; `4 G* Z# v
DevOps作为一个新兴的概念,寓意着未来的发展趋势的同时,本身也有诸多挑战,但我们不能否认,如果在以后逐步克服了这些挑战与困难,将会产生巨大的收益。

6 v9 O2 f& }' {' H! \2 ?- }

# k( d/ u9 C+ }- u8 P" T+ D来自:SRE与运维9 L( V" D9 L( i) A  c/ x

! @% a% x# Y: A  [' H

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册 - 请先获取邀请码

x

本版积分规则

团购课程最新动态

 

 

高品质!好口碑!

百分百通过率!

PeopleCertEXIN

国际授权资质!

ITIL Foundation北上广

2天精华班,包证书

ITIL Foundation三天精

讲,知名讲师,包证书

ITIL Expert 金牌讲师北

上广深11天,包证书

DevOps Foundation

2天热点认证班,包证书

ITSS 认证IT服务经理

4天课程,包证书

Prince2双证4天高级班

Cobit高端课程2天班

Togaf高端课程4天班

 

报名热线: 4008-060-230


QQ|小黑屋|手机版|Archiver|ITIL先锋论坛万人社区 ( 粤ICP备17056641号|网站地图

Baidu

GMT+8, 2018-4-24 22:29 , Processed in 0.237138 second(s), 35 queries .

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

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