你的连续交付能力用得还好吗,比如频繁发布移动或云应用的特性增强?还是恰好相反,快速发布了带漏洞的版本? - Joel Shore


连续交付能让交付流程跑得更快,但连续交付本身并不能为发布质量打包票。国外基于Jenkins持续集成和连续交付平台的某应用交付技术提供商认为,如果发布质量没有得到一定程度上的保障,软件交付的快点慢点都没有太大意义。

随着DevOps兴起以及新时代下的行业竞争日趋白热化,敏捷开发和交付速度渐渐跑到能力新高峰,但大家仍越来越需要更快速交付高质量软件。位于加州的一个软件公司CEO Sacha Labourey在接受我们专访时谈到了应用交付的新发展以及他的担忧。

云和移动应用是怎么样改变着连续软件持续交付的规则?
Sacha Labourey:我们正经历一段有趣的时光。我们认为IT行业应当需要加快开发和交付周期,来顺应这个时代的要求。移动应用开发中,DevOps能让你从故障发现和快速失败中受益匪浅。云应用同理,它们都实现了发现过程和利用资源加速交付的能力。

你认为DevOps扮演着重要角色吗?
Labourey:我们在很多组织中发现,许多公司并非被迫投入去做DevOps或持续集成。大家都认为移动需求大就做了移动应用,云需求大就做了云功能。问题是企业得学会预见技术竞争战场,清楚怎么样才能快速改变和建立最佳实践。也只有产生了类似念头的时候,他们才会意识到当下要做的事已不同往昔那样随波逐流。我们与很多开发团队和DevOps团队讨论过,以便帮助普通企业能寻求到一些突破。讨论结果大致是这样:DevOps已经不单是IT系统在效率上的提升问题,而涉及到了将企业发展目标纳入应用开发和交付的过程。许多企业仍然对这些变化视而不见,但转型已经开始,避无可避,且势不可挡。

DevOps团队软件持续交付方面最常见的错误是什么?
Labourey:不劳而获想解决困难才是最常见的错误。即使是新开的项目,也会面对一些已知或未知的难题。代码自动化构建实现起来很容易,难的是对项目做出恰到好处的测试、配置、部署,而想做到这些,就需要DevOps团队投入。当团队没有决心做好这件事,结局就是得到一个被戏称为“发布bug颇有效率的过程”。

这么说,那岂不是持续交付软件产品,在某种情况下就是为了更快地发布bug?
Labourey:小步快跑的发展节奏没有问题。我们讨论业务节奏加快的可行性需要在速度与稳定安全找到个平衡点。改变迭代速度并不是说你写代码的速度一下子就提高了,这个要适可而止,换个说法:“更接近预期的安全速度”,这种描述可能更适合,对吧?以更短周期做出新版,看看哪些起作用,哪些不起作用,然后再决定具体的迭代方式。

软件持续交付怎样与DevOps在总体上做到互相配合?
Labourey:首先,DevOps是一条好路子。原先那帮支持DevOps和敏捷开发的人都应该自豪,这点让人想起了上世纪90年代的开源思潮。不过,那时候的那群人基本都是不care企业生产概念的理想主义者。
就像Linux甚至今天的Microsoft,这些都彰显着开源世界的胜利。开发方法论也是这样。以前的发布周期都很长——都要好几年。在21世纪初,敏捷开发那帮人根本感受不到关键软件对在生产过程中运行关键应用的意义。当下,如果你没有最起码的敏捷开发或更进一步的团队DevOps规划,你就是迟到了,毕竟每家公司都应该懂得从软件生产中创造商业价值。

你怎么向不了解DevOps持续交付的开发人员安利这些道理?
Labourey:显然,如果你还没有移动化应用的持续交付流程,那这本身就是个bug…如果有针对云平台的软件持续交付过程就更好了。你有弹性资源,有平稳的软件更新能力,甚至还有实现云端软件交付的成熟方式,这些能力如果放着不用,那简直太不明智了。这个有点像很多上云的公司只把云当作自己的数据中心,这就有点大材小用了。

