Virtual provisioning with implementation resource boundary awareness
Virtual resources may be provisioned in a manner that is aware of, and respects, underlying implementation resource boundaries. A customer of the virtual resource provider may specify that particular virtual resources are to be implemented with implementation resources that are dedicated to the customer. Dedicating an implementation resource to a particular customer of a virtual resource provider may establish one or more information barriers between the particular customer and other customers of the virtual resource provider. Implementation resources may require transition procedures, including custom transition procedures, to enter and exit dedicated implementation resource pools. Costs corresponding to active and inactive implementation resources in a dedicated pools associated with a particular customer may be accounted for, and presented to, the customer in a variety of ways including explicit, adjusted per customer and adjusted per type of virtual resource and/or implementation resource.
1 . A method comprising:
receiving, at a control plane of a virtual resource provider, a request to create a reserved resource pool for hosting virtual computing systems for a customer account, wherein the reserved resource pool is to provide capacity via use of physical computing devices that are exclusively dedicated for use by the customer account to provide physical separation between virtual computing systems hosted for the customer account and virtual computing systems hosted for other customer accounts of the virtual resource provider;
receiving a request to instantiate a first virtual computing system, for the customer account, using the reserved resource pool;
determining that the reserved resource pool does not have sufficient capacity to host the first virtual computing system;
adding another physical computing device into the reserved resource pool, wherein the another physical computing device is a first physical computing device; and
provisioning the first virtual computing system via the first physical computing device of the reserved resource pool.
2 . The method of claim 1 , further comprising:
determining that an amount of utilization of the first physical computing device is below a threshold; and
removing the first physical computing device from the reserved resource pool.
3 . The method of claim 1 , wherein the customer account is a first customer account, and wherein the method further comprises:
configuring the reserved resource pool to be shared with a second customer account, causing the reserved resource pool to be exclusively dedicated for use by both the first customer account and the second customer account.
4 . The method of claim 3 , further comprising:
provisioning a second virtual computing system, via the first physical computing device, for the second customer account, wherein the second virtual computing system for the second customer account is hosted concurrently with the first virtual computing system for the first customer account using the first physical computing device.
5 . The method of claim 4 , wherein the first virtual computing system is of a first type that is different than a second type of the second virtual computing system, wherein the first type utilizes a different amount of at least one implementation resource than the second type.
6 . The method of claim 5 , wherein the first type utilizes a different amount of one or more of processing, memory, or storage resources than the second type.
7 . The method of claim 1 , further comprising:
as part of a maintenance process, migrating the first virtual computing system from the first physical computing device of the reserved resource pool to another physical computing device of the reserved resource pool.
8 . The method of claim 1 , further comprising:
prior to the provisioning of the first virtual computing system, identifying the first physical computing device for use in provisioning the first virtual computing system based at least in part on use of a policy or configuration provided by the customer account.
9 . A system comprising:
a first one or more physical computing devices of a virtual resource provider configured to provide shared infrastructure that is generally available to host virtual computing systems for customer accounts of the virtual resource provider;
a second one or more physical computing devices of the virtual resource provider configured to host virtual computing systems for a first customer account of the virtual resource provider, wherein the second one or more physical computing devices provide a reserved resource pool that is exclusively dedicated for use by the first customer account to provide physical separation between virtual computing systems hosted for the first customer account and virtual computing systems hosted for other customer accounts of the virtual resource provider via the first one or more physical computing devices; and
a control plane component of the virtual resource provider, the control plane component comprising instructions which when executed on or across a third one or more physical computing devices cause the control plane component to:
receive a request to instantiate a first virtual computing system, for the first customer account, using the reserved resource pool;
determine that the reserved resource pool does not have sufficient capacity to host the first virtual computing system;
add another physical computing device into the reserved resource pool, wherein the another physical computing device is a first physical computing device; and
provision the first virtual computing system via the first physical computing device.
10 . The system of claim 9 , wherein the control plane component further comprises instructions which when executed cause the control plane component to:
determine an amount of utilization of the first physical computing device is below a threshold; and
remove the first physical computing device from the reserved resource pool.
11 . The system of claim 9 , wherein the customer account is a first customer account, and wherein the control plane component further comprises instructions which when executed cause the control plane component to:
configure the reserved resource pool to be shared with a second customer account, causing the reserved resource pool to be exclusively dedicated for use by both the first customer account and the second customer account.
12 . The system of claim 11 , wherein the control plane component further comprises instructions which when executed cause the control plane component to:
provision a second virtual computing system, via the first physical computing device, for the second customer account, wherein the second virtual computing system for the second customer account is hosted concurrently with the first virtual computing system for the first customer account using the first physical computing device.
13 . The system of claim 12 , wherein the first virtual computing system is of a first type that is different than a second type of the second virtual computing system, wherein the first type utilizes a different amount of at least one implementation resource than the second type.
14 . The system of claim 13 , wherein the first type utilizes a different amount of one or more of processing, memory, or storage resources than the second type.
15 . The system of claim 9 , wherein the control plane component further comprises instructions which when executed cause the control plane component to:
as part of a maintenance process, migrate the first virtual computing system from the first physical computing device of the reserved resource pool to another physical computing device of the reserved resource pool.
16 . The system of claim 9 , wherein the control plane component further comprises instructions which when executed cause the control plane component to:
prior to the provisioning of the first virtual computing system, identify the first physical computing device for use in provisioning the first virtual computing system based at least in part on use of a policy or configuration provided by the customer account.
17 . A non-transitory computer-readable storage media storing instructions which, when executed by one or more physical computing devices of a virtual resource provider, cause the one or more physical computing devices to implement a control plane to perform operations comprising:
receiving a request to create a reserved resource pool for hosting virtual computing systems for a customer account, wherein the reserved resource pool is to provide capacity via use of physical computing devices that are exclusively dedicated for use by the customer account to provide physical separation between virtual computing systems hosted for the customer account and virtual computing systems hosted for other customer accounts of the virtual resource provider;
receiving a request to instantiate a first virtual computing system, for the customer account, using the reserved resource pool;
determining that the reserved resource pool does not have sufficient capacity to host the first virtual computing system;
adding another physical computing device into the reserved resource pool, wherein the another physical computing device is a first physical computing device; and
provisioning the first virtual computing system via the first physical computing device of the reserved resource pool.
18 . The non-transitory computer-readable storage media of claim 17 , wherein the operations further include:
determining that an amount of utilization of the first physical computing device is below a threshold; and
removing the first physical computing device from the reserved resource pool.
19 . The non-transitory computer-readable storage media of claim 17 , wherein the customer account is a first customer account, and wherein the operations further include:
configuring the reserved resource pool to be shared with a second customer account, causing the reserved resource pool to be exclusively dedicated for use by both the first customer account and the second customer account.
20 . The non-transitory computer-readable storage media of claim 19 , wherein the operations further include:
provisioning a second virtual computing system, via the first physical computing device, for a second customer account, wherein the second virtual computing system for the second customer account is hosted concurrently with the first virtual computing system for the first customer account using the first physical computing device.