成功云弹性的一种方法 系统和混沌测试
在当今数字技术时代,停机象征着企业的业务终止和支出损失,因此构建弹性云计算架构势在必行。例如在新冠疫情时期,由于颁布出行禁令,IT保养团队难以本地从新启动和保养数据中心中的主机。这或许会造成用户访问数据或软件的渺小阻碍,造成消费率降低,并在外部部署设备停机时形成业务终止。
此时行之有效的处置方案是将企业的业务迁徙到云计算基础设备,IT员工可以经过远程上班来提供全天候的技术支持以确保安保运营。云计算在这里表演了救世主的角色。很多企业宿愿充沛应用云计算的后劲,因此,云计算操作的可观察性和弹性变失势在必行。
在技术驱动的商业经济中,云计算服务终止面临的结果将是劫难性的。任何缺点和终止都会造成多米诺骨牌效应,阻碍系统性能。因此,企业必定经过系统和混沌测试在其云计算架构中构建弹性。
混沌测试是一种可以处置大规模散布式系统中的凌乱疑问的可实验的、基于系统的方法。人们须要了解弹性和可观察性的含意,以及系统和混沌测试关于防止停机和业务终止来说至关关键的要素。
为防止云计算服务终止,企业必定经过以延续和凌乱的形式对其启动测试,在其云架构中构建弹性。
1.可观察性
可观察性可以经过两个方面来了解:一方面是经过控制通常将可观察性解释为经过对其外部输入的推断来了解系统形态的环节。另一方面将可观察性的学科和方法解释为旨在权衡不确定性和未知数。
它有助于了解系统或运行程序的属性。云计算的可观察性是应用不同的域、规模和服务的端到端监控的先决条件。可观察性不应与监控混杂,由于监控用于了解运行程序中疑问和异常的基本要素。监控会通知IT人员什么时刻出现了疑问,而可观察性可以协助他们了解为什么会出错。它们的目的不同,但却是相互补充的。
云计算系统须要可观察性和弹性,以确保更少的停机时期、更快的运行程序速度等。
2.弹性
而迁徙到云平台的企业都应确保并测试其系统的稳固性、牢靠性、可用性和弹性,其中弹性位于档次结构的最上层。稳固性是保障系统和主机不会经常解体;可用性经过将运行程序散布在不同位置以减轻上班负载来确保系统反常运转;牢靠性确保云计算系统有效运转和可用。然而,假设企业想要处置无法预感的疑问,那么始终测试弹性就变得必无法少。
弹性是指预期会出现疑问,并且系统经过测试以处置和调整自身以处置该疑问。系统的弹性并不是智能成功的。弹性系统抵赖复杂的系统和疑问,并致力逐渐采取措施应答失误。它须要始终测试以缩小疑问或缺点的影响。而继续测试可以防止云计算服务缺点,以确保更高的性能和效率。
可以经过现场弹性设计和应用混沌测试等系统测试方法成功弹性。
传统测试及其无余的要素
传统测试可以确保运行程序的无缝设置和迁徙到云计算系统,并额外监控它们的口头和上班效率。这足以确保云计算系统不会依据设计思考扭转运行程序的性能和配置。
驳回传统测试是不够的,由于它在发现潜在的暗藏架构疑问和异常方面效率低下。一些缺点仿佛处于休眠形态,由于它们仅在触发特定条件时才变得可见。
云计算的高可用性承诺
微软公司云计算业务主管ScottGuthrie在谈到云计算的未来和开展前景时说,“咱们看到数字空间的开展速度放慢。云计算让咱们能够依照摩尔定律的速度启动裁减,而且还能加快裁减并经常使用更少的基础设备。”由于新冠疫情造成企业员工自愿在家远程上班,云计算投资并没有激增。然而,由于这种史无前例的需求,一切超大规模厂商都不得不采取节流和优先级控制措施,这违反了公共云的按需弹性准则。
在终止和停机方面,公共云也会出错。例如,谷歌公司最近出现的宕机事情使Gmail和Youtube等多个谷歌服务中止,这标明公共云也会出现系统宕机。因此,这场疫情为弹性云计算系统参与了几个视角:
1.系统必定颠簸运转,即使在线流量的异常激增也不会扭转。
2.系统必定寻觅代替方法来控制配置和资源池,以防额外的资源调配恳求被云计算提供商拒绝或限度。
3.系统应该是可访问和安保的,以处置未知位置并转移到混合上班环境(或许是网络防火墙之外的多个端点)。
新冠疫情凸显了对弹性云系统启动延续和混沌测试的价值。一个具有弹性且经过片面测试的系统将能够以安保、无缝、稳固的形式控制额外的拥塞流量。为了检测未知流量,须要混沌测试和混沌工程。
仅靠云原生运行程序设计无余以成功弹性
在公共云中,由于云计算提供商提供的基本配置、多层/多技术基础设备以及云计算系统的散布式个性存在差距,运行程序弹性架构变得愈减轻要。即使底层基础设备的可用性和弹性由云计算提供商提供,这也或许造成云计算运行程序以无法预测的形式失败。
为建设良好的运行程序弹性基础,在设计环节中,云计算工程师应驳回以下战略来测试、评价和表征运行程序层弹性:
1.应用架构良好的全体处置方案架构框架,并驳回云原生才干成功可用性和劫难复原。
2.与云计算架构师和技术架构师协作,定义可用性指标,并推导出运行程序和数据库层弹性属性。
在建模的同时,依据预期或观察到的经常使用形式定义假定的缺点模型,并依据业务影响为这些缺点形式制订测试方案。
经过驳回架构驱动的测试方法,企业可以在上线之前深化了解云计算运行程序弹性的基本级别,并且可认为性能修复优惠调配足够的时期,但依然须要在云原生运行程序设计中测试运行程序的未知缺点和多个方面的缺点点。
混沌测试与站点牢靠性工程
混沌测试是一种无心将压力和异常引入云计算架构中的方法,以系统地测试系统的弹性。
首先明白指出的是,混沌测试并不能代替实践的测试系统,这只是权衡失误的另一种方法。经过混沌测试,IT团队可以看到出现了什么状况以及如何反响。然而,最关键的是,它可以协助他们权衡系统在可观察性和弹性方面的差距,而这是最后被漠视的事情。
Netflix公司在2011年迁徙到云计算系统时率先驳回了这种弱小的测试方法,混沌测试提醒低效率,并疏导开发团队启动更改、测量和提高弹性,协助云计算架构师更好地理解和更改他们的设计。
继续、系统和混沌的测试参与了云计算基础设备的弹性,有效地增强了系统的弹性,并最终增强了控制和运营团队对其正在构建的系统的信念。
而企业必定局部或齐全在云计算基础设备上创立弹性IT系统。
经常使用混沌测试和站点牢靠性工程可以协助企业在以下方面坚持弹性:
为了建设完整的运行程序弹性,除了前面提到的云计算运行程序设计方面,处置方案架构师还须要驳回架构形式,准许注入特定缺点以触发外部失误,从而在开发和测试阶段模拟缺点。
缺点触发器的一些经常出现示例是照应提前、资源占用、网络终止、瞬态条件、用户的极其操作等等。
如何启动混沌测试
混沌测试可以经过在云计算结构的任何七层中引入异常来成功,协助评价对弹性的影响。
当Netflix公司在2011年成功颁布其弹性工具ChaosMonkey时,许多开发团队将其用于混沌工程测试系统。还有另一个由软件工程师开发的工具测试系统Gremlin,它也在做雷同的事情。然而,假构想在新冠疫情背景下口头混沌测试,则可以经常使用GameDay来成功。这会刺洪流量突然参与而出现的异常现象;例如,客户同时访问一个移动运行程序。GameDay的指标不只是测试弹性,还要增强系统的牢靠性。
为确保混沌测试成功,须要采取以下步骤:
1.识别:识别系统中的关键弱点,并创立一个假定以及预期结果。工程师须要识别和评价在假定框架内注入什么样的缺点。
2.模拟:依据真实事情在消费环节中注入异常。这可确保将系统中或许出现的状况包含在内。这或许会造成运行程序或网络终止或节点缺点。
3.智能化:须要这些实验成功智能化,或许是每小时或每周等。这确保了延续性,这是混沌工程中的一个不利要素。
4.继续反应和完善:这些实验有两个结果,可以确保弹性或检测须要处置的疑问,可以从中取得反应以改良系统。
在系统上引发失误攻打和序列的其余详细方法或许是:
结语
在当今云迁徙和云计算经常使用量激增的数字时代,增强云计算弹性以提高运行程序的有效性能变失势在必行。而在名目的生命周期中,继续和系统的测试是必无法少的,而且在公共云累赘过重的状况下,也要确保云计算架构的弹性。经过防止长时期的终止,企业可以节俭少量老本并防止损失,此外,还可以确保为客户提供服务的耐久性。因此,混沌测试成为驳回大规模散布式系统的必要条件。
原文题目:Systematic and Chaotic Testing: A Way to Achieve CloudResilience,作者:Gaurav Aggarwal