别让持续交付自动化交付bug的更多相关文章

  1. CI Weekly #5 | 微服务架构下的持续部署与交付

    CI Weekly 围绕『 软件工程效率提升』 进行一系列技术内容分享,包括国内外持续集成.持续交付,持续部署.自动化测试. DevOps 等实践教程.工具与资源,以及一些工程师文化相关的程序员 Ti ...

  2. 容器镜像服务联手 IDE 插件,实现一键部署、持续集成与交付

    容器技术提供了一种标准化的交付方式,将应用的代码以及代码环境依赖都打包在一起,成为一个与环境无关的交付物,可以被用在软件生命周期的任何阶段,彻底改变了传统的软件交付方式. 甚至可以说,是在容器技术之后 ...

  3. 容器镜像服务 联手 IDE 插件,实现一键部署、持续集成与交付

    容器技术提供了一种标准化的交付方式,将应用的代码以及代码环境依赖都打包在一起,成为一个与环境无关的交付物,可以被用在软件生命周期的任何阶段,彻底改变了传统的软件交付方式. 甚至可以说,是在容器技术之后 ...

  4. Jenkins 从小白入门到企业实践打怪放弃之路系列笔记 【持续集成与交付快速入门必备】

    Jenkins 从小白入门到企业实践打怪放弃之路系列笔记 [持续集成与交付快速入门必备]

  5. VMware vCloud与Zend Server实现PHP应用程序自动化交付

    在巴塞罗那2013年VMworld大会上,开发商VMware公司和zend公司在云管理市场上大放异彩.两家公司的产品VMware vCloud和Zend Server组合,实现了PHP程序自动化交付. ...

  6. Linux-GitLab+Jenkins持续集成+自动化部署

    GitLab+Jenkins持续集成+自动化部署 什么是持续集成? (1)Continuous integration (CI) 持续集成是一种软件开发实践,即团队开发成员经常集成他们的工作,通常每个 ...

  7. QNJR-GROUP/EasyTransaction: 依赖于Spring的一个柔性事务实现,包含 TCC事务,补偿事务,基于消息的最终一致性事务,基于消息的最大努力交付事务交付QNJR-GROUP/EasyTransaction: 依赖于Spring的一个柔性事务实现,包含 TCC事务,补偿事务,基于消息的最终一致性事务,基于消息的最大努力交付事务交付

    QNJR-GROUP/EasyTransaction: 依赖于Spring的一个柔性事务实现,包含 TCC事务,补偿事务,基于消息的最终一致性事务,基于消息的最大努力交付事务交付 大规模SOA系统的分 ...

  8. K8S(08)交付实战-交付jenkins到k8s集群

    k8s交付实战-交付jenkins到k8s集群 目录 k8s交付实战-交付jenkins到k8s集群 1 准备jenkins镜像 1.1 下载官方镜像 1.2 修改官方镜像 1.2.1 创建目录 1. ...

  9. 持续(集成-->交付-->部署)

    软件的开发工作的大致流程 编码 -> 构建 -> 集成 -> 测试 -> 交付 -> 部署 由上图可知「持续集成(Continuous Integration)」.「持续 ...

随机推荐

  1. 7#Java基本语句语法

    Java基本语句语法https://github.com/DuGuQiuBai/Java/blob/master/day03/day03%E6%80%BB%E7%BB%93.txt 1:位运算符(了解 ...

  2. Java利用原始HttpURLConnection发送http请求数据小结

    1,在post请求下,写输出应该在读取之后,否则会抛出异常. 即操作OutputStream对象应该在InputStreamReader之前. 2.conn.getResponseCode()获取返回 ...

  3. redis 列表(list)函数

    列表(list)函数 lPush 命令/方法/函数 Description Adds the string value to the head (left) of the list. Creates ...

  4. [批处理]使用Log.io监控日志变化

    背景 多台服务器安装了不同的开发服务,增加日志监控以随时处理情况 方案 log.io 环境 NodeJs 安装 1.log.io直接无法安装上,使用log.io-ts安装上 npm install - ...

  5. css基础面试题

    1 介绍一下标准的CSS的盒子模型?与低版本IE的盒子模型有什么不同的? 标准盒子模型:宽度=内容的宽度(content)+ border + padding + margin低版本IE盒子模型:宽度 ...

  6. 搭建rsync服务并同步重要数据

    在主备机器上均安装rsync,在主机上以daemon的模式启动,在备机上定时执行同步命令.安装rsync的命令如下: 1.下载安装包(主备机均执行) [root@localhost home]# wg ...

  7. nginx运用

    1.nginx的 命令 start nginx 这样,nginx 服务就启动了.打开任务管理器,查看 nginx.exe 进程,有二个进程会显示,占用系统资源,那是相当的少.然后再打开浏览器,输入 h ...

  8. 自制操作系统Antz(9)——实现内核 (下) 实现图形化界面

    Antz系统更新地址: https://www.cnblogs.com/LexMoon/category/1262287.html Linux内核源码分析地址:https://www.cnblogs. ...

  9. linux 安装oracle

    报错1:报display相关错误su - oracleDISPLAY=redhat64-2:1 --此处为远程会话地址(可以写localhost或IP均可)export DISPLAYcd /home ...

  10. centos7 openssl 生成证书给自己使用

    Step1: centos7 系统自己生成证书 给自己签发不安全的域名证书 openssl genrsa - #生成ca根秘钥 是长度 openssl req - -key ca.key -out c ...