Method for optimized canary deployments for improved customer experience
US-10936465-B2 · Mar 2, 2021 · US
US11099826B2 · US · B2
| Field | Value |
|---|---|
| Publication number | US-11099826-B2 |
| Application number | US-201916600735-A |
| Country | US |
| Kind code | B2 |
| Filing date | Oct 14, 2019 |
| Priority date | Oct 14, 2019 |
| Publication date | Aug 24, 2021 |
| Grant date | Aug 24, 2021 |
A practical reading order for non-experts. Skip the full description unless you need deep technical detail.
What the patent document calls the invention.
A short plain-language summary of the technical disclosure.
Who owns or filed the patent and who is credited as inventor.
Filing, priority, publication, and grant dates set the timeline.
The legal scope of protection — read this for what is actually claimed.
Technology tags used to group this patent with similar filings.
Prior art links and similar publications in this corpus.
Official abstract text for this publication.
Methods and systems for performing application deployments in a computing environment are presented herein. One or more components of the computing environment may perform a canary deployment of an updated version of an application. As the canary deployment is performed, one or more determinations as to whether to continue, stop, or complete the canary deployment may be performed. These determinations may be based on one or more metrics determined by an application delivery controller of the computing environment. The application delivery controller may be configured to divert or forward traffic to application resources that execute the updated version. Additionally, the canary deployment may be performed in an automated fashion.
Opening claim text (preview).
What is claimed is: 1. A method comprising: receiving, by one or more computing devices, an indication that one or more first application resources have been configured, within a computing environment, based on an updated version of an application, wherein the computing environment includes one or more second application resources that have been configured based on an original version of the application; receiving, by the one or more computing devices, configuration data for canary deployment of the updated version over a plurality of stages, wherein the configuration data includes first data that indicates a time period for performing the plurality of stages and second data that indicates an amount, of diverted or forwarded traffic, to increase based on the plurality of stages; causing, by the one or more computing devices and based on the configuration data, configuration of an application delivery controller; initiating the canary deployment of the updated version; receiving, from the application delivery controller, one or more metrics associated with performance of the one or more first application resources; determining, by the one or more computing devices and based on the time period for the plurality of stages, that a first stage of the plurality of stages has expired; and based on the first stage having expired: determining, based on the one or more metrics, a status for the canary deployment, and causing, based on the status for the canary deployment, the application delivery controller to increase, based on the second data that indicates the amount to increase, traffic being diverted or forwarded to the one or more first application resources. 2. The method of claim 1 , wherein the one or more metrics include one or more of the following: a count of error codes received from the one or more first application resources, a count of state flips for the one or more first application resources, an average time to first byte for the one or more first application resources, and a count of requests waiting in a queue for the one or more first application resources. 3. The method of claim 1 , wherein the configuration of the application delivery controller includes: configuration of a server that is configured to, based on one or more diversion rules, divert or forward portions of traffic associated with the application to a first load balancer and a second load balancer; configuration of the first load balancer that is configured to receive, from the server, a first portion of the traffic associated with the application and forward the first portion to the one or more first application resources; and configuration of the second load balancer that is configured to receive, from the server, a second portion of the traffic associated with the application and forward the second portion to the one or more second application resources. 4. The method of claim 3 , wherein the one or more diversion rules includes a restriction associated with a geographic location or a range of source addresses. 5. The method of claim 3 , further comprising: determining, by an ingress controller and based on the second data that indicates the amount to increase, the one or more diversion rules, wherein a first diversion rule of the one or more diversion rules indicates, based on one or more data fields of the configuration data, a percentage of traffic to divert or forward to the one or more first application resources. 6. The method of claim 1 , wherein the application delivery controller is a container-based application delivery controller. 7. The method of claim 1 , wherein the determining the status for the canary deployment is performed by the application delivery controller. 8. The method of claim 1 , wherein causing the application delivery controller to increase traffic being diverted or forwarded to the one or more first application resources is performed based on the status for the canary deployment indicating that the canary deployment has not failed. 9. The method of claim 1 , wherein determining the status of the canary deployment is performed based on comparing the one or more metrics to one or more thresholds and/or based on comparing the one or more metrics to one or more additional metrics associated with performance of the one or more second application resources. 10. The method of claim 1 , wherein determining the status of the canary deployment is performed based on applying a weighted summation to the one or more metrics and comparing the weighted summation to a summation threshold. 11. The method of claim 10 , wherein determining the status of the canary deployment is performed based on a first metric being assigned as a critical metric and comparing the first metric to a threshold. 12. A method comprising: receiving, by an application delivery controller, one or more first signals configured to cause the application delivery controller to configure itself for a first stage of canary deployment of an updated version of an application within a computing environment, wherein the canary deployment is to be performed in an automated fashion over at least the first stage and a second stage, wherein the computing environment includes one or more first application resources that have been configured based on the updated version of the application, and wherein the computing environment includes one or more second application resources that have been configured based on an original version of the application; based on the one or more first signals, storing, by the application delivery controller, one or more first diversion rules associated with the first stage of the canary deployment; based on the one or more first signals, configuring a server of the application delivery controller to, based on the one or more first diversion rules, divert or forward portions of traffic associated with the application to a first load balancer and a second load balancer; based on the one or more first signals, configuring the first load balancer of the application delivery controller to receive, from the server, a first portion of the traffic associated with the application and forward the first portion to the one or more first application resources; based on the one or more first signals, configuring the second load balancer of the application delivery controller to receive, from the server, a second portion of the traffic associated with the application and forward the second portion to the one or more second application resources; based on performance of the first stage of the canary deployment in the automated fashion, forwarding, by the application delivery controller, first received traffic using the server, the first load balancer, the second load balancer, and the one or more first diversion rules; sending, based on the first stage of the canary deployment and by the application delivery controller, one or more metrics associated with performance of the one or more first application resources; based on the canary deployment continuing, in the automated fashion, from the first stage of the canary deployment and to a second stage of the canary deployment, receiving, by the application delivery controller, one or more second signals that are configured to cause the application delivery controller to configure itself for the second stage of the canary deployment by at least changing an amount of traffic being diverted or forwarded to the one or more first application resources; based on the one or more second signals, storing one or more second diversion rules associated with a second stage of the canary deployment; and based on the one or more second signals, configuring the serv
during software upgrading · CPC title
by exceeding a count or rate limit, e.g. word- or bit count limit · CPC title
in which an application is distributed across nodes in the network (software deployment G06F8/60; multiprogramming arrangements G06F9/46) · CPC title
based on compliance of requirements or conditions with available server resources · CPC title
for load management (allocation of a server based on load conditions G06F9/505; load rebalancing G06F9/5083; redistributing the load in a network by a load balancer H04L67/1029) · CPC title
Related publications grouped by family.
Answers are generated from the same data shown on this page.