博客

连续使用詹金斯管道和Kubernetes负载测试

作者:

188金宝搏app苹果下载软件Tricentis员工

各种各样的贡献者

日期:2021年5月。03,

这篇文章是关于如何启用系列中的第一性能测试适合连续和自动无缝管道。

第1部分:连续使用詹金斯管道和Kubernetes负载测试

第2部分:3杀手反模式在连续性能测试

第3部分:加速性能分析与趋势和开放API的数据

随着组织越来越自动化软件交付的方式,许多团队努力适应传统的反馈循环持续交付生命周期。188金宝搏官网登录app“你怎么测试所有的事所有的时间”是一个典型的(尽管早期)人们问的问题。测试只是一个策略,关键需要关注/ /反馈回路时应在的地方(至少自动化管道的上下文中)。

考虑负载测试,一种机制来验证分布式软件系统的可伸缩性和性能,这需要时间,专业知识,经常不间断的基础设施。188金宝搏官网登录app反馈是至关重要的,但收集过去的成本太高,适合高速软件交付。188金宝搏官网登录app不再这样了。

负载测试和持续交付什么?

除非你想不断交付令人失望的软件引起更多的麻烦比它的价值在生产中,考虑到有许多工具/技术生产的软件工程已经过去188金宝搏官网登录app70年来防止这个不幸的未来。其中一个是负载测试前(后)的分布式系统部署。

负载测试仅仅是一个技术系统更好的理解,使其表现出问题的错误配置,建筑的假设,和资源约束。类型的负载测试的范围从容量系统检查全面浸泡测试,把大部分的一天。

但你如何挤出时间来做这个繁忙的冲刺和部署期间的日程安排吗?,怎样才能做到不断不引起延迟/浪费您的价值流吗?答案有两方面:

  • 删除阻滞剂来运行这些测试
  • 结果可见的、可操作的、透明的

让我们从第一个开始自动化拦截器。

步骤0:让你的鸭子排成一行

深入的技术细节之前,它有助于提前有一些需求充实。在我们的领域经验,常见的性能自动化阻断剂包括:

  • 不一致可用系统或环境测试:你不能测试一个应用程序/服务,你不能接触,所以在许多情况下,这意味着“性能测试目标环境”项目计划。
  • 性能标准进气过程:有时候这可以很简单是一种关于系统的问题和时间性能测试目标。
  • 结果分析和应对计划所有团队,不仅性能工程师,同意支持。除非是解决问题,测试的重点是什么?
  • 精确的系统性能和可靠性的期望描述为服务水平协议(sla)、目标(SLOs)及指标(图书馆),也称为监测指标。

有这些“入口准则”开始之前解决连续性能测试可以减少误解,延迟,否则跨团队的障碍。时,我们看到企业团队多达10性能工程师支持数以百计的应用程序和服务团队。如果你没有,那很酷,为什么我们要带给你的经验教训而把负载测试成严重的实践。

步骤1:选择一种适合持续交付的“硬件”范式

负载测试需要的硬件资源与被测系统(SUT)提供公正、客观的测量系统性能压力。在performance-speak,这些通常被称为“负载生成器”;他们分手的责任在SUT上施加很多压力,允许一个主“控制器”来编排/整合在一个测试的实时搜索结果。

问题与传统不间断持续交付基础设施(在任何类型的数量有限自动化过程如詹金斯节点构建)是你最终的静态资源如果需求太高了。你有太多的并发构建触发因为特性团队拥有高速度?这是不幸的;构建失败如果可用资源并不是因为其他人使用他们。此反模式繁殖如果你需要一些资源/构建,如多种测试环境或多个负载控制器/负载生成器运行测试。

不要害怕,有两种方法资源竞争条件:

  1. 储备和队列资源——在我看来,一个反模式,阻碍了交付
  2. 动态配置使用自动化资源描述

