为了避免下一次重大中断,我们需要持续测试

自去年 7 月CrowdStrike/Microsoft大规模中断以来的几个月里,我们了解到了很多问题所在。一家大型网络安全提供商为其广泛部署的企业端点保护产品推出了一个有缺陷的更新。尽管(错误地)批准发布,但该更新导致全球的 Windows 系统崩溃,并阻止它们从重启中自然恢复。短短几分钟内,全球850 万台设备就出现了可怕的“蓝屏死机”现象。许多设备会持续数小时。 

我们可以吸取这次事件的几个重要教训,但让我们集中讨论其中两个。

首先,即使是善意的软件更新也可能导致灾难性的中断,从而中断业务连续性。在这种情况下,全球数千家组织不得不停止运营。金融公司、政府机构和航空公司受到的影响尤其严重,数千个航班被取消,无数商业交易中断。仅财富 500 强企业的直接损失就将超过 50 亿美元。

第二个重要教训:主动、全面的测试仍然无可替代。随着企业软件堆栈变得越来越复杂和相互依赖,我们不能假设任何新的更新或版本发布(无论是内部产品还是组织可能使用的数百个第三方组件)都可以安全部署。然而,我们可以做的是确保主动、自动化的测试嵌入到变更管理工具中。这不会消除软件冲突。但有效实施后,持续测试 (CT) 可确保当更新失败时,您早在影响用户之前就知道它。 

自动化的前景和风险 

在技术行业之外使用“DevOps”一词,大多数人都不知道你在说什么。然而,持续集成/持续交付 (CI/CD) 模型的出现以及通过持续软件更新不断扩展产品功能的能力是革命性的。根据独立的 DevOps 调查,采用最先进 CI/CD 实践的组织比没有采用 CI/CD 实践的组织部署频率高 208 倍,交付周期快 106 倍。 

但与此同时,软件变更的自动化就像驾驶一级方程式赛车。速度越快,一旦出现问题,后果就越严重。简而言之,软件交付速度越快,实施有效的安全措施就越重要。首先要进行主动、全面的测试,该测试与 DevOps 工具链紧密集成,并作为 CI/CD 管道的一部分自动执行。 

不幸的是,没有单一、标准化的方法来实施 CI/CD,不同的组织采用的方法也大不相同。在很多情况下,DevOps 的测试元素没有得到应有的重视。测试用例不够全面,或者没有尽早或频繁地进行——尤其是考虑到遗漏严重问题的弊端。归根结底,您处理 CT 的方式可能会成就或破坏您的 CI/CD 实施。 

持续测试内部 

有效的 CT 框架将测试直接嵌入到交付管道中,并在整个软件生命周期(从早期开发到发布)中自动调用测试用例。这样的框架采用了更大的测试池,并且比标准 QA 测试更频繁地执行测试。它根据预定义要求建立多个通过/失败数据点。并且它与 CI/CD 管道完全协调和集成,理想情况下是通过基于云的实验室和可以根据需要弹性扩展的测试基础设施。  

当组织采用持续自动化测试时,他们可以立即获得有关新软件更新或版本发布的反馈,并更好地识别潜在的冲突和风险。通过构建 CI/CD 的 CT 组件,组织可以:

尽早发现问题:大规模中断不仅仅是由恶意攻击造成的。正如 CrowdStrike 事件所表明的那样,简单的错误(在本例中,用于执行验证检查的工具出现故障)可能会造成灾难性的后果。当组织拥有大量可重复的测试,并在整个交付管道中自动重复执行时,他们可以在投入生产之前就发现大多数问题。 

提高 IT 系统的稳定性和安全性:当组织实现自动化测试时,他们获得了监控性能和更准确地检测潜在问题的新功能。例如,通过捕获网络性能和安全态势的基线 KPI,他们可以快速识别这些 KPI 在变化后何时出现偏差。 

加快交付时间:自动化测试,尤其是通过按需实验室即服务 (LaaS) 和测试即服务 (TaaS) 解决方案实施时,可以立即提高敏捷性。组织可以在任何时间和地点扩展测试资源,并更快地推送更新,而不会产生不必要的风险。 

提高整体效率:有效实施 CT 的组织不仅行动更快,而且工作效率更高,质量和合规性也更好。他们还可以通过避免监管罚款和诉讼、在开发周期早期发现问题来节省大量成本。 

设想有效的持续测试 (CT) 

有多少家公司就有多少种 DevOps 框架,因此每个 CI/CD 管道都是独一无二的。尽管如此,有效的 CT 实施具有共同的核心要素。最成功的软件组织采用的测试是:

