IP Library Granted Patent US 12,481,513
Granted Patent B2
US 12,481,513 · App. 18/104,192 · Granted Nov 25, 2025

Orchestration of datacenter destruction on a cloud platform

Inventors: Srinivas Dhruvakumar (Vancouver, CA); Christopher Steven Moyes (San Mateo, CA); Abhishek Waichal (Oakland, CA); Varun Gupta (Berkeley, CA)
Assignee: Salesforce, Inc.
G06F9/44594G06F9/44536
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,481,513
App. No.
18/104,192
Granted
Nov 25, 2025
Kind
B2
Abstract

A computing system, for example, a multi-tenant system configures a datacenter in a cloud platform using a cloud platform infrastructure language that is cloud platform independent. The system destroys the datacenter or a set of datacenter entities of the datacenter. The system determines dependencies between datacenter entities based on the declarative specification. The system generates an aggregate destroy pipeline comprising a hierarchy of pipelines. The system generates an aggregate destruction version map associating datacenter entities of the datacenter with versions of software artifacts, wherein a software artifact stores instructions for destroying resources of a datacenter entity. The system collects a set of software artifacts according to the aggregate destruction version map. The system executes the aggregate destroy pipeline in conjunction with the aggregate destruction version map to destroy the set of datacenter entities of the datacenter.

Claims (54)

1 . A computer-implemented method for destroying datacenters configured on cloud platforms, the computer-implemented method comprising:

receiving a request to destroy datacenter entities of a datacenter configured on a cloud platform based on a declarative specification, the datacenter comprising a hierarchy of datacenter entities, each datacenter entity comprising a service or one or more other datacenter entities;

determining dependencies between datacenter entities based on the declarative specification;

generating an aggregate destroy pipeline comprising a hierarchy of pipelines, the hierarchy of pipelines including pipelines for destroying a set of datacenter entities of the datacenter in reverse order of dependencies between datacenter entities;

generating an aggregate destruction version map associating datacenter entities of the datacenter with versions of software artifacts, wherein a software artifact stores instructions for destroying resources of a datacenter entity;

collecting a set of software artifacts according to the aggregate destruction version map; and

executing the aggregate destroy pipeline in conjunction with the aggregate destruction version map to destroy the set of datacenter entities of the datacenter.

2 . The computer-implemented method of claim 1 , wherein the declarative specification is a first declarative specification, the computer-implemented method further comprising:

receiving a second declarative specification describing a modified configuration of the datacenter; and

comparing the first declarative specification with the second declarative specification to identify the set of datacenter entities to be destroyed.

3 . The computer-implemented method of claim 1 , wherein the set of datacenter entities of the datacenter represents an entire datacenter.

4 . The computer-implemented method of claim 1 , wherein the request to destroy datacenter entities of a datacenter identifies a plurality of datacenter entities, each datacenter entity associated with an action to be performed, wherein the action specified for at least a datacenter entity identified by the request is a destroy action:

determining the set of datacenter entities as a subset of the plurality of datacenter entities that have action specified as the destroy action.

5 . The computer-implemented method of claim 1 , wherein the declarative specification describes dependencies between a particular service and one or more other services required for execution of the particular service, the computer-implemented method further comprising:

determining an order of execution of pipelines associated with services based on the dependencies between services specified in the declarative specification, wherein the aggregate destroy pipeline arranges pipelines according to the order.

6 . The computer-implemented method of claim 5 , further comprising:

performing a topological sort of services in a datacenter entity based on dependencies between services, wherein an order of pipelines in the aggregate destroy pipeline is determined to be reverse of an order determined by the topological sort.

7 . The computer-implemented method of claim 1 , wherein the declarative specification comprises definitions of one or more datacenter instances, wherein a datacenter instance includes one or more service groups, wherein a service group includes a set of services.

8 . The computer-implemented method of claim 1 , further comprising:

modifying the declarative specification to obtain a modified declarative specification representing the datacenter responsive to destroying the set of datacenter entities of the datacenter, wherein modifying comprises, deleting the set of datacenter entities from the declarative specification.

