Release lifecycle management system for multi-node application
First Claim
1. A computer-implemented method for deploying a web application platform in a cloud computing environment, the method comprising:
- receiving, by a deployment system installed in the cloud computing environment, a deployment manifest, wherein the deployment manifest includes data representing a plurality of components of the web application platform , wherein, in the deployment manifest, each component of the web application platform is associated with a respective resource pool specification, each resource pool specification including at least three distinct items;
a respective first identifier of a respective virtual machine template for the respective component, a respective second identifier of a respective network for the respective component, and a respective provision of computing resources for the respective component;
generating, by the deployment system, an infrastructure according to the deployment manifest, the infrastructure comprising a plurality resource pools, wherein each resource pool comprises a respective stem cell virtual machine created from the template identified by the first identifier, the respective stem cell virtual machine being associated with a network identified by the second identifier, wherein generating the infrastructure includes provisioning the respective computing resources to each resource pool, and wherein each stem cell virtual machine includes a respective agent for retrieving a respective job configuration for performing a respective role by a corresponding component of the web application platform;
configuring each stem cell virtual machine according to the deployment manifest and job configuration, including launching each agent to retrieve a respective job configuration and transforming, by each agent each respective stem cell virtual machine into a respective distributed node of the cloud computing platform, wherein the transforming includes installing the respective component of the plurality of components of the web application platform on each respective stem cell virtual machine according to each respective job configuration, each job configuration specifies a respective update path and a respective restart path;
and performing, on each distributed node and by each respective component, a respective job corresponding to a respective role.
2 Assignments
0 Petitions
Accused Products
Abstract
A deployment system provides the ability to deploy a multi-node distributed application, such as a cloud computing platform application that has a plurality of interconnected nodes performing specialized jobs. The deployment system may update a currently running cloud computing platform application according to a deployment manifest and a versioned release bundle that includes jobs and application packages. The deployment system determines changes to the currently running cloud computing platform application and distributes changes to each job to deployment agents executing on VMs. The deployment agents apply the updated jobs to their respective VMs (e.g., launching applications), thereby deploying an updated version of cloud computing platform application.
124 Citations
19 Claims
-
1. A computer-implemented method for deploying a web application platform in a cloud computing environment, the method comprising:
-
receiving, by a deployment system installed in the cloud computing environment, a deployment manifest, wherein the deployment manifest includes data representing a plurality of components of the web application platform , wherein, in the deployment manifest, each component of the web application platform is associated with a respective resource pool specification, each resource pool specification including at least three distinct items;
a respective first identifier of a respective virtual machine template for the respective component, a respective second identifier of a respective network for the respective component, and a respective provision of computing resources for the respective component;generating, by the deployment system, an infrastructure according to the deployment manifest, the infrastructure comprising a plurality resource pools, wherein each resource pool comprises a respective stem cell virtual machine created from the template identified by the first identifier, the respective stem cell virtual machine being associated with a network identified by the second identifier, wherein generating the infrastructure includes provisioning the respective computing resources to each resource pool, and wherein each stem cell virtual machine includes a respective agent for retrieving a respective job configuration for performing a respective role by a corresponding component of the web application platform; configuring each stem cell virtual machine according to the deployment manifest and job configuration, including launching each agent to retrieve a respective job configuration and transforming, by each agent each respective stem cell virtual machine into a respective distributed node of the cloud computing platform, wherein the transforming includes installing the respective component of the plurality of components of the web application platform on each respective stem cell virtual machine according to each respective job configuration, each job configuration specifies a respective update path and a respective restart path; and performing, on each distributed node and by each respective component, a respective job corresponding to a respective role. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9)
-
-
10. A system for deploying a web application platform in a cloud computing environment, the system comprising:
-
one or more computers and one or more storage devices storing instructions that are operable, when executed by the one or more computers, to cause the one or more computers to perform operations comprising; receiving, by a deployment system installed in the cloud computing environment, a deployment manifest, wherein the deployment manifest includes data representing a plurality of components of the web application platform , wherein, in the deployment manifest, each component of the web application platform is associated with a respective resource pool specification, each resource pool specification including at least three distinct items;
a respective first identifier of a respective virtual machine template for the respective component, a respective second identifier of a respective network for the respective component, and a respective provision of computing resources for the respective component;generating, by the deployment system, an infrastructure according to the deployment manifest, the infrastructure comprising a plurality resource pools, wherein each resource pool comprises a respective stem cell virtual machine created from the template identified by the first identifier, the respective stem cell virtual machine being associated with a network identified by the second identifier, wherein generating the infrastructure includes provisioning the respective computing resources to each resource pool, and wherein each stem cell virtual machine includes a respective agent for retrieving a respective job configuration for performing a respective role by a corresponding component of the web application platform; configuring each stem cell virtual machine according to the deployment manifest and job configuration, including launching each agent to retrieve a respective job configuration and transforming, by each agent each respective stem cell virtual machine into a respective distributed node of the cloud computing platform, wherein the transforming includes installing the respective component of the plurality of components of the web application platform on each respective stem cell virtual machine according to each respective job configuration, each job configuration specifies a respective update path and a respective restart path; and performing, on each distributed node and by each respective component, a respective job corresponding to a respective role. - View Dependent Claims (11, 12, 13, 14, 15, 16, 17, 18)
-
-
19. A computer program product for deploying a web application platform in a cloud computing environment, the computer program product being encoded on one or more non-transitory computer storage media, comprising instructions that when executed by one or more computers cause the one or more computers to perform operations comprising:
-
receiving, by a deployment system installed in the cloud computing environment, a deployment manifest, wherein the deployment manifest includes data representing a plurality of components of the web application platform , wherein, in the deployment manifest, each component of the web application platform is associated with a respective resource pool specification, each resource pool specification including at least three distinct items;
a respective first identifier of a respective virtual machine template for the respective component, a respective second identifier of a respective network for the respective component, and a respective provision of computing resources for the respective component;generating, by the deployment system, an infrastructure according to the deployment manifest, the infrastructure comprising a plurality resource pools, wherein each resource pool comprises a respective stem cell virtual machine created from the template identified by the first identifier, the respective stem cell virtual machine being associated with a network identified by the second identifier, wherein generating the infrastructure includes provisioning the respective computing resources to each resource pool, and wherein each stem cell virtual machine includes a respective agent for retrieving a respective job configuration for performing a respective role by a corresponding component of the web application platform; configuring each stem cell virtual machine according to the deployment manifest and job configuration, including launching each agent to retrieve a respective job configuration and transforming, by each agent each respective stem cell virtual machine into a respective distributed node of the cloud computing platform, wherein the transforming includes installing the respective component of the plurality of components of the web application platform on each respective stem cell virtual machine according to each respective job configuration, each job configuration specifies a respective update path and a respective restart path; and performing, on each distributed node and by each respective component, a respective job corresponding to a respective role.
-
Specification