IP Library › Granted Patent US 11,321,137
Granted Patent B2
US 11,321,137 · App. 17/008,102 · Granted May 3, 2022

Environment agnostic configuration with a declarative infrastructure provisioner

Inventors: Eric Tyler Barsalou (Seattle, WA); Nathaniel Martin Glass (Bellevue, WA)
Assignee: ORACLE INTERNATONAL CORPORATION
G06F9/5061G06F3/0484G06F8/60G06F8/71G06F9/3836G06F9/4411G06F9/44505G06F9/451G06F9/485G06F9/4856G06F9/505G06F9/5011G06F9/5022G06F9/5027G06F9/5038G06F9/5072G06F9/5077G06F11/0757G06F11/1469G06F11/327G06F11/3664G06F11/3684G06F16/9024H04L41/0806H04L41/0816H04L41/5041H04L41/5048H04L41/5054H04L41/5096H04L67/10H04L67/1008H04L67/1031H04L67/2833H04L67/34G06F8/61
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,321,137
App. No.
17/008,102
Granted
May 3, 2022
Kind
B2
Abstract

Techniques for implementing an infrastructure orchestration service are described. In certain embodiments, a cloud infrastructure orchestration system (CIOS) is disclosed that generates customized flock configurations for services to be deployed to different regions supported by the CIOS. The CIOS receives generic configuration information describing a set of infrastructure assets associated with a service and identifies first portions of the generic configuration information for deploying the set of infrastructure assets associated with the service that are configurable. The CIOS receives region configuration information for configuring the generic configuration information and updates the generic configuration information based on the region configuration information. The CIOS then transmits the updated configuration information to set of regions managed by the CIOS.

Claims (60)

1. A computer-implemented method, comprising:

receiving, by a computer system, generic configuration information describing a set of infrastructure assets associated with a service;

identifying, by the computer system, based at least in part on the generic configuration information, first portions of the generic configuration information for deploying the set of infrastructure assets associated with the service that are configurable, wherein the first portions of the generic configuration information identify at least one of:

a first phase for deploying the set of infrastructure assets associated with a first instance of the service in a first region of a plurality of regions; and

a generic configuration iocation for parsing a set of configuration files for deploying the first instance of the service in the first phase of the first region;

receiving, by the computer system, region configuration information for configuring the generic configuration information, the region configuration information identifying at least first region specific configuration information for deploying the set of infrastructure assets associated with a second instance of the service in the first region and second region configuration information for deploying the set of infrastructure assets associated with a third instance of the service in the first region:

the first region configuration information identifying at least a first configuration location for parsing the set of configuration files for deploying the second instance of the service in a second phase of the first region; and

the second region configuration information identifying at least a second configuration location for parsing the set of configuration files for deploying the third instance of the service in a third phase of the first region;

updating, by the computer system, the generic configuration information based at least in part on the region configuration information to generate updated configuration information; and

transmitting, by the computer system, the updated configuration information for execution in the first region.

2. The computer-implemented method of claim 1 , wherein updating the generic configuration information based at least in part on the region configuration information comprises updating a first version of the generic configuration information based at least in part on the first region configuration information to generate first updated configuration information.

3. The computer-implemented method of claim 2 , wherein transmitting the updated configuration information comprises transmitting the first updated configuration information to the first region of the plurality of regions for execution in the first phase of the first region.

4. The computer-implemented method of claim 2 further comprising:

updating a second version of the generic configuration information based at least in part on the second region configuration information to generate second updated configuration information; and

transmitting the second updated configuration for execution in the second phase of the first region.

5. The computer-implemented method of claim 1 , wherein the first configuration location is different from the second configuration location.

6. The computer-implemented method of claim 1 , wherein the first region configuration information identifies a first number of resources to be configured for the second instance of the service in the second phase of the first region and the second region configuration information identifies a second number of resources to be configured for the third instance of the service in the third phase of the first region.

7. The computer-implemented method of claim 1 , wherein the second phase corresponds to a pre-deployment phase for deploying the set of infrastructure assets associated with the second instance of the service and the third phase corresponds to a production deployment phase for deploying the set of infrastructure assets associated with the third instance of the service.

8. The computer-implemented method of claim 1 , wherein the generic configuration information identifies regional metadata to be configured for deploying the set of infrastructure assets associated with the service in the plurality of regions, wherein the regional metadata comprises at least one of:

a number of resources managed by the service in the plurality of regions;

a number of instances of the service to be deployed in the plurality of regions; or

a configuration location for executing one or more instances of the service in the plurality of regions.

9. The computer-implemented method of claim 1 , wherein updating, by the computer system, the generic configuration information based at least in part on the region configuration information comprises updating one or more of:

a number of resources to be managed by the service in the first region;

a number of instances of the service to be deployed in the first region; or

a configuration location for executing one or more instances of the service in the first region.

10. The computer-implemented method of claim 1 , wherein the first phase corresponds to a test phase for deploying the first instance of the service in the first region.