9 . The computer-implemented method of claim 1 , wherein the hierarchy of pipelines further includes pipelines for stopping execution of the set of datacenter entities of the datacenter before destroying the set of datacenter entities.

10 . A non-transitory computer readable storage medium for storing instructions that when executed by a computer processor cause the computer processor to perform steps for deploying software artifacts for services executing in datacenters configured on a cloud platform, the steps comprising:

receiving a request to destroy datacenter entities of a datacenter configured on a cloud platform based on a declarative specification, the datacenter comprising a hierarchy of datacenter entities, each datacenter entity comprising a service or one or more other datacenter entities;

determining dependencies between datacenter entities based on the declarative specification;

generating an aggregate destroy pipeline comprising a hierarchy of pipelines, the hierarchy of pipelines including pipelines for destroying a set of datacenter entities of the datacenter in reverse order of dependencies between datacenter entities;

generating an aggregate destruction version map associating datacenter entities of the datacenter with versions of software artifacts, wherein a software artifact stores instructions for destroying resources of a datacenter entity;

collecting a set of software artifacts according to the aggregate destruction version map; and

executing the aggregate destroy pipeline in conjunction with the aggregate destruction version map to destroy the set of datacenter entities of the datacenter.

11 . The non-transitory computer readable storage medium of claim 10 , wherein the declarative specification is a first declarative specification, wherein the instructions further cause the computer processor to perform steps comprising:

receiving a second declarative specification describing a modified configuration of the datacenter; and

comparing the first declarative specification with the second declarative specification to identify the set of datacenter entities to be destroyed.

12 . The non-transitory computer readable storage medium of claim 10 , wherein the set of datacenter entities of the datacenter represents an entire datacenter.

13 . The non-transitory computer readable storage medium of claim 10 , wherein the request to destroy datacenter entities of a datacenter identifies a plurality of datacenter entities, each datacenter entity associated with an action to be performed, wherein the action specified for at least a datacenter entity identified by the request is a destroy action:

determining the set of datacenter entities as a subset of the plurality of datacenter entities that have action specified as the destroy action.

14 . The non-transitory computer readable storage medium of claim 10 , wherein the declarative specification describes dependencies between a particular service and one or more other services required for execution of the particular service, wherein the instructions further cause the computer processor to perform steps comprising:

determining an order of execution of pipelines associated with services based on the dependencies between services specified in the declarative specification, wherein the aggregate destroy pipeline arranges pipelines according to the order.

15 . The non-transitory computer readable storage medium of claim 14 , further comprising:

performing a topological sort of services in a datacenter entity based on dependencies between services, wherein an order of pipelines in the aggregate destroy pipeline is determined to be reverse of an order determined by the topological sort.

16 . The non-transitory computer readable storage medium of claim 10 , wherein the declarative specification comprises definitions of one or more datacenter instances, wherein a datacenter instance includes one or more service groups, wherein a service group includes a set of services.

17 . The non-transitory computer readable storage medium of claim 10 , further comprising:

modifying the declarative specification to obtain a modified declarative specification representing the datacenter responsive to destroying the set of datacenter entities of the datacenter, wherein modifying comprises, deleting the set of datacenter entities from the declarative specification.

18 . The non-transitory computer readable storage medium of claim 10 , wherein the hierarchy of pipelines further includes pipelines for stopping execution of the set of datacenter entities of the datacenter before destroying the set of datacenter entities.

19 . A computer system comprising:

a computer processor; and

a non-transitory computer readable storage medium for storing instructions that when executed by the computer processor, cause the computer processor to perform steps comprising:

receiving a request to destroy datacenter entities of a datacenter configured on a cloud platform based on a declarative specification, the datacenter comprising a hierarchy of datacenter entities, each datacenter entity comprising a service or one or more other datacenter entities;

determining dependencies between datacenter entities based on the declarative specification;

