查看: 322|回复: 0

DevOps学习(二)--为什么需要DevOps

[复制链接]

15

主题

23

帖子

199

积分

注册会员

Rank: 2

积分
199
发表于 2018-9-25 15:12:50 | 显示全部楼层 |阅读模式
本帖最后由 17665200103 于 2018-9-25 15:14 编辑
  1. 网上查到 DevOps意思是开发(Development)和运维(Operations)这两个领域的合并,个人理解 DevOps是一种打破传统软件开发边界的思想,还可以把产品管理、QA甚至销售等领域融入到实际的软件开发整体过程之中。
复制代码
一. DevOps有什么优势
     在了解DevOps的优势之前,我们先看一下传统采用瀑布模型进行软件开发的过程,来看一下有什么问题。

(瀑布模型)


      上图为瀑布模型的开发流程,从需求分析到运维,各自负责各自的任务,完成后交付给下一责任人,看起来流程没有什么问题,真实情况却啪啪的无情打脸:
需求分析完成丢给设计,设计完成丢给开发,这中间会丢失很多信息,可能开发做出来的东西产品一看,这不是我要的东西,当然这可能是比较极端的例子;
测试团队等开发完成后接手测试,时间介入太晚,导致测试准备的时间长,整体测试完成需要比较长的时间,导致的结果就是客户已经等不及了,市场反馈需求已经变化,公司要盈利等压力。
       这时候会有人说我们可以用更好的快速迭代,增量开发,敏捷开发等来解决上面出现的问题,实现快速实现并交付验证,小步快跑。

(敏捷开发)

      OK, 快速迭代,增量开发,敏捷开发的确能解决很多上面的问题,也有持续集成,但如果实际情况测试,运维是分开的团队或部门,各部门要真正小步跑起来还是困难重重的(参见 DevOps学习(一) -- 演进过程)。开发应该把运维角色理解成软件的另一个用户群体。协作有几个的建议:
1、自动化(减少不必要的协作);
2、小范围(每次修改的内容不宜过多,减少发布的风险);
3、统一信息集散地(如wiki,让双方能够共享信息);
4、标准化协作工具(比如jenkins)

敏捷开发模型
  优:①短周期开发。
       ②增量开发。
       ③ 由程序员和测试人员编写的自动化测试来监控开发进度。
       ④通过口头沟通、测试和源代码来交流系统的结构和意图。
       ⑤编写代码之前先写测试代码。也叫做测试先行。
     缺点: ①团队的组建较难,人员素质要求较高。
         ②对测试员要求完全掌握各种脚本语言编程,会单元测试。


二. 什么样的团队需要DevOps
      上面讲了DevOps的优点和缺点,对团队的整体要求高,并不太适合所有团队,那 什么样的团队适合用DevOps呢?
1.  已经做了敏捷型的团队;
2.  创业团队或创新的产品,需要及时推广到市场,并进行反馈调整;


三. 推荐的工具








本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

地址:深圳市龙华新区富士康科技集团龙华园区电话:+86 020-5555 6666传真:+86 020-8888 9999
Copyright © 2018 Fii-Foxconn Inc. All Rights Reserved.
快速回复 返回顶部 返回列表