Cloud Service Release Orchestration with Test Traffic Validation
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing cloud service update mechanisms face challenges such as unsatisfactory customer experience due to service degradation, disruption of in-flight customer activity, and instability during releases, especially in micro-services architectures, as they lack seamless validation and traffic management.
Innovation Solution
A system for release orchestration using a container orchestration system (COS) with a reusable deployment pipeline that validates updated versions before switching production traffic, ensuring seamless transitions by controlling database updates and using an app-aware proxy for traffic routing, allowing for zero-downtime releases.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Productivity
If traditional cloud service update mechanisms are used, then deployment speed can be improved, but service stability deteriorates due to service degradation and disruption of in-flight customer activity
Solution Approach 1:
The system performs preliminary validation of the updated version by routing a portion of production traffic through the app-aware proxy to the new version before full deployment. This allows detection of potential service degradation or instability in advance, preventing complete service disruption while maintaining deployment progress
Solution Approach 2:
The system dynamically adjusts traffic routing between old and new versions based on real-time performance monitoring. The app-aware proxy can shift traffic proportions adaptively, increasing traffic to the new version if validation succeeds or routing back to the old version if issues are detected, thus maintaining service stability during deployment
2Loss of time
If rapid version updates are implemented, then release time is reduced, but customer experience deteriorates due to service degradation
Solution Approach 1:
The system performs preliminary validation by sending a portion of production traffic to the updated version before complete switchover. This early validation detects potential service degradation issues before they affect all customers, allowing rapid yet safe releases
Solution Approach 2:
The system monitors performance metrics of the updated version receiving production traffic and uses this feedback to determine whether to proceed with full deployment or rollback. This feedback mechanism enables rapid releases while preventing customer experience degradation through real-time validation
3Reliability
If validation of updated version is performed before switching traffic, then service stability is improved, but release time increases
Solution Approach 1:
The system performs partial validation by routing only a portion of production traffic to the updated version rather than requiring complete validation before any traffic switch. This partial action approach provides sufficient confidence for stable deployment while significantly reducing validation time compared to full validation
Data Source
AI summary
According to some implementations, while a proxy routes production traffic to a first application (app) version that runs in a plurality of container orchestration system (cos) pods having first app version containers, configuration information is received including an identification of a second app version container image for a second app version. The second app version is an updated version of the first app version. Cos pods having second app version containers are brought up based on the second app version container image identified in the configuration information. Test and/or warmup traffic is caused to be routed to the second app version containers. Responsive to an indication regarding the routing of the test and/or warmup traffic to the second app version, causing a transition to sending production traffic to the second app version containers instead of to the first app version.


