Using a template to update a stack of resources
First Claim
1. A computer implemented method for updating resources in a network-accessible service environment, said method comprising:
- instantiating, by a service provider system, a stack of resources that operate together to provide at least one network-accessible service, the stack of resources being associated with a first template;
receiving, by the service provider system, a request to update the stack of resources, the request including a second template that specifies at least one difference from the first template'"'"'s specification for the stack of resources;
computing, by the service provider system, one or more differences for one or more resources in the stack, the one or more differences introduced by the second template; and
determining, by the service provider system and based at least in part on one or more computed differences, a set of changes that should be made to the resources of the stack;
determining, by the service provider system, whether the changes can be implemented as a running update or require a destructive update; and
for changes that require the destructive update, creating at least one new resource, adding the new resource into the stack, and removing a previous version of said resource from the stack.
0 Assignments
0 Petitions
Accused Products
Abstract
Techniques are described that enable a user to upgrade a stack of resources by providing a template that reflects the desired end state of the stack. Upon receiving a new template, the system automatically detects changes that should be performed and determines the order in which the changes should be performed. The system can also detect if the desired changes to the stack are a result of direct modifications; because parameters to the resources have changed; or the changes are indirectly caused by other dependency/attribute changing. Additionally, the system determines whether the changes require creating new resources or if the changes can be made to the resources live. In case of replacement of resources, the system will first create the new resource, move that new resource into the stack and remove the old resource(s). In case of failures, the system ensures that the stack rolls back to the initial state.
-
Citations
20 Claims
-
1. A computer implemented method for updating resources in a network-accessible service environment, said method comprising:
-
instantiating, by a service provider system, a stack of resources that operate together to provide at least one network-accessible service, the stack of resources being associated with a first template; receiving, by the service provider system, a request to update the stack of resources, the request including a second template that specifies at least one difference from the first template'"'"'s specification for the stack of resources; computing, by the service provider system, one or more differences for one or more resources in the stack, the one or more differences introduced by the second template; and determining, by the service provider system and based at least in part on one or more computed differences, a set of changes that should be made to the resources of the stack; determining, by the service provider system, whether the changes can be implemented as a running update or require a destructive update; and for changes that require the destructive update, creating at least one new resource, adding the new resource into the stack, and removing a previous version of said resource from the stack. - View Dependent Claims (2, 3, 4, 5, 6, 7)
-
-
8. A non-transitory computer-readable medium storing program instructions that are executed by one or more processors to implement a service provider component configured to:
-
instantiate a stack of resources that operate together to provide at least one network-accessible service, the stack of resources associated with a first template; receive a request to update the stack of resources, the request including a second template that specifies at least a desired end state for the stack of resources; compute one or more differences for one or more resources in the stack, the one or more differences introduced by the second template; determine, based at least in part on one or more computed differences, a set of changes to the resources of the stack; determine whether the changes can be implemented as a running update or require a destructive update; if the changes can be implemented as the running update, modify the resources while the resources are running, otherwise if the changes require the destructive update; create at least one new resource, add the new resource into the stack, and remove a previous version of said resource from the stack; and if the request to update the stack is unsuccessful, roll back any changes that have been made to the resources of the stack in order to return the stack to a state specified in the first template. - View Dependent Claims (9, 10, 11, 12, 13, 14)
-
-
15. A system, comprising:
-
one or more processors; and program instructions that are executed by one or more processors to implement a service provider component configured to; instantiate a stack of resources that operate together to provide at least one network-accessible service, the stack of resources being associated with a first template; receive a request to update the stack of resources, the request including a second template that specifies at least a desired end state for the stack of resources; compute one or more differences for one or more resources in the stack, the one or more differences introduced by the second template; determine, based at least in part on one or more computed differences, a set of changes to the resources of the stack; determine whether the changes can be implemented as a running update or require a destructive update; if the changes can be implemented as the running update, modify the resources while the resources are running, otherwise if the changes require the destructive update; create at least one new resource, add the new resource into the stack, and remove a previous version of said resource from the stack; and if the request to update the stack is unsuccessful, roll back any changes that have been made to the resources of the stack in order to return the stack to a state specified in the first template. - View Dependent Claims (16, 17, 18, 19, 20)
-
Specification