全面:有效的 CT 流程始于大量可重复的测试,并自动在多个短周期内执行这些测试。按照这种思路,组织应该能够快速启动可能部署软件的各种操作系统,以验证影响和质量。  

受控:组织应仅在充分控制的情况下部署更新,以确保所有更改都经过授权、有意图且按预期执行。该原则应适用于软件堆栈的所有第三方元素以及内部产品,以减轻供应链风险。 

持续性:自动化测试应贯穿整个软件交付流程,一旦实施,就应通过主动测试进行验证。通过在实际负载下使用模拟流量测试补丁和版本更新,组织可以在实施后阶段更快地发现问题,以免影响用户和客户。

展望未来

大多数企业软件每年更新两到三次的时代已经一去不复返。我们正式进入了一个勇敢的新 DevOps 世界,组织可以不断为用户和客户提供更具创新性的软件功能。但如果我们想充分实现这种新发现的敏捷性带来的好处,我们别无选择,只能确保我们尽可能安全、负责任地实施软件交付管道。确保您没有忽视 CI/CD 的 CT 方面。 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/894610.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

力扣 143.重排链表【详细手写】

一、题目 前置题目 力扣 206.反转链表 力扣 876. 链表的中间结点 二、思路 观察链表发现链表是部分有序,奇数位置的节点组成前半段的原链表,偶数位置的节点组成后半段的反转链表。因此,首先需要找到中间节点(力扣 876. 链表的…

harmonyOS next之实现时间打卡定时器

需求:实现一个时间打卡签到按钮。 实现方法:每隔一秒钟获取一下当前时间。 实现代码如下: Column(){Text(this.curTime).fontColor(#FFFFFF).fontWeight(600).fontSize(32vp)Text(上班打卡).fontColor(#FFFFFF) } .width(170vp) .height(170…

使用ROS资源编排一键部署LNMP建站环境,手动整理教程

LNMP是目前主流的网站服务器架构之一,适合运行大型和高并发的网站应用,例如电子商务网站、社交网络、内容管理系统等。LNMP分别代表Linux、Nginx、MySQL和PHP。本文阿里云服务器网aliyunfuwuqi.com介绍如何使用阿里云资源编排服务(ROS&#x…

桂林旅游一点通:SpringBoot平台应用

3系统分析 3.1可行性分析 通过对本桂林旅游景点导游平台实行的目的初步调查和分析,提出可行性方案并对其一一进行论证。我们在这里主要从技术可行性、经济可行性、操作可行性等方面进行分析。 3.1.1技术可行性 本桂林旅游景点导游平台采用SSM框架,JAVA作…

smbms(2)

目录 一、修改密码功能实现 二、优化密码修改,加入旧密码确认环节【使用Ajax】 三、用户管理实现 获取用户数量 获取用户列表 获取角色列表 Servlet 一、修改密码功能实现 1、导入前端素材 2、UserDao接口 3、UserDaoImpl实现类 4、UserService接口 5、Us…

第10篇:防火墙与入侵检测系统

目录 引言 10.1 防火墙的基本概念 10.2 防火墙的分类 10.3 防火墙策略的配置与实现 10.4 入侵检测系统(IDS) 10.5 防火墙与IDS的结合 10.6 总结 第10篇:防火墙与入侵检测系统 引言 在当今的数字世界中,网络安全已经成为企…

【FreeRL】PPO的复刻和7个trick实现

文章目录 前言一、计算优势函数二、比较buffer的存储三、小批量更新网络的实现中四、细节GAE的实现五、对于PPO必须收敛的关键为V_target的定义六、参数敏感七、仿照《动手学强化学习中的代码》实现八、补充tricks的效果 前言 主要是对PPO论文里的PPO复刻,和实现时…

安卓流式布局实现记录

效果图&#xff1a; 1、导入第三方控件 implementation com.google.android:flexbox:1.1.0 2、布局中使用 <com.google.android.flexbox.FlexboxLayoutandroid:id"id/baggageFl"android:layout_width"match_parent"android:layout_height"wrap_co…

spring底层原理

本文参考黑马程序员的spring底层讲解&#xff0c;想要更详细的可以去看视频。 另外文章会每日更新&#xff0c;大概持续1个月&#xff01;&#xff01;&#xff01;每天更新一讲 这部分比较抽象&#xff0c;要经常复习&#xff01;&#xff01;&#xff01; 一、BeanFactory与A…

Olap数据处理

一、OLAP 是什么 1. OLAP的定义 OLAP&#xff08;Online Analytical Processing&#xff0c;联机分析处理&#xff09;是一种软件技术&#xff0c;它主要专注于复杂的分析操作&#xff0c;帮助分析人员、管理人员或执行人员从多角度对信息进行快速、一致、交互地存取&#xf…

电脑桌面自己变成了英文Desktop,怎么改回中文

目录 前言找到Desktop查看位置查找目标修改文件名为桌面重启电脑 或 重启 Windows 资源管理器CtrlShiftEsc 打开任务管理器找到 Windows 资源管理器重启 Windows 资源管理器 查看修改结果 前言 许多人在使用电脑的时候发现&#xff0c;我们经常使用的桌面&#xff0c;不知道因为…

Vue向上滚动加载数据时防止内容闪动

目前的需求&#xff1a;当前组件向上滚动加载数据&#xff0c;dom加载完后&#xff0c;页面的元素位置不能发生变化 遇到的问题&#xff1a;加载完数据后&#xff0c;又把滚轮滚到之前记录的位置时&#xff0c;内容发生闪动 现在的方案&#xff1a; 加载数据之前记录整体滚动条…

004-按照指定功能模块名称分组

按照指定功能模块名称分组 一、说明1.现在有一个需求&#xff1a;2.具体做法 二、代码案例三、效果展示 一、说明 1.现在有一个需求&#xff1a; 需要把一个功能模块的几个功能点放在同一个文档目录下&#xff0c;这几个功能点分布在不同的 Controller 2.具体做法 需要把他…

登录前端笔记(二):vuex管理用户数据;跨域;axios封装;环境;请求响应拦截;权限;用户资料Vuex共享

一、Vuex登录流程之用户模块&#xff1a; 简言之&#xff1a;点击登录调用actions且得到token&#xff0c;把得到的token提交给mutations从而修改state里的数据。 原视频 &#xff08;1&#xff09;Vuex用户模块流程 组件页面里点击登录后&#xff0c;调用stores里的actions&…

智慧油田智能安全管控方案-AI助力油气田安全管控升级

在科技日新月异的今天&#xff0c;万物纵横科技凭借其前沿的智慧油田智能安全管控方案&#xff0c;正引领着油气田行业向智能化、高效化转型。该方案深度融合了AI视频智能分析与AIoT&#xff08;物联网人工智能&#xff09;技术&#xff0c;为采油场、油气场的设备运维、环境监…

查缺补漏----Cache命中率与缺失率的判断

第一类问题对比&#xff1a; 块大小16B&#xff0c;int型数据占4B&#xff0c;所以一个Cache块可以放4个数组&#xff0c;所以访问1个数组&#xff0c;后面3个数组的地址可以在同一个Cache块找到。 一个数组要访问2次&#xff0c;即读这个数组&#xff0c;然后给这个数组赋值&a…

傅里叶变换(FT)与快速傅里叶变换(FFT)的区别

傅里叶变换&#xff08;Fourier Transform, FT&#xff09;和快速傅里叶变换&#xff08;Fast Fourier Transform, FFT&#xff09;都是用于信号频域分析的工具&#xff0c;但它们在计算方式和效率上存在显著的区别。下面小编将详细说明傅里叶变换和快速傅里叶变换的定义、原理…

MATLAB图像重心计算

图像重心&#xff08;或质心&#xff09;计算是计算机视觉和图像处理领域 应用领域广泛&#xff1a;包括医疗,生物&#xff0c;动画&#xff0c;机器人等。 该文章通过灰度转换->二值化->质心计算 以下是代码中涉及的一些数学概念和公式&#xff1a; 灰度转换&#xff1a…

离岗睡岗预警系统 值班室离岗识别系统Python 结合 OpenCV 库

在众多工作场景中&#xff0c;存在着一些特殊岗位&#xff0c;这些岗位对于人员的专注度和警觉性有着极高的要求。然而&#xff0c;离岗睡岗现象却时有发生&#xff0c;给工作的正常开展和安全保障带来了严重的威胁。本文将深入探讨特殊岗位离岗睡岗的危害&#xff0c;以及如何…

音乐播放器-0.专栏介绍​

1.简介 本专栏使用Qt QWidget作为显示界面&#xff0c;你将会学习到以下内容&#xff1a; 1.大量ui美化的实例。 2.各种复杂ui布局。 3.常见显示效果实现。 4.大量QSS实例。 5.Qt音频播放&#xff0c;音乐歌词文件加载&#xff0c;展示。 6.播放器界面换肤。 相信学习了本专栏…