PROGRESSIVE DEPLOYMENT AND TERMINATION OF CANARY INSTANCES FOR SOFTWARE ANALYSIS
First Claim
1. A data processing method, comprising:
- using computing apparatus, causing instantiating, a plurality of baseline application instances that are running a first version of software, and one or more canary application instances that are running a second version of the software;
using computing apparatus including a load balancer, causing selectively routing a first proportion of incoming requests to the baseline instances, and routing a second proportion of the incoming requests to the canary instances;
monitoring the plurality of canary instances to collect performance data for a plurality of performance metrics;
determining that the performance data indicates a negative performance issue, and in response thereto;
using computing apparatus, automatically updating the first proportion to be larger and updating the second proportion to be smaller, and then reconfiguring the load balancer based upon the first proportion and the second proportion.
1 Assignment
0 Petitions
Accused Products
Abstract
A data processing method, comprising: using computing apparatus, causing instantiating a plurality of baseline application instances that are running a first version of software, and one or more canary application instances that are running a second version of the software; using computing apparatus including a load balancer, causing selectively routing a first proportion of incoming requests to the baseline instances, and routing a second proportion of the incoming requests to the canary instances; monitoring the plurality of canary instances to collect performance data for performance metrics; determining that the performance data indicates a negative performance issue, and in response thereto: using computing apparatus, automatically updating the first proportion to be larger and updating the second proportion to be smaller, and then reconfiguring the load balancer based upon the first proportion and the second proportion; terminating one or more of the canary application instances.
-
Citations
25 Claims
-
1. A data processing method, comprising:
-
using computing apparatus, causing instantiating, a plurality of baseline application instances that are running a first version of software, and one or more canary application instances that are running a second version of the software; using computing apparatus including a load balancer, causing selectively routing a first proportion of incoming requests to the baseline instances, and routing a second proportion of the incoming requests to the canary instances; monitoring the plurality of canary instances to collect performance data for a plurality of performance metrics; determining that the performance data indicates a negative performance issue, and in response thereto; using computing apparatus, automatically updating the first proportion to be larger and updating the second proportion to be smaller, and then reconfiguring the load balancer based upon the first proportion and the second proportion. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 25)
-
-
9. A non-transitory computer-readable medium storing one or more sequences of instructions which when executed cause performing:
-
using computing apparatus, causing instantiating, at one or more cloud service providers, a plurality of baseline application instances that are running a first version of software, and one or more canary application instances that are running a second version of the software; using computing apparatus including a load balancer, causing selectively routing a first proportion of incoming requests to the baseline instances, and routing a second proportion of the incoming requests to the canary instances; monitoring the plurality of canary instances to collect performance data for a plurality of performance metrics; determining that the performance data indicates a negative performance issue, and in response thereto; using computing apparatus, automatically updating the first proportion to be larger and updating the second proportion to be smaller, and then reconfiguring the load balancer based upon the first proportion and the second proportion. - View Dependent Claims (10, 11, 12, 13, 14, 15, 16)
-
-
17. A data processing system comprising:
-
one or more processors; a canary analysis component that is communicatively coupled to the one or more processors and to at least one cloud computing environment, the cloud computing environment comprising a load balancer, the canary analysis component comprising a non-transitory computer-readable medium storing one or more sequences of instructions which when executed cause performing; using computing apparatus, causing instantiating, at one or more cloud service providers, a plurality of baseline application instances that are running a first version of software, and one or more canary application instances that are running a second version of the software; using computing apparatus including the load balancer, causing selectively routing a first proportion of incoming requests to the baseline instances, and routing a second proportion of the incoming requests to the canary instances; monitoring the plurality of canary instances to collect performance data for a plurality of performance metrics; determining that the performance data indicates a negative performance issue, and in response thereto; using computing apparatus, automatically updating the first proportion to be larger and updating the second proportion to be smaller, and then reconfiguring the load balancer based upon the first proportion and the second proportion; terminating one or more of the canary application instances. - View Dependent Claims (18, 19, 20, 21, 22, 23, 24)
-
Specification