Release lifecycle management system for a multi-node application
First Claim
1. A computer processor-implemented method for updating an application having a plurality of functional components that are executed on a plurality of different virtual machines (VMs), the method comprising:
- receiving, by a deployment module, a specification for the application to be updated, wherein the specification identifies a set of software components representing an updated version of the application and containing machine architecture independent code which implements each of the functional components of the application;
identifying at least one functional component that is to be updated by comparing the set of software components for the updated version of the application and a set of software components that have been deployed for a currently-deployed application; and
directing an agent in each of the VMs that is executing as an instance of the identified functional component to install one or more software components in the VM, thereby causing the VM to execute as an updated instance of the functional component of the application;
wherein the machine architecture independent code which implements each of the functional components of the application comprises a script configured to, when executed by an agent in one of the VMs executing as an instance of the functional component, cease acceptance of new work for the instance of the functional component and suspend operation of the instance of the functional component upon completion of any existing work.
3 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.
-
Citations
17 Claims
-
1. A computer processor-implemented method for updating an application having a plurality of functional components that are executed on a plurality of different virtual machines (VMs), the method comprising:
-
receiving, by a deployment module, a specification for the application to be updated, wherein the specification identifies a set of software components representing an updated version of the application and containing machine architecture independent code which implements each of the functional components of the application; identifying at least one functional component that is to be updated by comparing the set of software components for the updated version of the application and a set of software components that have been deployed for a currently-deployed application; and directing an agent in each of the VMs that is executing as an instance of the identified functional component to install one or more software components in the VM, thereby causing the VM to execute as an updated instance of the functional component of the application; wherein the machine architecture independent code which implements each of the functional components of the application comprises a script configured to, when executed by an agent in one of the VMs executing as an instance of the functional component, cease acceptance of new work for the instance of the functional component and suspend operation of the instance of the functional component upon completion of any existing work. - View Dependent Claims (2, 3, 4, 5, 6)
-
-
7. A non-transitory computer-readable storage medium comprising instructions that, when executed in a computing device, update an application having a plurality of functional components that are executed on a plurality of different virtual machines (VMs), by performing the steps of:
-
receiving, by a deployment module, a specification for the application to be updated, wherein the specification identifies a set of software components representing an updated version of the application and containing machine architecture independent code which implements each of the functional components of the application; identifying at least one functional component that is to be updated by comparing the set of software components for the updated version of the application and a set of software components that have been deployed for a currently-deployed application; and directing an agent in each of the VMs that is executing as an instance of the identified functional component to install one or more software components in the VM, thereby causing the VM to execute as an updated instance of the functional component of the application; wherein the machine architecture independent code which implements each of the functional components of the application comprises a script configured to, when executed by an agent in one of the VMs executing as an instance of the functional component, cease acceptance of new work for the instance of the functional component and suspend operation of the instance of the functional component upon completion of any existing work. - View Dependent Claims (8, 9, 10, 11, 12)
-
-
13. A computer system for updating an application having a plurality of functional components that are executed on a plurality of different virtual machines (VMs), the computer system comprising a system memory and a processor programmed to carry out the steps of:
-
receiving, by a deployment module, a specification for the application to be updated, wherein the specification identifies a set of software components representing an updated version of the application and containing machine architecture independent code which implements each of the functional components of the application; identifying at least one functional component that is to be updated by comparing the set of software components for the updated version of the application and a set of software components that have been deployed for a currently-deployed application; and directing an agent in each of the VMs that is executing as an instance of the identified functional component to install one or more software components in the VM, thereby causing the VM to execute as an updated instance of the functional component of the application; wherein the machine architecture independent code which implements each of the functional components of the application comprises a script configured to, when executed by an agent in one of the VMs executing as an instance of the functional component, cease acceptance of new work for the instance of the functional component and suspend operation of the instance of the functional component upon completion of any existing work. - View Dependent Claims (14, 15, 16, 17)
-
Specification