Cloud Release Orchestration With Validated Traffic Switching
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing systems for updating cloud services face challenges such as lack of validation before switching production traffic, requiring human intervention, service degradation during releases, and disruption of in-flight traffic, especially when the updated version is unstable.
Innovation Solution
A system utilizing a container orchestration system (COS) with a reusable deployment pipeline that validates the updated version before switching production traffic, uses an app aware proxy for seamless traffic routing, and includes a mechanism for graceful shutdown of the old version, ensuring minimal disruption and scalability.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If validation is performed before switching production traffic, then reliability is improved, but loss of time increases due to additional validation steps
Solution Approach 1:
The system performs validation of the updated version before switching production traffic by sending validation traffic and monitoring performance metrics. This preliminary validation ensures service stability while the graceful shutdown mechanism minimizes time loss by allowing in-flight requests to complete before terminating old instances.
2Ease of operation
If seamless traffic routing is implemented, then ease of operation is improved, but device complexity increases due to proxy and routing mechanisms
Solution Approach 1:
The system introduces an app-aware proxy as an intermediary component that handles traffic routing between clients and application instances. The proxy monitors instance health and performance, automatically routing traffic to healthy instances while performing seamless updates without requiring complex manual intervention.
3Reliability
If graceful shutdown mechanism is used, then reliability is improved by preventing transaction failures, but loss of time increases due to waiting for in-flight requests
Solution Approach 1:
The system implements a graceful shutdown mechanism that cushions the transition by allowing in-flight requests to complete before terminating old application instances. This prevents transaction failures by ensuring ongoing operations are not abruptly interrupted, while the proxy continues routing traffic to healthy instances during the transition period.
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.


