Complex software deployment
First Claim
1. One or more computer-readable memory devices or storage devices having computer-executable instructions thereon that, when executed, perform acts comprising:
- obtaining live states of one or more target computing devices of a target computer infrastructure, the live states indicating software components currently installed on the one or more target computing devices;
parsing a descriptor file to retrieve configuration data that declares a desired state of the one or more target computing devices of the target computer infrastructure, the desired state indicating a first software component for installation on the one or more target computing devices;
identifying a set of individual target computing devices having corresponding live states indicating that the first software component is not installed;
generating a plan script that includes executable deployment commands, wherein the executable deployment commands are configured to call functions to deploy the first software component to the individual target computing devices such that the corresponding live states of the individual target computing devices are changed to the desired state;
determining, based on an administrator-configurable setting, when individual deployment commands are to be executed; and
executing the plan script to deploy the first software component to the set of individual target computing devices, wherein execution of at least one of the individual deployment commands is delayed for a predetermined period based on the administrator-configurable setting.
2 Assignments
0 Petitions
Accused Products
Abstract
Systems and methods of deploying one or more software components to a target computer infrastructure are disclosed. A descriptor file that declares a desired state of one or more target computing devices of a target computer infrastructure is parsed. A live state of the one or more target computing devices is obtained. A set of target computing devices having the live state different from the desired state is identified. A plan script that includes deployment commands configured to deploy one or more software components to each computing device is generated. The plan script can be optimized such that when executed the software components are deployed with higher efficiency, system stability, minimum downtime, etc.
37 Citations
20 Claims
-
1. One or more computer-readable memory devices or storage devices having computer-executable instructions thereon that, when executed, perform acts comprising:
-
obtaining live states of one or more target computing devices of a target computer infrastructure, the live states indicating software components currently installed on the one or more target computing devices; parsing a descriptor file to retrieve configuration data that declares a desired state of the one or more target computing devices of the target computer infrastructure, the desired state indicating a first software component for installation on the one or more target computing devices; identifying a set of individual target computing devices having corresponding live states indicating that the first software component is not installed; generating a plan script that includes executable deployment commands, wherein the executable deployment commands are configured to call functions to deploy the first software component to the individual target computing devices such that the corresponding live states of the individual target computing devices are changed to the desired state; determining, based on an administrator-configurable setting, when individual deployment commands are to be executed; and executing the plan script to deploy the first software component to the set of individual target computing devices, wherein execution of at least one of the individual deployment commands is delayed for a predetermined period based on the administrator-configurable setting. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 20)
-
-
9. A method of deploying one or more software components to a target computer infrastructure, the method comprising:
-
obtaining live states of one or more target computing devices of the target computer infrastructure, the live states indicating software components currently installed on the one or more target computing devices; parsing a descriptor file that declares a desired state of the one or more of target computing devices of the target computer infrastructure, the desired state indicating a first software component for use by the one or more target computing devices; identifying a set of the one or more of the target computing devices having live states indicating that the first software component is not currently installed; generating a plan script, wherein the plan script is generated in a procedural language that includes deployment commands configured to deploy the first software component to the identified set of target computing devices, wherein the first software component is configured to set configuration data in the identified set of target computing devices such that the live states of the identified set of target computing devices are changed to the desired state; optimizing the plan script based on a configurable setting of a predetermined period for delaying execution of at least a first one of the deployment commands; and executing the plan script to deploy the first software component to the identified set of target computing devices, wherein execution of the first deployment command is delayed based on the predetermined period. - View Dependent Claims (10, 11, 12, 13, 14, 15, 16)
-
-
17. A system comprising:
-
a plan generator configured to; read a descriptor file that declares a desired state of a plurality of target computing devices of a target computer infrastructure, the desired state identifying a first software component for use by the plurality of target computing devices; identify a set of individual target computing devices from the plurality of target computing devices, the set of individual target computing devices having individual corresponding live states indicating that the first software component is not currently installed, wherein live states of the plurality of target computing devices are obtained that indicate software components currently installed on the plurality of target computing devices; and generate a plan script that includes computer commands that deploy the first software component to the identified set of individual target computing devices such that the individual corresponding live states of the identified set of individual target computing devices are changed to the desired state; an optimization module configured to optimize the plan script based on a configurable delay setting; a plan execution engine configured to execute the plan script to deploy the first software component to the identified set of individual target computing devices, wherein the plan execution engine delays executing at least one of the computer commands of the plan script based on the configurable delay setting; and at least one processing unit configured to execute one or more of the plan generator, the optimization module, or the plan execution engine. - View Dependent Claims (18, 19)
-
Specification