Managing contingency capacity of pooled resources in multiple availability zones
First Claim
1. A computing system, comprising:
- a plurality of computing nodes, each of which comprises at least one processor and a memory;
wherein one or more resource instances executing on the plurality of computing nodes implement a storage service, and wherein the storage service comprises a head node and two or more server nodes of a distributed storage service that stores portions of data on one or more storage devices;
wherein one or more other resource instances in a resource instance pool are designated as contingency resource instances for the storage service, but are not reserved for the exclusive use of the storage service;
wherein, while the head node is operating as expected;
the head node is configured to;
receive, from a client of the storage service, one or more write requests, each directed to a respective data item and specifying a modification to be made to the respective data item; and
route information about the specified modifications to particular ones of the server nodes of the distributed storage service;
the server nodes of the distributed storage service are configured to;
apply the specified modifications; and
a resource management component executing on one of the computing nodes is configured to lease one or more of the contingency resource instances to a client, wherein leases for the contingency resource instances are revocable by the resource management component when they are needed for the use of the storage service; and
wherein, in response to determining that the head node is no longer operating as expected, the resource management component is configured to;
revoke a lease for at least one of the one or more contingency resource instances;
reserve the at least one of the contingency resource instances for the use of the storage service; and
instantiate another head node using the at least one of the contingency resource instances.
0 Assignments
0 Petitions
Accused Products
Abstract
A network-based services provider may reserve and provision primary resource instance capacity for a given service (e.g., enough compute instances, storage instances, or other virtual resource instances to implement the service) in one or more availability zones, and may designate contingency resource instance capacity for the service in another availability zone (without provisioning or reserving the contingency instances for the exclusive use of the service). For example, the service provider may provision resource instance(s) for a database engine head node in one availability zone and designate resource instance capacity for another database engine head node in another availability zone without instantiating the other database engine head node. While the service operates as expected using the primary resource instance capacity, the contingency resource capacity may be leased to other entities on a spot market. Leases for contingency instance capacity may be revoked when needed for the given service (e.g., during failover).
-
Citations
19 Claims
-
1. A computing system, comprising:
-
a plurality of computing nodes, each of which comprises at least one processor and a memory; wherein one or more resource instances executing on the plurality of computing nodes implement a storage service, and wherein the storage service comprises a head node and two or more server nodes of a distributed storage service that stores portions of data on one or more storage devices; wherein one or more other resource instances in a resource instance pool are designated as contingency resource instances for the storage service, but are not reserved for the exclusive use of the storage service; wherein, while the head node is operating as expected; the head node is configured to; receive, from a client of the storage service, one or more write requests, each directed to a respective data item and specifying a modification to be made to the respective data item; and route information about the specified modifications to particular ones of the server nodes of the distributed storage service; the server nodes of the distributed storage service are configured to; apply the specified modifications; and a resource management component executing on one of the computing nodes is configured to lease one or more of the contingency resource instances to a client, wherein leases for the contingency resource instances are revocable by the resource management component when they are needed for the use of the storage service; and wherein, in response to determining that the head node is no longer operating as expected, the resource management component is configured to; revoke a lease for at least one of the one or more contingency resource instances; reserve the at least one of the contingency resource instances for the use of the storage service; and instantiate another head node using the at least one of the contingency resource instances. - View Dependent Claims (2, 3, 4, 5, 6)
-
-
7. A method, comprising:
performing by one or more computers; receiving a request for database services, wherein the request specifies that a database should be deployed on the one or more computers; reserving primary resource instance capacity for the database, wherein the primary resource instance capacity is sufficient to implement the requested database; designating contingency resource instance capacity for the database; while the database operates as expected using the primary resource instance capacity; receiving and routing database queries to one or more storage nodes using the primary resource instance capacity; and leasing at least a portion of the contingency resource instance capacity, wherein said leasing comprises providing the at least a portion of the contingency resource instance capacity for a use by an entity other than the database until and unless a trigger condition is detected indicating that it is needed by the database; detecting a trigger condition indicating that the at least a portion of the contingency resource instance capacity is needed by the database; and in response to said detecting, revoking a lease on the at least a portion of the contingency resource instance capacity. - View Dependent Claims (8, 9, 10, 11, 12, 13, 14)
-
15. A non-transitory, computer-readable storage medium storing program instructions that when executed on one or more computers cause the one or more computers to collectively implement one or more services, wherein the program instructions cause the one or more computers to perform:
-
provisioning a plurality of resource instances as a pool of resource instances for one of the one or more services; designating one or more other resource instances as a pool of contingency resource instances for the one of the one or more services; providing the one of the one or more services using resource instances in the pool of resource instances; leasing at least a portion of the resource instances in the pool of contingency resource instances for use by another one of the one or more services; detecting a condition warranting use of the at least a portion of the resource instances in the pool of contingency resource instances by the one of the one or more services; in response to said detecting; revoking a lease on the at least a portion of the resource instances in the pool of contingency resource instances; removing the at least a portion of the resource instances in the pool of contingency resource instances from the pool of contingency resource instances; and provisioning the at least a portion of the resource instances removed from the pool of contingency resource instances as resource instances for the one of the one or more services. - View Dependent Claims (16, 17, 18, 19)
-
Specification