Release management system for a multi-node application
First Claim
1. A computer-implemented method for managing releases of an application having a plurality of functional components that are executed on a plurality of different nodes, the method comprising:
- retrieving a first plurality of specifications for the functional components, wherein each of the first plurality of specifications specifies one or more software components required to implement one of the functional components;
retrieving a second plurality of specifications for the specified software components, wherein each of the second plurality of specifications specifies contents of a software component used to compile a compatible executable file of the software component, the specifications including one or more files having computer code formatted in an architecture-independent representation; and
generating an archive file that includes the first plurality of specifications for the functional components and the contents specified by the second plurality of specifications, wherein the archive file is assigned a version number that identifies a release of the application.
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 includes a release management system that builds and manages versioned releases of application services and/or software modules that are executed by the plurality of nodes of the cloud computing platform application. The release management system utilizes specification files to define a jobs and application packages and configurations needed to perform the jobs. The jobs and application packages are assembled into a self-contained release bundle that may be provided to the deployment system. The deployment system unwraps the release bundle and provides each job to deployment agents executing on VMs. The deployment agents apply the jobs to their respective VM (e.g., launching applications), thereby deploying the cloud computing platform application.
-
Citations
20 Claims
-
1. A computer-implemented method for managing releases of an application having a plurality of functional components that are executed on a plurality of different nodes, the method comprising:
-
retrieving a first plurality of specifications for the functional components, wherein each of the first plurality of specifications specifies one or more software components required to implement one of the functional components; retrieving a second plurality of specifications for the specified software components, wherein each of the second plurality of specifications specifies contents of a software component used to compile a compatible executable file of the software component, the specifications including one or more files having computer code formatted in an architecture-independent representation; and generating an archive file that includes the first plurality of specifications for the functional components and the contents specified by the second plurality of specifications, wherein the archive file is assigned a version number that identifies a release of the application. - View Dependent Claims (2, 3, 4, 5, 6, 7)
-
-
8. A non-transitory computer-readable storage medium comprising instructions that, when executed in a computing device, manage releases of an application having a plurality of functional components that are executed on a plurality of different nodes, by performing the steps of:
-
retrieving a first plurality of specifications for the functional components, wherein each of the first plurality of specifications specifies one or more software components required to implement one of the functional components; retrieving a second plurality of specifications for the specified software components, wherein each of the second plurality of specifications specifies contents of a software component used to compile a compatible executable file of the software component, the specifications including one or more files having computer code formatted in an architecture-independent representation; and generating an archive file that includes the first plurality of specifications for the functional components and the contents specified by the second plurality of specifications, wherein the archive file is assigned a version number that identifies a release of the application. - View Dependent Claims (9, 10, 11, 12, 13, 14)
-
-
15. A computer system for managing releases of an application having a plurality of functional components that are executed on a plurality of different nodes, the computer system comprising a system memory and a processor programmed to carry out the steps of:
-
retrieving a first plurality of specifications for the functional components, wherein each of the first plurality of specifications specifies one or more software components required to implement one of the functional components; retrieving a second plurality of specifications for the specified software components, wherein each of the second plurality of specifications specifies contents of a software component used to compile a compatible executable file of the software component, the specifications including one or more files having computer code formatted in an architecture-independent representation; and generating an archive file that includes the first plurality of specifications for the functional components and the contents specified by the second plurality of specifications, wherein the archive file is assigned a version number that identifies a release of the application. - View Dependent Claims (16, 17, 18, 19, 20)
-
Specification