DevOps中的左移和右移

这篇具有很好参考价值的文章主要介绍了DevOps中的左移和右移。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

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

一、DevOps中的左移和右移

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

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

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

二、为什么右移很重要

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

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

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

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

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

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

  1. 对安全性的重要性

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

三、右移测试的种类

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

A/B测试:

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

混沌测试:

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

金丝雀发布:

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

蓝绿部署:

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

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

 文章来源地址https://www.toymoban.com/news/detail-678690.html

到了这里,关于DevOps中的左移和右移的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 蓝桥杯-左移右移(2022国赛)

      小蓝有一个长度为 N 的数组, 初始时从左到右依次是 1,2,3,… N 。   之后小蓝对这个数组进行了 M 次操作, 每次操作可能是以下 2 种之一: 左移 x , 即把 x 移动到最左边。 右移 x , 即把 x 移动到最右边。   请你回答经过 M 次操作之后, 数组从左到右每个数是多少? 输入格

    2023年04月08日
    浏览(31)
  • 蓝桥杯第十三届决赛真题-左移右移

    题目链接 问题描述 小蓝有一个长度为 N 的数组, 初始时从左到右依次是 1,2,3, …N 。 之后小蓝对这个数组进行了 M 次操作, 每次操作可能是以下 2 种之一: 左移 x, 即把 x 移动到最左边。 右移 x, 即把 x 移动到最右边。 请你回答经过 M 次操作之后, 数组从左到右每个数是多少? 输

    2023年04月09日
    浏览(35)
  • C#的几种位操作运算,与、或、非、异或、左移、右移

    C#的常见几种位操作运算,与($)、或(|)、非(~)、异或(^)、左移()、右移() 位操作一般来说比加减乘除计算要快一些 与()操作符的位都为1时,才为1,其他都为0,因此与()操作符的结果范围在[0, Math.Min(x,y)],x,y均为正整数 或(|)操作符的位都为0时,才为0,其他都为1,因此或(|)操作

    2024年02月16日
    浏览(29)
  • 位运算:按位与、按位或、按位异或、按位左移、按位右移

    目录 一、基础知识补充     (1)位运算     (2)二进制的详细操作 二、位运算     (1)按位与()     (2)按位或(|)     (3)按位异或(^)       (4)按位左移()     (5)按位右移() 三、位运算例题     题目描述:     题解: 四、共勉     位运算符要比一般

    2024年02月03日
    浏览(34)
  • 软件测试流程扫盲:V/W/H模型,测试左移测试右移

    想了想,如何运用在工作环境进阶一个小level:公司当前的软件测试模型更类似于H模型,然后测试流程也倾向于传统测试流程,单元集成冒烟系统回归验收测试,单元一般是开发自己去写去做。【左移右移做的还不好,需要后面学习相关技术运用在工作中】 V模型是瀑布模型

    2024年02月12日
    浏览(23)
  • 第十三届蓝桥杯Java B 组国赛 C 题——左移右移(AC)

    小蓝有一个长度为 N N N 的数组, 初始时从左到右依次是 1 , 2 , 3 , … N 1,2,3, ldots N 1 , 2 , 3 , … N 。 之后小蓝对这个数组进行了 M M M 次操作, 每次操作可能是以下 2 种之一: 左移 x x x , 即把 x x x 移动到最左边。 右移 x x x , 即把 x x x 移动到最右边。 请你回答经过 M M M 次操作之后

    2024年02月02日
    浏览(36)
  • DevOps中的持续测试优势和工具

    持续测试 DevOps中的持续测试是一种软件测试类型,它涉及在软件开发生命周期的每个阶段测试软件。持续测试的目标是通过早期测试和经常测试来评估持续交付过程的每一步的软件质量。 DevOps中的持续测试流程涉及开发人员、DevOps、QA和操作系统等利益相关者。 持续测试有

    2024年02月10日
    浏览(25)
  • 监控和可观察性在 DevOps 中的作用!

    在不断发展的DevOps世界中,深入了解系统行为、诊断问题和提高整体性能的能力是首要任务之一。监控和可观察性是促进这一过程的两个关键概念,为系统的健康状况和性能提供有价值的可见性。虽然这些术语经常互换使用,但它们代表了理解和管理复杂系统的不同方法。在

    2024年02月15日
    浏览(30)
  • DevOps 在改进软件开发生命周期中的作用

          软件开发是一个复杂多变的领域,需要不断地投入、迭代和协作。在当今激烈的市场竞争中,对可靠、及时和高质量解决方案的需求空前高涨。DevOps 是一种革命性的方法,是应对这些挑战的基础。DevOps 不仅仅是一种方法,它还将软件开发和 IT 运营无缝整合在一起,

    2024年02月19日
    浏览(26)
  • 【DevOps】Git 图文详解(九):工作中的 Git 实践

    本系列包含: Git 图文详解(一):简介及基础概念 Git 图文详解(二):Git 安装及配置 Git 图文详解(三):常用的 Git GUI Git 图文详解(四):Git 使用入门 Git 图文详解(五):远程仓库 Git 图文详解(六):Git 利器 - 分支 Git 图文详解(七):标签管理 Git 图文详解(八)

    2024年02月04日
    浏览(26)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包