一段时间以来,随着DevSecOps、DevTestOps的出现,表明DevOps软件开发方法已完全成熟并进化到了新的阶段,但究其根本,仍是通过频繁发布小型构建来加快产品的生产速度和上线速度。作为渐进交付的连续周期的一部分,DevOps开发团队采用了左移和右移的原则,以确保在这些动态的开发环境和生产环境中的软件质量。在此,将重点讨论右移原则在DevOps中的使用以及如何使软件产品更可靠的。

一、DevOps中的左移和右移

    要理解左移和右移,可以将软件开发周期视为一个从左到右的连续体,或无限循环。在循环的左边,团队在前期生产中计划、开发和测试产品,核心目标是构建符合设计标准的产品。当团队发布软件投入生产进入循环的右侧时,他们会向用户提供这些可用的软件产品,核心目标是产品符合业务目标和可靠性的要求。

具体来说,左移是将测试、质量和性能评估转移到软件开发过程早期的实践。随着团队面临更快、更频繁、更高质量地交付软件的压力,这个概念变得越来越重要。通过在开发周期投入生产之前确认/验证和解决软件缺陷,左移可以明显的提高开发效率并降低成本。同样,右移是在真实生产环境中执行测试、质量和性能评估的实践。右移方法确保在生产中运行的应用程序在能够承受真实的用户负载的情况下,仍能保持同样高的质量水平。使用右移,DevOps团队测试生产环境上的产品,以确保软件可靠性,目标是确认/验证和修复在开发环境中难以发现的软件缺陷。

目前,左移和右移测试都已经成为敏捷软件开发的重要组成部分,使团队能够增量地、可靠地构建和发布软件,而且还能在生命周期的不同节点测试软件。

二、为什么右移很重要

使用右移,团队可以在开发环境无法模拟的真实环境中测试代码。这种实践使团队能够在客户之前发现运行时缺陷,同时,还可以对在现场配置或监控的代码应用右移测试。

有些企业在发布到生产环境之前,会有一个完全高仿生产环境的环境,像左移测试一样,右移测试的目标是在这样的环境上通过小规模、快速失败的方式发现问题,这比客户在实际生产中发现的问题更容易解决,影响也会最小。

一旦建立右移建立起来,就会成为持续反馈循环的一部分,这是DevOps的特点,并使开发和运营活动更加紧密地结合在一起。

针对目前公司实际情况,右移的重要性具体的还可以体现在如下两方面:

  1. 对微服务架构的重要性

服务、微服务架构已是当前软件产品的主流架构,生产中的测试对于从微服务构建的软件尤其重要。这是因为,基于微服务的应用程序的性能取决于单个服务的响应能力,这使得在模拟环境中进行测试非常困难,右移可以使团队能够观察真实生产环境的情况并度量它们的影响。

  1. 对安全性的重要性

右移的另一个重要性是提高了应用程序的安全性。例如,容器的迅速普及使网络安全变得复杂。容器虽然可以掩盖其中运行的进程,但攻击者仍可以利用容器的漏洞,因为即使容器的内容是“模糊的”,生产测试也可以暴露基于容器的软件行为。另外,右移测试还可以用来测试以前未曾出现过的zero-day漏洞的存在。

三、右移测试的种类

右移测试有多种方法,常见的有如下几种:

A/B测试:

这种方法常用于Web或App程序。它在同一时间里,向用户呈现两个版本的页面中的一个,并且通过度量结果以确定哪个版本会产生更好的响应。这种类型的测试几乎总是在生产环境中进行,因此可以收集真实的反馈,与一般工程测试有根本的区别。

混沌测试:

利用混沌工程,开发人员通过引入错误来故意“破坏”应用程序,测试其功能、性能边界,以确定它从破坏中恢复的程度。DevOps和IT团队设置了监控工具,这样他们就可以精确地看到应用程序如何响应不同类型的压力。该测试通常在受控的生产环境中执行,以最大限度地减少对任务关键型系统的影响。

金丝雀发布:

也称之为灰度发布。它来源于早期矿工们用这种金丝雀潜入煤矿探测有毒气体的行为。在IT领域中,当前用来描述在将更改应用到整个基础架构之前,对一小部分实例进行缓慢部署并进行测试、观察、修复,直至完全发布。

蓝绿部署:

一个组织运行两个几乎相同的生产环境,同时对外提供服务,一个运行着当前稳定版本,一个运行着待上线的版本。当用户(真实的或合成的)对运行着待上线的版本进行变更(发现缺陷、修复缺陷)时,对外提供的服务会在这两个环境之间进行切换。这种实践对于右移方法非常重要,因为它可以最大限度地减少停机时间,并在最新版本出现问题时提供快速回退的机制。

