IP Library Granted Patent US 12,159,128
Granted Patent B2
US 12,159,128 · App. 18/407,101 · Granted Dec 3, 2024

Orchestration of datacenter creation on a cloud platform

Inventors: Srinivas Dhruvakumar (Vancouver, CA); Varun Gupta (Berkeley, CA); Abhishek B. Waichal (Fremont, CA); Mayakrishnan Chakkarapani (Fremont, CA); Christopher Steven Moyes (San Mateo, CA)
Assignee: Salesforce, Inc.
G06F8/60H04L67/10
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 12,159,128
App. No.
18/407,101
Granted
Dec 3, 2024
Kind
B2
Abstract

Computing systems, for example, multi-tenant systems deploy software artifacts in data centers created in a cloud platform using a cloud platform infrastructure language that is cloud platform independent. The system receives a declarative specification for creating a datacenter on a cloud platform. The system generates an aggregate pipeline comprising a hierarchy of pipelines. The system generates an aggregate deployment version map associating data center entities of the data center with versions of software artifacts targeted for deployment on the datacenter entities. The system collects a set of software artifacts according to the aggregate deployment version map. The system executes the aggregate pipeline in conjunction with the aggregate deployment version map to create the datacenter in accordance with the cloud platform independent declarative specification.

Claims (53)

1. A method, comprising:

receiving, by a computer system, a declarative specification for deploying a cloud-based system comprising a plurality of service groups, wherein a given one of the plurality of service groups comprises one or more services;

obtaining, by the computer system, a deployment version map that associates services of the plurality of service groups with versions of software artifacts targeted for deployment for the services;

generating, by the computer system based on the declarative specification, an aggregate pipeline executable to deploy the cloud-based system on a target cloud platform, wherein the aggregate pipeline comprises a hierarchy of pipelines that includes pipelines executable to deploy the services; and

causing, by the computer system, an execution of the aggregate pipeline to deploy the cloud-based system on the target cloud platform, wherein the execution of the aggregate pipeline configures the services based on a set of software artifacts in accordance with the deployment version map.

2. The method of claim 1 , wherein the declarative specification describes one or more dependencies between a particular service and one or more services of the plurality of service groups, and wherein the pipelines are arranged in the aggregate pipeline according to an execution order determined based on the one or more dependencies.

3. The method of claim 2 , further comprising:

performing, by the computer system based on the one or more dependencies, a topological sort of the services corresponding to the pipelines, wherein the execution order corresponds to an order determined from the topological sort.

4. The method of claim 1 , further comprising:

tracking, by the computer system, a status of the execution of the aggregate pipeline, including identifying stages of the aggregate pipeline that have been executed;

detecting, by the computer system, a failure of the execution of the aggregate pipeline; and

restarting, by the computer system, execution of a particular stage of the aggregate pipeline that occurs sequentially after the stages of the aggregate pipeline that have been executed.

5. The method of claim 1 , further comprising:

incorporating, by the computer system, a validation stage at an end of one or more of the pipelines, wherein the validation stage is executable to ensure that a corresponding pipeline has successfully deployed a service associated with the corresponding pipeline.

6. The method of claim 1 , wherein the obtaining of the deployment version map includes:

receiving one or more service deployment version maps, wherein a particular service deployment version map of the one or more service deployment version maps is associated with a particular service of the services; and

aggregating the one or more service deployment versions maps to generate the deployment version map.

7. The method of claim 1 , wherein at least one pipeline of the hierarchy of pipelines is received from a managing entity of a service that is deployable using the at least one pipeline.

8. The method of claim 1 , wherein the declarative specification is cloud platform independent and enables deployment of the cloud-based system on any of a plurality of different cloud platforms.

9. The method of claim 1 , wherein the causing of the execution of the aggregate pipeline includes:

providing the aggregate pipeline to the target cloud platform with a set of instructions to execute the aggregate pipeline by the target cloud platform.

10. The method of claim 9 , further comprising:

receiving, by the computer system from a user, information identifying the target cloud platform on which to deploy the cloud-based system and connection credentials that enable the computer system to provide the aggregate pipeline to the target cloud platform.

11. A non-transitory computer-readable medium having program instructions stored thereon that are capable of causing a computer system to perform operations comprising:

receiving a declarative specification for deploying a cloud-based system comprising a plurality of service groups, wherein a given one of the plurality of service groups comprises one or more services;

obtaining a deployment version map that associates services of the plurality of service groups with versions of software artifacts targeted for deployment for the services;

