This study examines how the adoption of DevOps practices and microservices architecture shifts the responsibility for maintenance from operations teams to developers, who are now tasked with managing both their code and its dependencies. Although containerization technologies facilitate this transition, a significant limitation persists in the continuous delivery pipeline, which typically supports developers only until deployment. To overcome this challenge, Non-functional Production Regression Testing (NPRT) is introduced as an extension of the pipeline into the production environment. NPRT automates the deployment of a new version (canary) alongside a stable version, monitoring and comparing their performance and executing an automatic rollback in the event of a detected regression. We implemented NPRT within Kubernetes by developing Deployer, a tool that integrates continuous integration systems with monitoring frameworks and Kubernetes clusters. The effectiveness of NPRT was evaluated through real-world applications, including an Apache middleware and Rails application, ensuring continuous, automated testing and improved production reliability.

错误:搜索内容不能为空,请输入英文关键词
错误:关键词超出字数限制,请精简
高级检索

Implementing Non-functional Production Regression Testing with Kubernetes

  • Venu Madhav Aragani,
  • Praveen Kumar Maroju,
  • Lakshmi Narasimha Raju Mudunuri

摘要

This study examines how the adoption of DevOps practices and microservices architecture shifts the responsibility for maintenance from operations teams to developers, who are now tasked with managing both their code and its dependencies. Although containerization technologies facilitate this transition, a significant limitation persists in the continuous delivery pipeline, which typically supports developers only until deployment. To overcome this challenge, Non-functional Production Regression Testing (NPRT) is introduced as an extension of the pipeline into the production environment. NPRT automates the deployment of a new version (canary) alongside a stable version, monitoring and comparing their performance and executing an automatic rollback in the event of a detected regression. We implemented NPRT within Kubernetes by developing Deployer, a tool that integrates continuous integration systems with monitoring frameworks and Kubernetes clusters. The effectiveness of NPRT was evaluated through real-world applications, including an Apache middleware and Rails application, ensuring continuous, automated testing and improved production reliability.