Termination policies for scaling compute resources
AssigneeAmazon Technologies, Inc.
InventorsDerek Solomon Pai, Eric Samuel Stone, Mihir Rajendrabhai Patel, Thomas Hans Deml
Life of this patent
Estimating the term…
Abstract
Approaches are described for enabling a user to specify one or more termination policies that can be used to select which instances in a group of virtual machines (or other compute resources) allocated to the user should be terminated first when scaling down the group of virtual machine instances. The termination policies can be utilized by an automatic scaling service when managing the resources in a multitenant shared resource computing environment, such as a cloud computing environment.
Claims24
A computer implemented method for scaling compute resources, the method comprising:
- receiving a plurality of user-specified termination policies that are ranked in order of execution by a user and are used to select one or more virtual machine instances from a group of virtual machine instances to de-provision first when de-provisioning virtual machine instances from the group of virtual machine instances, the group of virtual machine instances having been provisioned for the user on one or more host computing devices, each user-specified termination policy specifying at least one virtual machine instance runtime condition for de-provisioning one or more of the virtual machine instances;
- detecting that at least one virtual machine instance of the group of virtual machine instances should be de-provisioned based on one or more runtime conditions associated with the group of virtual machine instances;
- selecting the at least one virtual machine instance to de-provision based at least in part on applying the user-specified termination policies, wherein applying the user-specified termination policies comprises:
- determining a subset of the one or more virtual machine instances that satisfy a first virtual machine instance run-time condition specified by a first user-specified termination policy, the first user-specified termination policy ranked by the user for a first execution;
- and
- determining, from the subset of the one or more virtual machine instances, the at least one virtual machine instance that satisfies a second virtual machine instance run-time condition specified by a second user-specified termination policy, the second user-specified termination policy ranked by the user for execution after the first user-specified termination policy;
- and
- de-provisioning the selected at least one virtual machine instance.
A computer implemented method, comprising:
- executing a group of compute resources;
- receiving a plurality of termination policies that are ranked in order of execution by a user and are used to select which compute resources in the group of compute resources to de-provision, the termination policy specifying at least one compute resource runtime condition for de-provisioning one or more of the compute resources;
- determining that at least one compute resource in the group of compute resources should be de-provisioned;
- selecting the at least one compute resource based at least in part on applying the termination policies, wherein applying the termination policies comprises:
- determining a subset of the group of compute resources that satisfy a first compute resource run-time condition specified by a first termination policy, the first termination policy ranked by the user for a first execution;
- and
- determining, from the subset of the group of compute resources, the at least one compute resource that satisfies a second compute resource run-time condition specified by a second termination policy, the second termination policy ranked by the user for execution after the first termination policy;
- and
- de-provisioning the selected at least one compute resource.
A computing device, comprising:
- at least one processor;
- and
- memory including instructions that, when executed by the processor, cause the computing device to:
- execute a group of compute resources;
- receive a plurality of termination policies that are ranked in order of execution by a user and are used to select which compute resources in the group of compute resources to de-provision, the termination policy specifying at least one compute resource runtime condition for de-provisioning one or more of the compute resources;
- determine that at least one compute resource in the group of compute resources should be de-provisioned;
- select the at least one compute resource based at least in part on applying the termination policies, wherein applying the termination policies comprises:
- determining a subset of the group of compute resources that satisfy a first compute resource run-time condition specified by a first termination policy, the first termination policy ranked by the user for a first execution;
- and
- determining, from the subset of the group of compute resources, the at least one compute resource that satisfies a second compute resource run-time condition specified by a second termination policy, the second termination policy ranked by the user for execution after the first termination policy;
- and
- de-provision the selected at least one compute resource.
A non-transitory computer readable storage medium storing one or more sequences of instructions executed by one or more processors to:
- execute a group of compute resources;
- receive a plurality of termination policies that are ranked in order of execution by a user and are used to select which compute resources in the group of compute resources to de-provision, each termination policy specifying at least one compute resource runtime condition for de-provisioning one or more of the compute resources;
- determine that at least one compute resource in the group of compute resources should be de-provisioned;
- select the at least one compute resource based at least in part on applying the termination policies, wherein applying the termination policies comprises:
- determining a subset of the group of compute resources that satisfy a first compute resource run-time condition specified by a first termination policy, the first termination policy ranked by the user for a first execution;
- and
- determining, from the subset of the group of compute resources the at least one compute resource that satisfies a second compute resource run-time condition specified by a second termination policy, the second termination policy ranked by the user for execution after the first termination policy;
- and
- de-provision the selected at least one compute resource.
Dependencies are inferred from the claim text.