博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
DevOps的新阶段
阅读量:7071 次
发布时间:2019-06-28

本文共 877 字,大约阅读时间需要 2 分钟。

最近的一篇文章概述了DevOps运动的历史,并识别出了这个过程中的两个阶段。第一个阶段关注于增强传统工程团队(Dev、QA以及Ops)内部的协作,而正在出现的第二个阶段则以此为基础,致力于提升工程团队与非工程团队之间的协作,如销售和市场团队。

DevOps正式起源于2008年,随后在2011年的一份报告对其进行了总结,并且认为DevOps并不仅仅是一时的狂热,这被称之为1.0运动,它试图将持续的软件交付以流水线的形式组织起来,关注于增加协作和信任,并采用一定的实践来促进它的实现。目前的实践和工具证明了该项运动的成熟性。

在去年的DevOps状态报告中,描述现状的关键点可以总结为:更快更频繁地部署到生成环境、对于故障具有更高的可见性以及更快的故障修复速度。

DevOps的下一阶段是由工程团队与非工程功能团队(如销售)之间更为密切的协作来驱动的。客户和市场会不断发生变化,工程团队必须要响应这种持续的变化,要随时准备部署新特性以配合市场和销售活动的开展。

与第一阶段类似,有一些实践和工具的组合已经开始涌现,以促进该过程的实现。其中包括ChatOps、特性/任务的管理工具以及仪表盘。这里的关注点在于提升速度的同时不能损害系统的稳定性。

特性标记(feature flag)被视为应对这一需求的关键机制。在传统的软件发布过程之中,发布到生产环境中的代码与某个终端用户可用的特性之间存在着一对一的关联关系。特性标记将这种关联关系进行了解耦,它增加了一项功能,那就是只有在设置标记的情况下,特定的特性才是可用的,而这种设置可以在运行时进行。

将功能发布与代码部署进行解耦会带来很多的好处:

代码能够在特性尚未完成的时候就进行发布,只需把未完成的特性关闭即可; A/B测试以及beta测试; 可以将终端用户划分为不同的组,如超级用户与正常用户、付费用户与免费用户。

特性标记需要在工程团队中形成良好的纪律性,软件也需要经过深思熟虑的设计。有一些要进行大规模功能部署的组织已经采用了特性标记的做法,如Facebook和Etsy。
本文转自d1net(转载)

你可能感兴趣的文章
Python 面试中 8 个必考问题
查看>>
Android游戏开发中使用Libgdx引擎遇到的问题及解决办法汇总
查看>>
C++文件的批处理
查看>>
CPU-bound(计算密集型) 和I/O bound(I/O密集型)
查看>>
线性时间 筛素数,求前n个数的欧拉函数值,求前n个数的约数个数
查看>>
Spring 中JDKProxy和CGlibProxy的区别
查看>>
在Map 3D显示管理器中更改当前地图的名字
查看>>
通俗解释WIndows上的CRITICAL SECTION
查看>>
下载文件使用缓存(一次性读取到内存),优化性能(注意静态对象修改需要加锁)...
查看>>
组织行为学对项目管理的意义(2):人格的大五模型
查看>>
NGUI Sprite Type(Simple、Sliced、Tiled、Filed、Advanced)
查看>>
Windows Phone开发(12):认识一下独具个性的磁贴
查看>>
每日英语:Six Ways to Modernize Your Car
查看>>
使用VS2010开发Qt程序的一点经验
查看>>
tpl demo
查看>>
用Ghostscript API将PDF格式转换为图像格式(C#)
查看>>
Android自定义进度条
查看>>
编写高质量代码改善C#程序的157个建议[匿名类型、Lambda、延迟求值和主动求值]...
查看>>
CkEditor 插件开发
查看>>
《如何让TT T4模板输出多个文件(VS2010中)》-- access911.net 文章
查看>>