Automated deployment of applications
First Claim
1. A computer-implemented method, comprising:
- obtaining a deployment configuration that specifies;
a location of an application to be deployed to a plurality of hosts comprising a deployment group,a schedule for deployment of the application;
one or more failure conditions; and
a period of time associated with the one or more failure conditions;
determining, based at least in part on the deployment configuration;
a first type of deployment from a plurality of different deployment types;
a first subset of the deployment group; and
a configuration option that indicates deployment of the application is to be performed by;
creating a set of new hosts in the deployment group;
replacing affected hosts in the deployment group with the set of new hosts; and
removing the affected hosts from the deployment group;
causing the first subset to access the application from the location;
deploying, as a result of determining that a second type of deployment from the plurality of different deployment types has not been specified in the deployment configuration, the application based at least in part on the first type of deployment in accordance with the configuration option; and
determining, after the period of time and based at least in part on the one or more failure conditions and an outcome of deploying the application to the first subset of the deployment group, a second subset of the deployment group to which to deploy the application according to the schedule and the configuration option.
1 Assignment
0 Petitions
Accused Products
Abstract
Functionality is disclosed for automated deployment of applications. A network-based deployment service provides functionality for deploying software components to physical or virtual hosts in a service provider network and/or to hosts in other types of networks external to the service provider network. A user of the deployment service creates an application revision that includes deployable content and an application specification defining how the application is to be deployed and one or more lifecycle events. The application revision is then uploaded to a storage service, source code repository, or other location. A deployment configuration is also created that defines the location of the application revision, a deployment group, and a schedule for the deployment. A deployment agent executing on hosts in the deployment group obtains the application revision from the specified location, deploys the deployable content according to the schedule, and performs the lifecycle events.
55 Citations
21 Claims
-
1. A computer-implemented method, comprising:
-
obtaining a deployment configuration that specifies; a location of an application to be deployed to a plurality of hosts comprising a deployment group, a schedule for deployment of the application; one or more failure conditions; and a period of time associated with the one or more failure conditions; determining, based at least in part on the deployment configuration; a first type of deployment from a plurality of different deployment types; a first subset of the deployment group; and a configuration option that indicates deployment of the application is to be performed by; creating a set of new hosts in the deployment group; replacing affected hosts in the deployment group with the set of new hosts; and removing the affected hosts from the deployment group; causing the first subset to access the application from the location; deploying, as a result of determining that a second type of deployment from the plurality of different deployment types has not been specified in the deployment configuration, the application based at least in part on the first type of deployment in accordance with the configuration option; and determining, after the period of time and based at least in part on the one or more failure conditions and an outcome of deploying the application to the first subset of the deployment group, a second subset of the deployment group to which to deploy the application according to the schedule and the configuration option. - View Dependent Claims (2, 3, 4, 5, 6)
-
-
7. A non-transitory computer-readable storage medium comprising computer-executable instructions stored thereupon which, upon execution by a computer, cause the computer to at least:
-
obtain a deployment configuration that includes; a location of an application to be deployed to a plurality of hosts comprising a deployment group; a schedule for deploying the application; at least a first type of deployment of a plurality of different types of deployment available to be specified in the deployment configuration; one or more failure conditions; a period of time associated with the one or more failure conditions; and a configuration option that indicates deployment of the application is to be performed by; creating a new set of hosts in the deployment group; replacing affected hosts in the deployment group with the new set of hosts; and removing the affected hosts from the deployment group; determine, based at least in part upon the schedule, a first subset of the deployment group; instruct, due to a determination that a second type of deployment of the plurality of different types of deployment has not been specified in the deployment configuration, a deployment agent executing on the first subset of the deployment group to; access the application from the location; and deploy the application to the first subset of the deployment group with the first type of deployment according to the configuration option; and determine, based at least in part on the period of time associated with the one or more failure conditions and an outcome of deploying the application to the first subset of the deployment group, a second subset of the deployment group to which to deploy the application according to the schedule and the configuration option. - View Dependent Claims (8, 9, 10, 11, 12, 13, 14)
-
-
15. A system, comprising:
memory storing instructions that;
if executed by at least one or more processors, cause the system to at least;obtain a deployment configuration that specifies; a location of an application to be deployed to a plurality of hosts comprising a deployment group; a schedule for deployment of the application; one or more failure conditions for the deployment; a period of time associated with the one or more failure conditions; at least a first type of deployment of a plurality of deployment types to be performed; and a configuration option indicating deployment of the application is to be performed by; instantiating new hosts in the deployment group; replacing affected hosts in the deployment group with the new hosts; and removing the affected hosts from the deployment group; determine, based at least in part on the schedule, a first portion of the deployment group; cause, as a result of a determination that another type of deployment of the plurality of deployment types has not been specified in the deployment configuration, the first portion of the deployment group to access the application from the location and to deploy the application based at least in part on the first type of deployment according to the configuration option, wherein the first type of deployment is different from the another type of deployment performable by the system, indicated by the deployment configuration; and determine, after the period of time and based at least in part on the one or more failure conditions and an outcome of deploying the application to the first portion of the deployment group, a second portion of the deployment group to which to deploy the application according to the schedule and the configuration option. - View Dependent Claims (16, 17, 18, 19, 20, 21)
Specification