11. The computer-implemented method of claim 1 , wherein the generic configuration location is different from at least the first configuration location or the second configuration location.

12. A cloud infrastructure orchestration system, comprising:

a processor; and

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

receive generic configuration information describing a set of infrastructure assets associated with a service;

identify, based at least in part on the generic configuration information, first portions of the generic configuration information for deploying the set of infrastructure assets associated with the service that are configurable, wherein the first portions of the generic configuration information identify at least one of:

a first phase for deploying the set of infrastructure assets associated with a first instance of the service in a first region of a plurality of regions; and

a generic configuration location for parsing a set of configuration files for deploying the first instance of the service in the first phase of the first region;

receive region configuration information for configuring the generic configuration information, the region configuration information identifying at least first region configuration information for deploying the set of infrastructure assets associated with a second instance of the service in the first region and second region configuration information for deploying the set of infrastructure assets associated with a third instance of the service in the first region:

the first region configuration information identifying at least a first configuration location for parsing the set of configuration files for deploying the second instance of the service in a second phase of the first region; and

the second region configuration information identifying at least a second configuration location for parsing the set of configuration files for deploying the third instance of the service in a third phase of the first region;

update the generic configuration information based at least in part on the region configuration information to generate updated configuration information; and

transmit the updated configuration for execution in the first region.

13. The system of claim 12 , wherein the instructions to update the generic configuration information based at least in part on the region configuration information comprise instructions to update a first version of the generic configuration information based at least in part on the first region configuration information to generate first updated configuration information.

14. The system of claim 13 , further comprising instructions to transmit the first updated configuration information to the first region of the plurality of regions for execution in the first phase of the first region.

15. The system of claim 14 , further comprising instructions to update a second version of the generic configuration information based at least in part on the second region configuration information to generate second updated configuration information and transmit the second updated configuration for execution in the second phase of the first region.

16. The system of claim 12 , wherein the first phase corresponds to a test phase for deploying the first instance of the service in the first region.

17. 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 generic configuration information describing a set of infrastructure assets associated with a service;

identifying, based at least in part on the generic configuration information, first portions of the generic configuration information for deploying the set of infrastructure assets associated with the service that are configurable, wherein the first portions of the generic configuration information identify at least one of:

a first phase for deploying the set of infrastructure assets associated with a first instance of the service in a first region of a plurality of regions; and

a generic configuration location for parsing a set of configuration files for deploying the first instance of the service in the first phase of the first region;

receiving region configuration information for configuring the generic configuration information, the region configuration information identifying at least first region configuration information for deploying the set of infrastructure assets associated with a second instance of the service in the first region and second region configuration information for deploying the set of infrastructure assets associated with a third instance of the service in the first region:

the first region configuration information identifying at least a first configuration location for parsing the set of configuration files for deploying the second instance of the service in a second phase of the first region; and

the second region configuration information identifying at least a second configuration location for parsing the set of configuration files for deploying the third instance of the service in a third phase of the first region;

updating the generic configuration information based at least in part on the region configuration information to generate updated configuration information; and

transmitting the updated configuration information for execution in the first region.

18. The computer-readable storage medium of claim 17 , wherein updating the generic configuration information based at least in part on the region configuration information comprises updating a first version of the generic configuration information based at least in part on the first region configuration information to generate first updated configuration information.

19. The computer-implemented method of claim 18 , wherein transmitting the updated configuration information comprises transmitting the first updated configuration information to a first region of the plurality of regions for execution in the first phase of the first region.

20. The computer-implemented method of claim 17 , wherein the generic configuration information identifies regional metadata to be configured for deploying the set of infrastructure assets associated with the service in a plurality of regions, wherein the regional metadata comprises at least one of:

a number of resources managed by the service in the plurality of regions;

a number of instances of the service to be deployed in the plurality of regions; or

a configuration location for executing one or more instances of the service in the plurality of regions.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 31, 2020
From: BARSALOU, ERIC TYLER; GLASS, NATHANIEL MARTIN
To: ORACLE INTERNATIONAL CORPORATION
Reel/Frame 053647/0616 →
Continuity (12)
Provisional Application 62963335 · Jan 20, 2020
Provisional Application 62963413 · Jan 20, 2020
Provisional Application 62963456 · Jan 20, 2020
Provisional Application 62963477 · Jan 20, 2020
Provisional Application 62963478 · Jan 20, 2020
Provisional Application 62963480 · Jan 20, 2020
Provisional Application 62963452 · Jan 20, 2020
Provisional Application 62963486 · Jan 20, 2020
Provisional Application 62963489 · Jan 20, 2020
Provisional Application 62963481 · Jan 20, 2020
Provisional Application 62963491 · Jan 20, 2020
Related Publication 20210226861A1 · Jul 22, 2021
Cited By (10)
US 12,487,833 US 12,572,365 US 12,619,438 US 12,634,213 US 12,634,350 US 12,650,847 US 12,699,639 US 12,712,727 US 12,726,365 US 12,749,032