对于许多188金宝搏app苹果下载软件Tricentis NeoLoad客户,从静态负载生成器不间断切换到动态只在需要时基础设施与传统虚拟机(通过VMware on-prem或基于云的解决方案如AWS EC2, Azure,或谷歌云)可以有以下效果。

  • 自旋向上,需要太长时间的分钟。
  • 它通常需要定制手工配置,甚至每次都重新包装的一小部分软件版本改变。188金宝搏官网登录app

另外,基于容器的解决方案,比如码头工人和Kubernetes发射在几秒钟内,快速更新/发布新版本像Artifactory容器注册中心。原因是,打包的软件称为“容器”层的实例图片体积增量。188金宝搏官网登录app在本例中,容器存在主要是实例元数据和体积数据的容器主机级别的Linux系统的核心模块。它就像VM上增量卷类固醇,但更大的语法糖和语义自动化工程师。

在这个模型中,团队使用一个脚本就像Dockerfile描述规范负载生成器将会是什么样子的软件组件,甚至可能会如何与其他负载生成器/旋转控制器在Kubernetes部署文件。188金宝搏官网登录app

第二步:建立一个与你的集装箱供应团队的关系

不幸的是,许多企业已经合成为“DevOps SysOps部门工程师做云的事情;一切其他球队不明白。“无论你在哪里你的敏捷,DevOps,或杂草丛生的软件森林旅行,然而,您的组织决定巩固专业知识在特定的领域,一188金宝搏官网登录app个稳定的人需要在管道和容器之间的关系与Kubernetes那些条款是至关重要的实现在动态负载测试基础设施。

在很多情况下,云计算和SysOps工程师拥护DevOps的方法来满足敏捷消费者制定服务团队跟踪他们的工作使用类似的方法组织工作模式可预测的结果。金宝搏188官网网址”功能工作”或随叫随到的责任是有据可查的,优先,跟随在短跑和看板,要求消费者请求形成和计划。了解摄入模式你兄弟工程团队使用鼓励有效的沟通和合作是至关重要的。

案例研究:动态基础设施在财富100强

我已经工作的快乐和痛苦,不少大型组织自2018年中期以来,实施大规模负载测试使用Kubernetes詹金斯的管道。有些OpenShift,而另一些人则把本土的方法通过牧场主和VMware。

对于一个组织,第一个障碍是管道编制本身,在詹金斯在CloudBees企业可能提供的容器自动构建的步骤,但只有一个容器一次通过宫插件(在“生产”詹金斯环境)。Single-container构建服务以及一种连续的方式打包软件使用Docker-in-Docker (Di188金宝搏官网登录appnD)构建节点但分解很快当你的任务需要多个容器如负载控制器/发电机工作。“双轮马车”容器也被证明是不可行的,繁琐的有效管理。

他们的第二个障碍(和最终的解决方案)是切换到一个更新的非生产环境支持Kubernetes插件詹金斯,通常用于测试新的插件版本和其他实验自动化流程。这样做需要的开发工作性能工程和云计算之间的关系/ DevOps供应团队。通过适当的multi-container模板解决方案,首席工程师能够构建可靠的负载控制器/发电机模型用于管道脚本。在这个过程中,她学会了如何有效地修改Dockerfile模板垫片企业CA和中级安全证书所以控制器可以交换负载测试的结果188金宝搏app苹果下载软件Tricentis NeoLoad。这种方式,每一个负载测试在这些管道将产生有用的实时性能结果应用和服务团队做出重要决定发布准备情况和质量趋势随着时间的推移,他们的自主产品。188金宝搏官网app注册

另一个组织已经有了一个容器编制平台,OpenShift,来解决这些问题。领导已经决定,所有新的自动化应该利用这个平台来整合资源使用和降低传统不间断的硬件成本的预期。然而,不得不写配置模板和规则不是一个障碍他们准备克服短期的。

