IP Library Granted Patent US 11,269,616
Granted Patent B1
US 11,269,616 · App. 16/952,490 · Granted Mar 8, 2022

Impact driven continuous deployment system

Inventor: Robert Thomas Schumaker (Redmond, WA)
Assignee: ORACLE INTERNATIONAL CORPORATION
G06F8/65G06F8/433G06F8/71
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 11,269,616
App. No.
16/952,490
Granted
Mar 8, 2022
Kind
B1
Abstract

A deployment orchestrator system is disclosed that determines an impact of deploying a new version of a component of an application deployed in a computing environment. The impact of deploying the new version of the component may be determined by generating a deployment factor for deploying the new version of a component based on analyzing information that identifies both a technical and a non-technical impact of an update made to the component. In certain embodiments, the deployment orchestrator system includes capabilities for generating different deployment plans for deploying the new version of the component. Each deployment plan is tailored based on a specific deployment factor determined for the deployment. The new version of the component is then deployed based at least in part on the deployment plan to different production regions of a production environment of the deployment orchestrator system.

Claims (58)

1. A method, comprising:

receiving, by a computer system, an update to a component to be deployed as part of a deployed application;

determining, by the computer system, a first risk factor for deploying a new version of the component comprising the update, the first risk factor identifying a technical impact associated with deploying the new version of the component comprising the update;

receiving, by the computer system, information identifying a non-technical impact associated with deploying the new version of the component comprising the update;

based at least in part on the information identifying the non-technical impact of the update, determining, by the computer system, a second risk factor for deploying the new version of the component comprising the update;

using, by the computer system, the first risk factor and the second risk factor to determine a deployment risk factor prior to deploying the new version of the component comprising the update;

based at least in part on the deployment risk factor, generating, by the computer system, a deployment plan for deploying the new version of the component comprising the update, the deployment plan identifying a deployment order for deploying the new version of the component comprising the update to a plurality of regions, wherein the deployment order identifies at least a first subset of customers located in a first region of the plurality of regions for deploying the new version of the component comprising the update; and

based at least in part on the deployment plan, deploying, by the computer system, the new version of the component comprising the update in accordance with the deployment order in a computing environment of the computer system.

2. The method of claim 1 , further comprising:

identifying, by the computer system, an update type corresponding to the update, wherein the first risk factor identifies the technical impact associated with deploying the new version of the component comprising the update type.

3. The method of claim 1 , wherein the update type comprises at least one of a visual update, a functional update, a configuration update or an inter-component dependency update.

4. The method of claim 1 , wherein the information identifying the non-technical impact of the update comprises information that identifies the update as a customer facing update or a non-customer facing update, information that identifies a set of customers impacted by the update or information that identifies a network traffic load in a region of deployment of the new version of the component comprising the update.

5. The method of claim 1 , wherein determining, by the computer system, the deployment risk factor for deploying the new version of the component comprising the update comprises:

determining a first weight value to be assigned to the first risk factor based at least in part on an update type associated with the update;

determining a second weight value to be assigned to the second risk factor based at least in part on the information identifying the non-technical impact of the update; and

determining a weight value to be assigned to the deployment risk factor based at least in part on the first weight value and the second weight value, wherein the deployment risk factor represents a deployment impact of deploying the new version of the component comprising the update.

6. The method of claim 5 , wherein the first weight value assigned to the first factor is different from the second weight value assigned to the second factor.

7. The method of claim 1 , further comprising:

determining a first weight value to be assigned to the deployment risk factor based at least in part on the first risk factor and the second risk factor;

generating a first deployment plan for deploying the new version of the component comprising the update based at least in part on the first weight value; and

deploying the new version of the component comprising the update in the computing environment based at least in part on the first deployment plan.

8. The method of claim 7 , comprising:

determining a second weight value to be assigned to the deployment risk factor based at least in part on the first risk factor and the second risk factor;

generating a second deployment plan for deploying the new version of the component comprising the update based at least in part on the second weight value; and

deploying the new version of the component comprising the update in the computing environment based at least in part on the second deployment plan.

9. The method of claim 8 , wherein the second deployment plan is different from the first deployment plan.

10. A system, comprising:

a processor; and

a memory storing instructions that, when executed by the processor, configure the system to:

