Automated deployment of applications

US9547564B1 · US · B1

Patent metadata
FieldValue
Publication numberUS-9547564-B1
Application numberUS-201414537738-A
CountryUS
Kind codeB1
Filing dateNov 10, 2014
Priority dateNov 10, 2014
Publication dateJan 17, 2017
Grant dateJan 17, 2017

How to read this patent

A practical reading order for non-experts. Skip the full description unless you need deep technical detail.

  1. Title

    What the patent document calls the invention.

  2. Abstract

    A short plain-language summary of the technical disclosure.

  3. Assignees and inventors

    Who owns or filed the patent and who is credited as inventor.

  4. Key dates

    Filing, priority, publication, and grant dates set the timeline.

  5. First independent claim

    The legal scope of protection — read this for what is actually claimed.

  6. CPC / IPC classifications

    Technology tags used to group this patent with similar filings.

  7. Citations and related patents

    Prior art links and similar publications in this corpus.

Abstract

Official abstract text for this publication.

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.

First claim

Opening claim text (preview).

What is claimed is: 1. A non-transitory computer-readable storage medium having computer-executable instructions stored thereupon which, when executed by a computer, cause the computer to: perform a deployment of an application to a plurality of hosts by creating one or more new hosts, deploying the application to the one or more new hosts, adding the one or more new hosts to a deployment group, and removing one or more hosts from the deployment group; maintain the removed hosts for a user-specified period of time following the deployment; determine whether one or more user-defined failure conditions occurred during the user-specified period of time following the deployment; and return the removed hosts to the deployment group and remove the new hosts from the deployment group, in response to determining that one or more user-defined failure conditions occurred during the user-specified period of time. 2. The non-transitory computer-readable storage medium of claim 1 , wherein hosts are selected for the deployment based upon a percentage-based deployment schedule. 3. The non-transitory computer-readable storage medium of claim 1 , wherein hosts are selected for the deployment based upon an exponential deployment schedule. 4. The non-transitory computer-readable storage medium of claim 1 , wherein hosts are selected for the deployment based upon a user-supplied function. 5. The non-transitory computer-readable storage medium of claim 1 , wherein one or more lifecycle events are performed on the deployment group in conjunction with the deployment of the application. 6. The non-transitory computer-readable storage medium of claim 1 , wherein the plurality of hosts are provided by an on-demand computing service operating in a service provider network or are located in a customer network external to the service provider network. 7. The non-transitory computer-readable storage medium of claim 1 , wherein the deployment is performed in response to a call received at a network service application programming interface (API) exposed by a deployment service executing in a service provider network. 8. An apparatus for performing a deployment of an application to a plurality of hosts, the apparatus comprising: a processor; and a non-transitory computer-readable storage medium having instructions stored thereupon which are executable by the processor and which, when executed, cause the apparatus to cause the deployment of the application to be performed by instantiating one or more new hosts, deploying the application to the one or more new hosts, adding the one or more new hosts to a deployment group, and removing one or more other hosts from the deployment group, maintain the removed hosts for a period of time following the deployment, determine whether one or more failure conditions occurred during the period of time following the deployment, and return the removed hosts to the deployment group and removing the new hosts from the deployment group. 9. The apparatus of claim 8 , wherein hosts are selected for the deployment based upon a percentage-based deployment schedule. 10. The apparatus of claim 8 , wherein hosts are selected for the deployment based upon an exponential deployment schedule. 11. The apparatus of claim 8 , wherein hosts are selected for the deployment based upon a user-supplied function. 12. The apparatus of claim 8 , wherein the application comprises only one or more files that have changed as compared to a previous version of the application. 13. The apparatus of claim 8 , wherein one or more lifecycle events are performed on the deployment group in conjunction with the deployment of the application. 14. The apparatus of claim 8 , wherein the plurality of hosts are provided by an on-demand computing service operating in a service provider network or are located in a customer network external to the service provider network. 15. A computer-implemented method for deploying an application to hosts in a deployment group, the method comprising performing computer-implemented operations for: performing the deployment of the application by causing one or more new hosts to be created, causing the application to be deployed to the one or more new hosts, adding the one or more new hosts to the deployment group, and removing one or more other hosts from the deployment group; maintaining the hosts removed from the deployment group for a period of time following the deployment; determining whether one or more failure conditions occurred during the period of time following the deployment; and returning the hosts removed from the deployment group back to the deployment group and removing the new hosts from the deployment group. 16. The computer-implemented method of claim 15 , wherein hosts are selected for the deployment based upon a percentage-based deployment schedule. 17. The computer-implemented method of claim 15 , wherein hosts are selected for the deployment based upon an exponential deployment schedule. 18. The computer-implemented method of claim 15 , wherein hosts are selected for the deployment based upon a user-supplied function. 19. The computer-implemented method of claim 15 , wherein the deployment is performed in response to a call received at a network service application programming interface (API) exposed by a deployment service executing in a service provider network. 20. The computer-implemented method of claim 15 , wherein the application is stored in a storage service provided by a service provider network or in a source code repository external to the service provider network.

Assignees

Inventors

Classifications

  • during software upgrading · CPC title

  • Software deployment · CPC title

  • Version control (security arrangements therefor G06F21/57); Configuration management · CPC title

  • Updates (security arrangements therefor G06F21/57) · CPC title

  • Monitoring of software · CPC title

Patent family

Related publications grouped by family.

External sources

Frequently asked questions

Answers are generated from the same data shown on this page.

What does patent US9547564B1 cover?
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 co…
Who is the assignee on this patent?
Amazon Tech Inc
What technology area does this patent fall under?
Primary CPC classification G06F11/1469. Mapped technology areas include Physics.
When was this patent published?
Publication date Tue Jan 17 2017 00:00:00 GMT+0000 (Coordinated Universal Time) (B1). Legal status and post-grant events are not shown on this page.
What related patents are in patentsdb?
We list 6 related publications on this page (citations in our corpus or others sharing the same primary CPC).