

Table of Contents
See Why DevOps Leaders Choose Testkube for Continuous Testing
See Why DevOps Leaders Choose Testkube for Continuous Testing


.avif)


Table of Contents
Imagine an important production issue where a recent deployment introduces a bug, causing customer-facing downtime. This situation highlights the critical need for an automated solution ensuring secure and robust deployment processes. Progressive delivery emerges here, revolutionizing our deployment automation and reliability approach.
Progressive delivery allows you to gradually (“progressively”) deploy an updated version of your application to an increasing subset of users, evaluating end-user experience during the deployment process and enabling you to roll back your application state if any problems arise. Your application and/or infrastructure automatically restores, minimizing downtime and restoring service.
Building on this, Argo Rollouts, a Kubernetes-native tool, adds advancement through blue-green and canary deployments, ensuring safer rollouts. Combined with Testkube, it enables comprehensive testing throughout the deployment cycle, thereby increasing reliability.
In this blog, we will look at progressive delivery, various deployment techniques like blue-green and canary releases, and understand how Testkube helps with progressive delivery.
Understanding Progressive Delivery
Progressive delivery is a contemporary software deployment strategy that enables the planned and secure release of new features and updates over time. It targets a small subset of users, monitoring for potential issues before the changes are more broadly implemented rather than simultaneously pushing updates to all users. This method mitigates the risks of downtime, bugs, and negative user impact and guarantees the smoother execution of deployments.
Progressive delivery improves reliability and allows for quick rollback of issues in continuous delivery pipelines. The key benefits include reduced risks, increased service availability, and faster user feedback. By releasing changes gradually, teams can monitor real-time performance and address issues before they affect all users.
Types of Progressive Delivery Strategies
Canary Release
This strategy involves releasing updates to a small percentage of users. Based on feedback and performance metrics, the deployment is gradually expanded. If problems are discovered, rollback is simple, affecting only a small percentage of the user base.

For instance, a company deploying a new feature to its e-commerce platform might roll it out to 5% of users. They monitor metrics like page load times, errors, and conversion rates. If everything looks good, they increase the rollout to 50% and eventually to all users. If issues are detected, they can stop the rollout and address the problems while most users remain unaffected.
Blue-green Deployment
With this approach, we can maintain two identical environments: blue (current live version) and green (new release). Users are initially directed to the blue environment. After the new version has been deployed in the green environment and passed all tests, traffic is switched to the green environment to reduce downtime.

Similarly, an organization updating its internal HR system might deploy the new version to the green environment, testing it with a few employees. Once validated, they switch all users to the green environment while keeping the blue environment intact if they need to revert quickly due to unforeseen issues.
One tool that can help you with progressive delivery is Argo Rollouts.
Introduction to Argo Rollouts
Argo Rollouts is a Kubernetes-native tool that gives your application deployments more control, flexibility, and security. Advanced strategies, including blue-green deployments, canary releases, and progressive delivery, help teams implement improvements progressively while lowering risk. This application quickly identifies any challenges before a deployment goes live, enabling the reversal of changes without affecting any users.
Benefits of Argo Rollouts
Argo Rollouts offers multiple features that simplify the deployment process:
- Blue-Green Deployments: You can set up two environments, one with the current version (blue) and another with the new version (green). Traffic is moved seamlessly when the green environment passes all tests, thus preventing downtime.
- Canary Release: This strategy involves rolling out a new version of our application to a small group of users rather than releasing it to everyone simultaneously.
- Automated Rollbacks: Argo Rollouts' automated rollbacks feature safeguards the user experience by allowing the software to automatically revert to the previous version in the event that something goes wrong.
- Seamless Integration with ArgoCD: Integrating GitOps with ArgoCD creates a robust continuous delivery solution combining logical version control and advanced deployment strategies.

