Progressive deployment and termination of canary instances for software analysis
First Claim
1. A computer-implemented method, comprising:
- routing a first proportion of incoming requests to one or more canary application instances associated with a first version of software application code and a second portion of the incoming requests to one or more application instances associated with a second version of the software application code;
collecting performance data for one or more performance metrics; and
modifying the first proportion of incoming requests according to the one or more performance metrics.
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.
10 Citations
19 Claims
-
1. A computer-implemented method, comprising:
-
routing a first proportion of incoming requests to one or more canary application instances associated with a first version of software application code and a second portion of the incoming requests to one or more application instances associated with a second version of the software application code; collecting performance data for one or more performance metrics; and modifying the first proportion of incoming requests according to the one or more performance metrics. - View Dependent Claims (2, 3, 4, 5, 6)
-
-
7. A non-transitory computer-readable medium including instructions that, when executed by a processor, cause the processor to perform the steps of:
-
deploying one or more baseline application instances associated with a first version of software application code and one or more canary application instances associated with a second version of the software application code; monitoring the one or more canary application instances relative to one or more performance metrics; collecting performance data for the one or more performance metrics; determining that the one or more performance metrics do not indicate any negative performance issues; and deploying one or more additional canary application instances. - View Dependent Claims (8, 9, 10, 11, 12, 13)
-
-
14. A system, comprising:
-
a memory that stores a canary analysis engine; and a processor that is coupled to the memory and, when executing the canary analysis engine, is configured to; route a first proportion of incoming requests to one or more canary application instances associated with a first version of software application code and a second portion of the incoming requests to one or more application instances associated with a second version of the software application code; collect performance data for one or more performance metrics; determine whether the one or more performance metrics indicate a negative performance issue; and if the one or more performance metrics do not indicate a negative performance issue, cause more incoming requests to be included in the first proportion of incoming requests, or if the one or more performance metrics indicate a negative performance issue, cause fewer incoming requests to be included in the first proportion of incoming requests. - View Dependent Claims (15, 16, 17, 18, 19)
-
Specification