Progressive deployment and termination of canary instances for software analysis

US2016119207A1 · US · A1

Patent metadata
FieldValue
Publication numberUS-2016119207-A1
Application numberUS-201514981629-A
CountryUS
Kind codeA1
Filing dateDec 28, 2015
Priority dateJun 25, 2013
Publication dateApr 28, 2016
Grant date

How to read this patent

A practical reading order for non-experts. Skip the full description unless you need deep technical detail.

  1. Title

    What the patent document calls the invention.

  2. Abstract

    A short plain-language summary of the technical disclosure.

  3. Assignees and inventors

    Who owns or filed the patent and who is credited as inventor.

  4. Key dates

    Filing, priority, publication, and grant dates set the timeline.

  5. First independent claim

    The legal scope of protection — read this for what is actually claimed.

  6. CPC / IPC classifications

    Technology tags used to group this patent with similar filings.

  7. Citations and related patents

    Prior art links and similar publications in this corpus.

Abstract

Official abstract text for this publication.

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.

First claim

Opening claim text (preview).

We claim: 1 . A computer-implemented method, comprising: deploying a plurality of baseline application instances that run a first version of software application code and one or more canary application instances that run a second version of the software application code; routing a first proportion of incoming requests to the plurality of baseline instances and a second proportion of the incoming requests to the one or more canary instances; monitoring the one or more canary application instances relative to a plurality of performance metrics; determining whether the plurality of performance metrics indicates a negative performance issue; and modifying the first portion of incoming requests and the second portion of incoming requests according to whether the plurality of performance metrics indicates a negative performance issue. 2 . The computer-implemented method of claim 1 , wherein the plurality of performance metrics does not indicate a negative performance issue, modifying the first portion of incoming requests comprises decreasing the size of the first portion, and modifying the second portion of incoming requests comprises increasing the size of the second portion. 3 . The computer-implemented method of claim 2 , further comprising deploying one or more additional canary application instances. 4 . The computer-implemented method of claim 3 , further comprising terminating one or more baseline application instances included in the plurality of baseline application instance. 5 . The computer-implemented method of claim 1 , wherein the plurality of performance metrics indicates a negative performance issue, and modifying the first portion of incoming requests comprises increasing the size of the first portion, and modifying the second portion of incoming requests comprises decreasing the size of the second portion. 6 . The computer-implemented method of claim 5 , further comprising terminating at least one of the one or more canary application instances. 7 . The computer-implemented method of claim 1 , wherein determining whether the plurality of performance metrics indicates a negative performance issue comprises evaluating at least one of (i) a threshold amount of variance, (ii) one or more error messages associated with the plurality of performance metrics, and (iii) how much data has been collected for the plurality of performance metrics. 8 . The computer-implemented method of claim 1 , wherein the plurality of baseline application instances are instantiated in a first cluster, and the one or more canary application instances are instantiated in a second cluster. 9 . The computer-implemented method of claim 8 , wherein a first cloud service provider instantiates the plurality of baseline application instance, and a second cloud service provider different than the first cloud service provider instantiates the one or more canary application instances. 10 . A non-transitory computer-readable medium including instructions that, when executed by a processor, cause the processor to perform the steps of: deploying a plurality of baseline application instances that run a first version of software application code and one or more canary application instances that run a second version of the software application code; routing a first proportion of incoming requests to the plurality of baseline instances and a second proportion of the incoming requests to the one or more canary instances; monitoring the one or more canary application instances relative to a plurality of performance metrics; and modifying the first portion of incoming requests and the second portion of incoming requests according to whether the plurality of performance metrics indicates a negative performance issue. 11 . The non-transitory computer-readable medium of claim 10 , wherein the plurality of performance metrics does not indicate a negative performance issue, and modifying comprises decreasing the size of the first portion and increasing the size of the second portion. 12 . The non-transitory computer-readable medium of claim 11 , further comprising deploying one or more additional canary application instances. 13 . The non-transitory computer-readable medium of claim 12 , further comprising terminating one or more baseline application instances included in the plurality of baseline application instance. 14 . The non-transitory computer-readable medium of claim 10 , wherein the plurality of performance metrics indicates a negative performance issue, and modifying comprises increasing the size of the first portion and decreasing the size of the second portion. 15 . The non-transitory computer-readable medium of claim 14 , further comprising terminating at least one of the one or more canary application instances. 16 . The non-transitory computer-readable medium of claim 10 , further comprising determining whether the plurality of performance metrics indicates a negative performance issue by evaluating a threshold amount of variance, one or more error messages associated with the plurality of performance metrics, or how much data has been collected for the plurality of performance metrics. 17 . The non-transitory computer-readable medium of claim 10 , wherein the plurality of baseline application instances are instantiated in a first cluster, and the one or more canary application instances are instantiated in a second cluster. 18 . A computer 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: monitor one or more canary application instances relative to a plurality of performance metrics, and cause a first portion of incoming requests routed to a plurality of baseline application instances to be modified and a second portion of incoming requests routed to the one or more canary application instances to be modified according to whether the plurality of performance metrics indicates a negative performance issue. 19 . The computer system of claim 18 , wherein the plurality of performance metrics does not indicate a negative performance issue, and causing comprises causing the size of the first portion to be decreased and causing the size of the second portion to be increased. 20 . The computer system of claim 18 , wherein the plurality of performance metrics indicates a negative performance issue, and causing comprises causing the size of the first portion to be increased and causing the size of the second portion to be decreased.

Assignees

Inventors

Classifications

  • H04L43/08Primary

    Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters · CPC title

  • by proactively reacting to service quality change, e.g. by reconfiguration after service quality degradation or upgrade · CPC title

  • wherein the managed service relates to distributed or central networked applications · CPC title

  • in which an application is distributed across nodes in the network (software deployment G06F8/60; multiprogramming arrangements G06F9/46) · CPC title

  • Server selection for load balancing · CPC title

Patent family

Related publications grouped by family.

External sources

Frequently asked questions

Answers are generated from the same data shown on this page.

What does patent US2016119207A1 cover?
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 t…
Who is the assignee on this patent?
Netflix Inc
What technology area does this patent fall under?
Primary CPC classification H04L43/08. Mapped technology areas include Electricity.
When was this patent published?
Publication date Thu Apr 28 2016 00:00:00 GMT+0000 (Coordinated Universal Time) (A1). Legal status and post-grant events are not shown on this page.
What related patents are in patentsdb?
We list 8 related publications on this page (citations in our corpus or others sharing the same primary CPC).