Using Testkube in Progressive Delivery
Testkube is a cloud-native test execution framework that simplifies and automates the testing process in a Kubernetes cluster. Testkube interfaces with existing testing tools and frameworks to automate test execution across the software development lifecycle. Testkube ensures dependable and tested deployments in GitOps, where infrastructure and apps are managed through Git. Read our blog post on using Testkube with ArgoCD to leverage GitOps for testing.
Types of Tests Supported by Testkube
Testkube is flexible enough to meet various testing requirements because it supports any testing framework or tool you might already be using, including
- Unit Tests: These tests focus on specific components or pieces of code to ensure they function as expected.
- Integration Tests: These types of tests determine whether different components of an application work together as expected.
- End-to-End Tests: E2E tests simulate user workflows and ensure that the entire application functions correctly from the user's perspective. These tests frequently require a Kubernetes environment to run the application components.
- Performance Tests: These tests evaluate the application's ability to handle load and remain responsive under various conditions. They could include stress testing, load testing, and benchmarking on a Kubernetes cluster.
- API Tests: Testkube supports API testing tools, including Postman and SOAPUI. These tools enable you to verify the functionality of your APIs, ensuring that they process requests correctly and return accurate responses.
Check out the Testkube Examples and Guides for hands-on examples with the most popular testing tools.
Testing is critical to progressive delivery techniques like blue-green and canary deployment to ensure the applications function correctly, and only then are they rolled out to the entire user base.
How Testkube supports Progressive Delivery:
- Automated testing: Testkube can automatically trigger tests on new versions of applications that are rolled out to validate their functionality, stability, and performance.
- Conditional progression: Testkube can validate the release through a series of tests as it allows progression based on test outcomes. For example, after a Canary deployment to 5% of users, Testkube can validate the release through a series of tests, and if the tests pass, the rollout continues; if not, the process halts for further investigation.
- Seamless integration with ArgoRollouts: Testkube seamlessly integrates with ArgoRollouts, ensuring that tests are run as part of the progressive delivery process and traffic is directed to the new version only if the tests pass.
Read more about using Testkube with ArgoRollouts for various progressive delivery techniques in the following blog posts:
- Using Testkube with ArgoRollouts for Canary Deployments
- Using Testkube with ArgoRollouts for Blue-green Deployments
Summary
Integrating Testkube with Argo Rollouts provides major benefits to your deployment process. By combining automated testing with advanced deployment approaches such as canary and blue-green deployments, you can ensure that your upgrades are safe and reliable. Multiple tests performed by Testkube during deployments provide an additional layer of trust, enabling early error identification and preventing downtime. If you want to improve your GitOps processes, introducing progressive delivery testing is a good start.
Why not give it a go yourself? Sign up to Testkube and try one of our examples, or head over to Testkube documentation—if you get stuck or have questions, reach out to us on Slack. We're here to help!
▼Argo Rollouts is a Kubernetes-native deployment controller that enhances progressive delivery through advanced deployment capabilities beyond standard Kubernetes deployments. It provides enterprise-grade features specifically designed for safe, controlled application releases.
Key features that support progressive delivery include:
- Multiple deployment strategies: Native support for canary and blue-green deployment patterns with configurable traffic splitting
- Real-time analysis: Integration with monitoring systems like Prometheus, Datadog, and New Relic for data-driven deployment decisions
- Automated rollback: Automatic rollback capabilities based on predefined metrics, health checks, and failure thresholds
- Traffic management: Integration with service meshes (Istio, Linkerd) and ingress controllers for precise traffic routing control
- GitOps workflows: Seamless coordination with ArgoCD for complete GitOps-based deployment pipelines
- Manual gates: Support for manual approval steps and human intervention points during rollouts
This ensures safer, controlled deployments with the ability to revert quickly if problems occur, providing teams with confidence to deploy more frequently while maintaining system reliability.
Testkube enables automated testing within Kubernetes clusters during each phase of a progressive deployment, ensuring that only verified, stable versions progress through the rollout process.
Testkube improves progressive delivery workflows by providing:
- Automated test execution: Trigger comprehensive tests after each rollout step to validate application functionality and performance
- Health validation: Validate application health before proceeding to the next deployment phase, ensuring quality gates are met
- Failure detection: Halt rollout if tests fail, preventing problematic versions from reaching additional users
- Integration capabilities: Direct integration with Argo Rollouts for conditional progression based on test results and success criteria
- Real-time feedback: Provide immediate insights into application health and performance during deployments
- Comprehensive testing: Support for multiple test types including functional, performance, and integration tests
This integration ensures that:
- Only stable, verified versions are exposed to users
- Deployment decisions are based on objective test results rather than manual assessment
- Teams receive immediate feedback on application quality during rollouts
- Risk is further minimized through automated quality validation
Testkube supports a wide range of testing frameworks and test types, providing comprehensive validation capabilities for applications at each deployment stage.
Supported test types include:
- Unit tests: Validate individual components and functions in isolation to ensure code quality
- Support for Jest, PyTest, JUnit, and other popular testing frameworks
- Fast execution for rapid feedback during development and deployment
- Integration tests: Verify interactions between different application components and services
- Database connectivity and data flow validation
- Service-to-service communication testing within the Kubernetes cluster
- End-to-end tests: Simulate complete user workflows and real-world usage scenarios
- Support for Selenium, Cypress, and Playwright for web application testing
- Full user journey validation from frontend to backend
- Performance and load tests: Ensure applications can handle expected traffic and load patterns
- Integration with k6, JMeter, and Artillery for comprehensive performance testing
- Response time, throughput, and resource utilization validation
- API tests: Validate REST APIs, GraphQL endpoints, and web services
- Support for Postman collections and Newman runner
- SOAPUI integration for SOAP web services
- Custom HTTP request validation and contract testing
This flexibility allows comprehensive validation of applications at each deployment stage, improving confidence and reducing risk throughout the progressive delivery process.