receive an update to a component to be deployed as part of a deployed application;

determine a first risk factor for deploying a new version of the component comprising the update, the first risk factor identifying a technical impact associated with deploying the new version of the component comprising the update;

receive information identifying a non-technical impact associated with deploying the new version of the component comprising the update;

based at least in part on the information identifying the non-technical impact of the update, determine a second risk factor for deploying the new version of the component comprising the update;

use the first risk factor and the second risk factor to determine a deployment risk factor prior to deploying the new version of the component comprising the update; based at least in part on the deployment risk factor, generate a deployment plan for deploying the new version of the component comprising the update, the deployment plan identifying a deployment order for deploying the new version of the component comprising the update to a plurality of regions, wherein the deployment order identifies at least a first subset of customers located in a first region of the plurality of regions for deploying the new version of the component comprising the update; and

based at least in part on the deployment plan, deploy the new version of the component comprising the update in accordance with the deployment order in a computing environment of the computer system.

11. The system of claim 10 , further comprising instructions to identify an update type corresponding to the update, wherein the first risk factor identifies the technical impact associated with deploying the new version of the component comprising the update type.

12. The system of claim 10 , wherein the update type comprises at least one of a visual update, a functional update, a configuration update or an inter-component dependency update.

13. The system of claim 10 , wherein the information identifying the non-technical impact of the update comprises information that identifies the update as a customer facing update or a non-customer facing update, information that identifies a set of customers impacted by the update or information that identifies a network traffic load in a region of deployment of the new version of the component comprising the update.

14. The system of claim 10 , wherein the instructions to determine the deployment risk factor for deploying the new version of the component comprising the update comprises instructions to:

determine a first weight value to be assigned to the first risk factor based at least in part on an update type associated with the update;

determine a second weight value to be assigned to the second risk factor based at least in part on the information identifying the non-technical impact of the update; and

determine a weight value to be assigned to the deployment risk factor based at least in part on the first weight value and the second weight value, wherein the deployment risk factor represents a deployment impact of deploying the new version of the component comprising the update.

15. The system of claim 14 , wherein the first weight value assigned to the first factor is different from the second weight value assigned to the second factor.

16. A non-transitory computer-readable medium having program code that is stored thereon, the program code executable by one or more processing devices for performing operations comprising:

receiving an update to a component to be deployed as part of a deployed application;

determining a first risk factor for deploying a new version of the component comprising the update, the first risk factor identifying a technical impact associated with deploying the new version of the component comprising the update;

receiving information identifying a non-technical impact associated with deploying the new version of the component comprising the update;

based at least in part on the information identifying the non-technical impact of the update, determining a second risk factor for deploying the new version of the component comprising the update;

using the first risk factor and the second risk factor to determine a deployment risk factor prior to deploying the new version of the component comprising the update; based at least in part on the deployment risk factor, generating a deployment plan for deploying the new version of the component comprising the update, the deployment plan identifying a deployment order for deploying the new version of the component comprising the update to a plurality of regions, wherein the deployment order identifies at least a first subset of customers located in a first region of the plurality of regions for deploying the new version of the component comprising the update; and

based at least in part on the deployment plan, deploying the new version of the component comprising the update in accordance with the deployment order in a computing environment of the computer system.

17. The computer-readable medium of claim 16 , further comprising:

determining a first weight value to be assigned to the deployment risk factor based at least in part on the first risk factor and the second risk factor;

generating a first deployment plan for deploying the new version of the component comprising the update based at least in part on the first weight value; and

deploying the new version of the component comprising the update in the computing environment based at least in part on the first deployment plan.

18. The computer-readable medium of claim 17 , comprising:

determining a second weight value to be assigned to the deployment frisk actor based at least in part on the first risk factor and the second risk factor;

generating a second deployment plan for deploying the new version of the component comprising the update based at least in part on the second weight value; and

deploying the new version of the component comprising the update in the computing environment based at least in part on the second deployment plan, wherein the second deployment plan is different from the first deployment plan.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 19, 2020
From: SCHUMAKER, ROBERT THOMAS
To: ORACLE INTERNATIONAL CORPORATION
Reel/Frame 054419/0158 →
Cited By (3)
US 12,190,156 US 12,299,440 US 12,405,785