Release Orchestration for Cloud Services via App-Aware Proxy

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current software updating methods in cloud services face challenges such as unsatisfactory service experiences, service degradation, and disruption of in-flight customer activities during releases, especially when using monolithic applications or container orchestration systems that lack built-in traffic directors and validation mechanisms.

Innovation Solution

A release orchestration mechanism and reusable deployment pipeline that validate updates before switching production traffic, allowing for seamless transitions and minimizing downtime by using a container orchestration system to manage and route traffic effectively, including pre-release database preparation and post-release activities.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If traditional software updating methods are used in cloud services, then updates can be deployed, but service degradation and disruption of in-flight customer activities occur during releases

Engineering Contradiction:
Improveservice continuityVSAvoidcustomer activity disruption
Core Design Contradiction:
ReliabilityVSEase of operation

Solution Approach 1:

The system performs preliminary validation of the updated version by routing a portion of production traffic to it before full deployment. This allows testing the update in a controlled manner while maintaining the ability to rollback if issues arise, thus preventing service degradation and protecting in-flight customer activities

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The traffic routing is segmented into multiple paths: validation traffic to the updated version and primary production traffic to the current version. This segmentation allows gradual introduction of updates while isolating potential failures from the main service flow, ensuring continuity of customer activities

Inventive Principle:
Principle #1Segmentation

2Device complexity

If monolithic applications or container orchestration systems without built-in traffic directors are used, then deployment is simpler, but validation mechanisms are lacking and service experience deteriorates

Engineering Contradiction:
Improvesystem structureVSAvoidservice validation
Core Design Contradiction:
Device complexityVSReliability

Solution Approach 1:

The system introduces an intermediary traffic director component that sits between the load balancer and application instances. This intermediary manages traffic routing to validation and production instances separately, providing the needed validation mechanism without requiring complete redesign of the monolithic application structure

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The traffic director component serves multiple functions: it routes validation traffic, routes production traffic, monitors service health, and enables rollback capabilities. This multi-functional approach provides comprehensive validation mechanisms while adding minimal structural complexity to the existing system

Inventive Principle:
Principle #6Universality (Multi-functionality)

3Productivity

If updates are deployed without pre-validation, then deployment speed is faster, but service degradation occurs during releases

Engineering Contradiction:
Improvedeployment speedVSAvoidservice quality
Core Design Contradiction:
ProductivityVSReliability

Solution Approach 1:

The system performs preliminary validation by routing validation traffic to the updated version before full production deployment. This quick validation process confirms service quality without significantly delaying deployment, as it occurs in parallel with final deployment preparations

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The validation process occurs continuously during the deployment sequence, with traffic being routed to validation instances while deployment preparations are completed. This continuous validation ensures service quality is maintained throughout the deployment process without interrupting the overall deployment flow

Inventive Principle:
Principle #20Continuity of useful action

Data Source

PatentUS10776099B2Release orchestration for cloud services
Publication Date: 2020.09.15 SALESFORCE INC
  • US10776099B2 patent drawing
  • US10776099B2 patent drawing
  • US10776099B2 patent drawing

AI summary

A release orchestration mechanism for cloud services. According to some implementations, while an app aware 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. When a threshold number of the COS pods having the second app version containers are live, a validation of the second app version is caused. Then a transition to sending production traffic to the second app version containers is performed. After causing the transition, timers are started based on a time period indicated in the configuration information and the first app version containers are instructed to gracefully shut down. Based on expiration of the timers, any of the COS pods having the first app version containers that are not yet shut down are forced to shut down.