Release lifecycle management system for multi-node application
First Claim
1. A computer-implemented method for switching to an updated release of a web application platform in a cloud computing environment, the method comprising:
- receiving a request to update a current deployment of the web application platform in the cloud computing environment using an updated release of the web application platform, wherein contents of the updated release are specified by an updated release manifest of the web application platform, wherein the request includes an updated deployment manifest for the web application platform, wherein the updated deployment manifest for the web application platform includes data representing a plurality of components of the deployed web application platform in the cloud computing environment, wherein the updated deployment manifest specifies a respective role for each component of the plurality of components of the web application platform, and wherein the updated deployment manifest specifies one or more update settings comprising a respective number of test instances for each job of a plurality of jobs of the web application platform;
determining first jobs specified by a current release manifest for the current deployment of the web application platform;
obtaining the updated release manifest of the web application platform, wherein the updated release manifest includes;
respective version numbers for each job of the plurality of jobs, each job corresponding to a respective role to be performed by a respective component of the plurality of components of the web application platform, andpackage specifications for one or more respective packages required for each job of the plurality of jobs;
comparing the first jobs specified by the current release manifest of the web application platform to second jobs specified by the updated release manifest of the web application platform to identify one or more existing jobs of the web application platform that are updated by the updated release of the web application platform;
providing a respective update request to each virtual machine in the cloud computing environment executing an existing job that is updated by the updated release, wherein the update request specifies replacing the exiting job with an updated job of the updated release of the web application platform;
deploying a particular number of test instances specified by the update settings for the job that is updated by the updated release of the web application platform;
determining that a threshold number of test instances succeeded; and
in response to determining that the threshold number of test instances succeeded, replacing the existing job with the updated job of the updated release of the web application platform.
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.
184 Citations
15 Claims
-
1. A computer-implemented method for switching to an updated release of a web application platform in a cloud computing environment, the method comprising:
-
receiving a request to update a current deployment of the web application platform in the cloud computing environment using an updated release of the web application platform, wherein contents of the updated release are specified by an updated release manifest of the web application platform, wherein the request includes an updated deployment manifest for the web application platform, wherein the updated deployment manifest for the web application platform includes data representing a plurality of components of the deployed web application platform in the cloud computing environment, wherein the updated deployment manifest specifies a respective role for each component of the plurality of components of the web application platform, and wherein the updated deployment manifest specifies one or more update settings comprising a respective number of test instances for each job of a plurality of jobs of the web application platform; determining first jobs specified by a current release manifest for the current deployment of the web application platform; obtaining the updated release manifest of the web application platform, wherein the updated release manifest includes; respective version numbers for each job of the plurality of jobs, each job corresponding to a respective role to be performed by a respective component of the plurality of components of the web application platform, and package specifications for one or more respective packages required for each job of the plurality of jobs; comparing the first jobs specified by the current release manifest of the web application platform to second jobs specified by the updated release manifest of the web application platform to identify one or more existing jobs of the web application platform that are updated by the updated release of the web application platform; providing a respective update request to each virtual machine in the cloud computing environment executing an existing job that is updated by the updated release, wherein the update request specifies replacing the exiting job with an updated job of the updated release of the web application platform; deploying a particular number of test instances specified by the update settings for the job that is updated by the updated release of the web application platform; determining that a threshold number of test instances succeeded; and in response to determining that the threshold number of test instances succeeded, replacing the existing job with the updated job of the updated release of the web application platform. - View Dependent Claims (2, 3, 4, 5)
-
-
6. A 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 a request to update a current deployment of a web application platform deployed in a cloud computing environment using an updated release of the web application platform, wherein contents of the updated release are specified by an updated release manifest of the web application platform, wherein the request includes an updated deployment manifest for the web application platform, wherein the updated deployment manifest for the web application platform includes data representing a plurality of components of the deployed web application platform in the cloud computing environment, wherein the updated deployment manifest specifies a respective role for each component of the plurality of components of the web application platform, and wherein the updated deployment manifest specifies one or more update settings comprising a respective number of test instances for each job of a plurality of jobs of the web application platform; determining first jobs specified by the current release manifest for the current deployment of the web application platform; obtaining the updated release manifest of the web application platform, wherein the updated release manifest includes; respective version numbers for each job of the plurality of jobs, each job corresponding to a respective role to be performed by a respective component of the plurality of components of the web application platform, and package specifications for one or more respective packages required for each job of the plurality of jobs; comparing the first jobs specified by the current release manifest of the web application platform to second jobs specified by the updated release manifest of the web application platform to identify one or more existing jobs of the web application platform that are updated by the updated release of the web application platform; providing a respective update request to each virtual machine in the cloud computing environment executing an existing job that is updated by the updated release, wherein the update request specifies replacing the existing job with an updated job of the updated release of the web application platform; deploying a particular number of test instances specified by the update settings for the job that is updated by the updated release of the web application platform; determining that a threshold number of test instances succeeded; and in response to determining that the threshold number of test instances succeeded, replacing the existing job with the updated job of the updated release of the web application platform. - View Dependent Claims (7, 8, 9, 10)
-
-
11. A computer program product, 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 a request to update a current deployment of a web application platform deployed in a cloud computing environment using an updated release of the web application platform, wherein contents of the updated release are specified by an updated release manifest of the web application platform, wherein the request includes an updated deployment manifest for the web application platform, wherein the updated deployment manifest for the web application platform includes data representing a plurality of components of the deployed web application platform in the cloud computing environment, wherein the updated deployment manifest specifies a respective role for each component of the plurality of components of the web application platform, and wherein the updated deployment manifest specifies one or more update settings comprising a respective number of test instances for each job of a plurality of jobs of the web application platform; determining first jobs specified by the current release manifest for the current deployment of the web application platform; obtaining the updated release manifest of the web application platform, wherein the updated release manifest includes; respective version numbers for each job of the plurality of jobs, each job corresponding to a respective role to be performed by a respective component of the plurality of components of the web application platform, and package specifications for one or more respective packages required for each job of the plurality of jobs; comparing the first jobs specified by the current release manifest of the web application platform to second jobs specified by the updated release manifest of the web application platform to identify one or more existing jobs of the web application platform that are updated by the updated release of the web application platform; providing a respective update request to each virtual machine in the cloud computing environment executing an existing job that is updated by the updated release, wherein the update request specifies replacing the exiting job with an updated job of the updated release of the web application platform; deploying a particular number of test instances specified by the update settings for the job that is updated by the updated release of the web application platform; determining that a threshold number of test instances succeeded; and in response to determining that the threshold number of test instances succeeded, replacing the existing job with the updated job of the updated release of the web application platform. - View Dependent Claims (12, 13, 14, 15)
-
Specification