generating, based on the declarative specification, an aggregate pipeline executable to deploy the cloud-based system on a target cloud platform, wherein the aggregate pipeline comprises a hierarchy of pipelines that includes pipelines executable to deploy the services; and

causing an execution of the aggregate pipeline to deploy the cloud-based system on the target cloud platform, wherein the execution of the aggregate pipeline configures the services based on a set of software artifacts in accordance with the deployment version map.

12. The non-transitory computer-readable medium of claim 11 , wherein the operations further comprise:

performing a topological sort of the services corresponding to the pipelines based on one or more dependencies between the services defined by the declarative specification, wherein the pipelines are arranged in the aggregate pipeline according to an execution order determined from the topological sort.

13. The non-transitory computer-readable medium of claim 11 , wherein the operations further comprise:

detecting a failure of the execution of the aggregate pipeline; and

restarting execution of a particular stage of the aggregate pipeline that occurs sequentially after stages of the aggregate pipeline that have executed successfully as identified by a status of the execution of the aggregate pipeline.

14. The non-transitory computer-readable medium of claim 11 , wherein the operations further comprise:

incorporating a validation stage at an end of one or more of the pipelines, wherein the validation stage is executable to perform one or more tests on a service associated with a pipeline to ensure that the pipeline has successfully deployed the service.

15. The non-transitory computer-readable medium of claim 11 , wherein the obtaining of the deployment version map includes:

receiving one or more service deployment version maps, wherein a particular service deployment version map of the one or more service deployment version maps is associated with a particular service of the services; and

aggregating the one or more service deployment versions maps to generate the deployment version map.

16. A system, comprising:

at least one processor; and

a memory having program instructions stored thereon that are executable by the at least one processor to cause the system to perform operations comprising:

receiving a declarative specification for deploying a cloud-based system comprising a plurality of service groups, wherein a given one of the plurality of service groups comprises one or more services;

obtaining a deployment version map that associates services of the plurality of service groups with versions of software artifacts targeted for deployment for the services;

generating, based on the declarative specification, an aggregate pipeline executable to deploy the cloud-based system on a target cloud platform, wherein the aggregate pipeline comprises a hierarchy of pipelines that includes pipelines executable to deploy the services; and

causing an execution of the aggregate pipeline to deploy the cloud-based system on the target cloud platform, wherein the execution of the aggregate pipeline configures the services based on a set of software artifacts in accordance with the deployment version map.

17. The system of claim 16 , wherein the operations further comprise:

arranging the pipelines of the aggregate pipeline into an execution order that is determined based on one or more dependencies between the services corresponding to the pipelines, wherein the one or more dependencies are defined by the declarative specification.

18. The system of claim 16 , wherein the operations further comprise:

detecting a failure of the execution of the aggregate pipeline; and

restarting execution of the aggregate pipeline, wherein the restarting includes skipping execution of a stage of the aggregate pipeline in response to determining, based on a stored status of the stage, that execution of the stage was previously completed.

19. The system of claim 16 , wherein the operations further comprise:

incorporating a validation stage at an end of one or more of the pipelines, wherein the validation stage is executable to perform one or more tests on a service associated with a pipeline to ensure that the pipeline has successfully deployed the service.

20. The system of claim 16 , wherein the operations further comprise providing users with access to the services deployed on the target cloud platform.

Assignments (3)
CORRECTIVE ASSIGNMENT TO CORRECT THE ASSIGNEE'S NAME PREVIOUSLY RECORDED AT REEL: 086054 FRAME: 0794. ASSIGNOR(S) HEREBY CONFIRMS THE ASSIGNMENT. Recorded Jan 15, 2024
From: DHRUVAKUMAR, SRINIVAS; GUPTA, VARUN; WAICHAL, ABHISHEK; CHAKKARAPANI, MAYAKRISHNAN; MOYES, CHRISTOPHER STEVEN
To: SALESFORCE.COM, INC.
Reel/Frame 066336/0489 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 8, 2024
From: DHRUVAKUMAR, SRINIVAS; GUPTA, VARUN; WAICHAL, ABHISHEK; CHAKKARAPANI, MAYAKRISHNAN; MOYES, CHRISTOPHER STEVEN
To: SALESFORCE, INC.
Reel/Frame 066054/0794 →
CHANGE OF NAME Recorded Jan 8, 2024
From: SALESFORCE.COM, INC.
To: SALESFORCE, INC.
Reel/Frame 066226/0445 →
Continuity (2)
Continuation 17588131 · Jan 28, 2022
Related Publication 20240220222A1 · Jul 4, 2024