为什么要DevOps?
Boss:「项目经常延期」「做东西太慢」
产品:
「老板的想法总变」
「事情太多,忙成狗」
「开发说这个实现不了」
开发:
「需求总变」
「UI 方案给的太晚」
「活儿太多」
测试:
「需求变了没提前通知」
「测试时间总被压缩,还要背锅」
「重复测试太多遍」
运维:
「每天这么多版本上线,活干不完,出事儿第一个背锅。」
上面的这些问题在做互联网应用时,我们都深有体会。为什么说是互联网应用,而不是传统的IT软件?传统IT软件在研发时,更多的是项目型或者产品型的,其发布频率或者需求变化的频率是相对较慢的,软件版本的变化基本上可以按部就班的进行,这也是传统的研发模式普遍应用的根本原因。
传统的研发模式,测试介入时间晚,自动化程序要求低,是允许有较多的试错空间,正适合发布过程缓慢的传统软件。
而互联网企业与传统的软件公司之间存在非常好大的差异。首先,互联网公司对外提供的是服务,不是软件产品。整个系统的生命周期是自己可控的,特别是系统发布上线后,可以根据应用情况快速修正方案,最大限度的提升服务质量和用户体验。其他,互联网服务的竞争压力很大,需要更短的时间把新点子、新想法落地,与竞争对手拉开差距。这些问题都会推动,互联网服务的开发要更敏捷、更迅速。但敏捷迅速,不能以降低质量为代价。所以,对系统的交付速度、交付质量有了非常好高的要求。这也是DevOps中CI、CD所要解决的问题。
在DevOps末实现,系统发布频率高,测试频率高,自动化程序要求高,试错空间有限。全面的自动化测试,是实践持续集成的基础。其目的就是为了按时、高质量的交付软件产品和服务。
为什么要DevOps?的更多相关文章
- CI Weekly #10 | 2017 DevOps 趋势预测
2016 年的最后几个工作日,我们对 flow.ci Android & iOS 项目做了一些优化与修复: iOS 镜像 cocoapods 版本更新: fir iOS上传插件时间问题修复: ...
- DevOps对于企业IT的价值
其实从敏捷延展开的 DevOps 概念很早就已经被提出,不过由于配套的技术成熟度水平层次不齐, DevOps 的价值一直没有有效地发挥出来.现如今,随着容器技术的发展, DevOps 在企业中的实践难 ...
- 给 DevOps 初学者的入门指南
当我们谈到 DevOps 时,可能讨论的是:流程和管理,运维和自动化,架构和服务,以及文化和组织等等概念.那么,到底什么是"DevOps"呢? 什么是DevOps 随着软件发布迭代 ...
- DevOps的基本原则与介绍
DevOps的基本原则与介绍 DevOps这个术语是developer与operations的合并简写.实现还有QA.DevOps描述与精简软件交付流程,在今天已经开始广泛的使用.强调从生 ...
- DevOps
DevOps DevOps(英文Development和Operations的组合)是一组过程.方法与系统的统称,用于促进开发(应用程序/软件工程).技术运营和质量保障(QA)部门之间的沟通.协作与整 ...
- 当DevOps撞上物联网
DevOps 领域在近年来变得流行而普遍.它强调不同的角色之间共同协作,以及如何工作得更加紧密,就像这个词语的词根暗示的那样--开发和运维.但是DevOps和物联网有什么关系? 本文选自<Dev ...
- DevOps是云计算时代的开发与运营
DevOps(英文Development和Operations的组合)是一组过程.方法与系统的统称,用于促进开发(应用程序/软件工程).技术运营和质量保障(QA)部门之间的沟通.协作与整合.[1] 它 ...
- CI Weekly #3 | 关于微服务、Docker 实践与 DevOps 指南
CI Weekly 围绕『 软件工程效率提升』 进行一系列技术内容分享,包括国内外持续集成.持续交付,持续部署.自动化测试. DevOps 等实践教程.工具与资源,以及一些工程师文化相关的程序员 Ti ...
- git review & devops过程
自己搭建的devops环境是gitlab/gerrit/jenkins 1. 首先自己checkout一个自己的代码分支,一般不要在master上做直接修改 2. 修改后git add file, ...
- 【DevOps】DevOps成功的八大炫酷工具
为自动化和分析所设计的软件及服务正加速devops改革的步伐,本文为你盘点了Devops成功的八大炫酷工具 Devops凭借其连接弥合开发与运营团队的能力正在各个行业呈现席卷之势.开发人员和运营人员历 ...
随机推荐
- 插件使用一树形插件---zTree一zTree异步加载
zTree 可以实现异步加载.异步加载可以让初次加载速度快,带来好的用户体验. 异步加载 官方源码中的demo提示了例子.例子是采用php语言. 在java语言中,zTree如何与Servlet结合呢 ...
- 纯css3实现的switch开关按钮
效果如图 <p> <label><input class="mui-switch mui-switch-anim" type="checkb ...
- autofac 创建实例方法总结
1.InstancePerDependency 对每一个依赖或每一次调用创建一个新的唯一的实例.这也是默认的创建实例的方式. 官方文档解释:Configure the component so tha ...
- Senparc.Weixin微信开发(1) 开发验证
官方系列教程 http://www.cnblogs.com/szw/archive/2013/05/20/3089479.html 登录微信公众平台后-左侧找到开发--启用服务器配置 这样,我们才可以 ...
- 执行shell文件是,提示chmod: 更改'./shell1.sh' 的权限: 不允许的操作。
- x86 版的 Arduino Intel Galileo 开发板的体验、分析和应用
1.前言 在今年(2013)罗马举办的首届欧洲 Make Faire 上,Intel 向对外发布了采用 x86 构架的 Arduino 开发板:Intel Galileo.这无疑是一个开源硬件领域的重 ...
- 【原创】python 豆瓣采集
新手今天刚学python~~~ 有点凌乱~勉强看吧 只能算是给新手看看,见谅 简单版本的 豆瓣采集美图~~~~~~ 美女天天有 有木有~~~ python 3.4 sqlite3 BeautifulS ...
- Apache Tomcat RCE(CVE-2017-12615 )漏洞案例分析
首先搭建tomcat环境: 下载当前项目的版本的tomcat
- spark学习之路1--用IDEA编写第一个基于java的程序打包,放standalone集群,client和cluster模式上运行
1,首先确保hadoop和spark已经运行.(如果是基于yarn,hdfs的需要启动hadoop,否则hadoop不需要启动). 2.打开idea,创建maven工程.编辑pom.xml文件.增加d ...
- Stall Reservations POJ - 3190(贪心)
Oh those picky N (1 <= N <= 50,000) cows! They are so picky that each one will only be milked ...