generating an aggregate destroy pipeline comprising a hierarchy of pipelines, the hierarchy of pipelines including pipelines for destroying a set of datacenter entities of the datacenter in reverse order of dependencies between datacenter entities;

generating an aggregate destruction version map associating datacenter entities of the datacenter with versions of software artifacts, wherein a software artifact stores instructions for destroying resources of a datacenter entity;

collecting a set of software artifacts according to the aggregate destruction version map; and

executing the aggregate destroy pipeline in conjunction with the aggregate destruction version map to destroy the set of datacenter entities of the datacenter.

20 . The computer system of claim 19 , wherein the declarative specification is a first declarative specification, wherein the instructions further cause the computer processor to perform steps comprising:

receiving a second declarative specification describing a modified configuration of the datacenter; and

comparing the first declarative specification with the second declarative specification to identify the set of datacenter entities to be destroyed.

Assignments (2)
CHANGE OF NAME Recorded Oct 30, 2023
From: SALESFORCE.COM, INC.
To: SALESFORCE, INC.
Reel/Frame 065394/0169 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 9, 2023
From: DHRUVAKUMAR, SRINIVAS; MOYES, CHRISTOPHER STEVEN; WAICHAL, ABHISHEK B.; GUPTA, VARUN
To: SALESFORCE, INC.
Reel/Frame 062647/0087 →
Continuity (1)
Related Publication 20240256297A1 · Aug 1, 2024
References Cited (21)
US 10318285B1 · Jodoin et al. · 2019 [cited by applicant]
US 10334058B2 · Frank et al. · 2019 [cited by applicant]
US 20080244600A1 · Wong · 2008 [cited by examiner]
US 20120180024A1 · Gonzalez et al. · 2012 [cited by applicant]
US 20180048521A1 · Nair et al. · 2018 [cited by applicant]
US 20180173510A1 · Koshkin · 2018 [cited by examiner]
US 20180316552A1 · Subramani Nadar · 2018 [cited by examiner]
US 20180329738A1 · Kasha et al. · 2018 [cited by applicant]
US 20180364985A1 · Liu et al. · 2018 [cited by applicant]
US 20190129712A1 · Hawrylo et al. · 2019 [cited by applicant]
US 20190138288A1 · Brealey et al. · 2019 [cited by applicant]
US 20200117434A1 · Biskup et al. · 2020 [cited by applicant]
US 20200125344A1 · Varghese et al. · 2020 [cited by applicant]
US 20210232388A1 · Mirantes et al. · 2021 [cited by applicant]
Austel, P. et al., “Continuous Delivery of Composite Solutions: A Case for Collaborative Software Defined PaaS Environments,” BigSystem '15, Jun. 2015, pp. 3-6. [cited by applicant]
Burns, E. et al., “Continuous Delivery with Spinnaker,” May 11, 2018, XP055626768, pp. 1-81. [cited by applicant]
Burns, E., “Why Spinnaker matters to CI/CD,” Aug. 27, 2019, ten pages, [Online] [Retrieved on Jun. 25, 2021] Retrieved from the Internet <URL: https://opensource.com/article/19/8/why-spinnaker-matters-cicd>. [cited by applicant]
Mukherjee, J., “Continuous delivery pipeline 101: What is a continuous delivery pipeline?,” Date Unknown, 14 pages, [Online] [Retrieved on Jun. 25, 2021] Retrieved from the Internet <URL: https://www.atlassian.com/conti… [cited by applicant]
PCT International Search Report and Written Opinion, PCT Application No. PCT/US2021/015822, Jul. 15, 2021, 19 pages. [cited by applicant]
Thakur, V., “Continuous Delivery Pipeline for Kubernetes Using Spinnaker,” May 27, 2020, 21 pages, [Online] [Retrieved on Jun. 25, 2021] Retrieved from the Internet <URL: https://www.metricfire.com/blog/continuous-deliv… [cited by applicant]
United States Office Action, U.S. Appl. No. 17/112,974, filed Aug. 16, 2021, 30 pages. [cited by applicant]