解决方案就是与他们密切合作,开发本地OpenShift支持NeoLoad Web运行时,首选的方法存储在Gitlab执行负载测试套件。此外,REST API支持触发这个过程提供了性能和自动化工程团队的自由扩展性能反馈他们的应用和服务团队作为一种服务,而无需在一夜之间成为码头工人和Kubernetes专家。

这种自由,性能工程师嵌入到各种应用程序/服务团队可以匹配测试与开发周期的关键工作而不是管理硬件资源。这导致跨职能团队更紧密地合作,发现意外的服务网格和架构问题在实现阶段早期,前“叉车”系统迁移。

步骤3:构建有用的信息开发和操作的散热器

作为开发和运营周期缩减到几天,而不是数周,实时反馈关于代码/系统融入进程内的变化变得至关重要的工作,而不是离开很长的测试周期的冲刺工作。小批量大小意味着这两种代码和测试工作最佳一起发生,保护工作申请的背景下运动。实现这项工作需要一个简单的好处,自主写作的方法,运行,分析测试的结果相同的周期。金宝搏188官网网址

连续负载和性能测试、实时“有用的信息”包括以下数据:

  • 加载基础设施卫生,以确保不引入测试结果偏差
  • 每秒事务持续时间、吞吐量和请求
  • 被测系统资源利用率的各种组件
  • 测量压力的影响的终端用户体验

DevOps,术语“信息散热器”意味着一个可视化表示的指标决定系统可靠性的关键。敏捷也使用这个术语来描述管理工作项的状态,因为他们通过人工和自动化流程流。

性能工程,有几个关键方面散热器的负载测试信息,即:

  • 在每个测试的基础上详细的报告和数据挖掘(测试结果)
  • 趋势交易和系统响应能力
  • 与其他平台的集成(例如,OpenShift)有效地执行测试
  • 永远可用访问这些信息由所有团队和涉众

详细的报告从NeoLoad Web的一个例子如下所示,包括负荷总量、系统健康,和最终用户从硒W3C演出时间:

188金宝搏app苹果下载软件Tricentis NeoLoad Web reporrting

这些仪表盘可以构建和共享每个团队或整个组织。本地LDAP支持也使组织能够提供访问人员批准。

此外,交易和请求率的趋势,特别是有用的api和microservices,提供一个快速的方法来确定技术性能随时间累积的债务:

188金宝搏app苹果下载软件Tricentis NeoLoad趋势指示板

通过这个信息,促进它作为行/不行自动化决策过程的一部分,团队可以找到正确的适合将注意力集中在哪个系统和组件。

现在:从小事做起,树立信心

弄清楚哪些系统和组件需要连续反馈不需要一个个体;相反,它需要与您的团队/工程师。挑选合适的人选连续测试和构建可靠的测试流程详细介绍我的白皮书连续性能测试的实用指南。现在,我鼓励你问问你自己,“我们已经从步骤0元素的地方今天,这样我们可以有一个富有成效的对话与团队X ?”

说,选择一个系统、API或服务,你的业务至关重要,也许你感觉缺乏可见性对性能、可伸缩性和可靠性。很有可能你已经知道哪些系统经历了意外停机时间或已确定高风险规划流程。注意谁“拥有”这个系统,不仅在生产作业但在发展在业务方面。他们可能会固执,和适当的反馈循环性能如何积极影响他们的工作。

接下来

在下一篇文章中,3杀手反模式在连续性能测试,我们深入到为什么缺乏Git /版本控制,促销策略,或“根源”杀手反模式在连续性能测试。

在本系列的最后一篇文章,加速性能分析与趋势和开放API的数据,我们看看将连续性能实践让你。简而言之,系统更好,更快的失败/修复周期,和更少的技术债务。

《华盛顿邮报》最初是出版于2019年,是最近更新的2021年7月。

一定要检查我们的白皮书连续性能测试的实用指南深入挖掘这些主题

作者:

188金宝搏app苹果下载软件Tricentis员工

各种各样的贡献者

日期:2021年5月。03,
Baidu
map