目前,公司正在进行一系列的运维平台的建设,这势必给右移(测试)打下很好的基础,同时,我们还应该着眼于人工智能驱动的全栈可观测性解决方案,使公司行业内长期处于技术应用与业务创新的前列。最后,需要指出的是,无论左移(测试)还是右移(测试),都是工作的左移和右移,而不是人员的左移和右移。

DevOps中的左移和右移相关推荐

  1. 演讲实录(文字+视频)丨基于DevOps的质量左移与右移思考

    本文内容选自2021中国DevOps社区峰会 · 深圳站,陈晓鹏老师分享的<基于DevOps的质量左移与右移思考>文字实录和视频回放. 2022中国DevOps社区峰会 · 天津站,定档8 ...

  2. c语言的左移运算,C语言中的左移和右移运算.docx

    C 语言中的左移和右移运算 C 语言中的左移和右移运算 (>> 和 < 1.各种数据格式(整型int ,字符型 char 等)占有几个存储单元(不同的编译器有所不同) 在TC2.0和 ...

  3. c++中的左移、右移运算

    移位运算包含"逻辑移位"(logical shift)和"算术移位"(arithmetic shift). 逻辑移位:移出去的位丢弃,空缺位(vacant bi ...

  4. 位运算中的左移和右移的计算详解

    最近在学习javaScrapt,在学到位运算符这部分的时候,突然发现看不懂书上的例子了.经过查找资料后,发现了一遍不错的文章.分享一下: 正数的左移和右移 以3为例 3的二进制为 00000011 右 ...

  5. 计算机原理与基础 —— C语言中的左移与右移

    1.双目运算符 位移位运算符是将数据看成二进制数,对其进行向左或向右移动若干位的运算. 位移位运算符分为左移和右移两种,均为双目运算符. 例如: 8  >>  3   (意思是8向右移动3 ...

  6. 关于C语言中的左移与右移

    总结 ** 1. 左移时总是移位和补零,无论是有符号类型数据还是无符号类型数据都统称为逻辑左移. 2. 右移时无符号数是移位和补零,此时称为逻辑右移; 3. 右移时而有符号数大多数情况下是移位和补最左 ...

  7. c语言中左移一位 由什么补充,计算机原理与基础 —— C语言中的左移与右移

    1.双目运算符 位移位运算符是将数据看成二进制数,对其进行向左或向右移动若干位的运算. 位移位运算符分为左移和右移两种,均为双目运算符. 例如: 8  >>  3   (意思是8向右移动3 ...

  8. C语言中的左移与右移[转]

    先说左移,左移就是把一个数的所有位都向左移动若干位,在C中用<<运算符.例如: int i = 1; i = i << 2; //把i里的值左移2位 也就是说,1的2进制是00 ...

  9. C语言中的左移与右移

    原文地址http://www.cnblogs.com/myblesh/articles/2431806.html 先说左移,左移就是把一个数的所有位都向左移动若干位,在C中用<<运算符.例 ...

最新文章

  1. Kubernetes — 安装 Metrics Server
  2. Python小技巧:用 print() 函数实现的三个特效
  3. Angular--页面间切换及传值的四种方法
  4. [RabbitMQ]队列持久化
  5. Java 7的类型推断
  6. day3-python学习笔记(三)字典、元组
  7. Java方法实现是什么意思_Java中实现可调用的最佳方法是什么,需要一段时间才能完成...
  8. Python:Matplotlib 画图
  9. 前端面试有这几篇就够了--HTML篇
  10. SVN Clean up 失败和SVN is already locked情况解决
  11. java.net.ConnectException no available server
  12. 行为识别 - Temporal Pyramid Network for Action Recognition
  13. hihocoder1498 Diligent Robots
  14. QS最新大学排名惹争议:深大南科大再获认可,上海大学超华科,人大校友心里最苦...
  15. openssl 1.0.2k-fips 升级到 openssl-3.0.3
  16. WinServer 2012 R2 安装python3.6时出现错误:0x80240017 导致安装失败
  17. 论文阅读(10) 基于吸力的推进是动物高效游泳的基础(2015)
  18. autocad.net通过支持文件搜索路径查找文件
  19. 一份能帮助到你的2021年终总结
  20. 有关UDE(Unsupervised Domain Expansion)以及UDA,DG的思考与调研

热门文章

  1. 什么是科研院所,与高校相比区别在哪里?
  2. 润普易度文控管理在IT企业中的应用
  3. 楚留香鸿蒙点怎么来,楚留香安卓华为鸿蒙版
  4. 水果店活动吸引人,水果店什么活动吸引人
  5. 微信小程序:历史搜索及根据关键词列表查询
  6. “整理电脑文件轻松有序:按大小归类保存,重新定义文件管理体验!“
  7. 把无限循环小数化为分数
  8. 春风十里 不如等你的简历
  9. android阿里推送实现移动推送辅助通道配置
  10. EBS系统logo的修改