US2014304404A1PendingUtilityA1

Scaling a virtual machine instance

55
Assignee: AMAZON TECH INCPriority: Aug 23, 2012Filed: Jun 23, 2014Published: Oct 9, 2014
Est. expiryAug 23, 2032(~6.1 yrs left)· nominal 20-yr term from priority
G06F 9/45533G06F 9/5022H04L 43/16G06F 9/5005G06F 2209/5022G06F 9/5077G06Q 30/04
55
PatentIndex Score
0
Cited by
0
References
0
Claims

Abstract

Techniques are described for scaling of computing resources. A scaling service is utilized that allocates additional computing resources (e.g., processors, memory, etc.) to a virtual machine instance (or other compute instance) and/or de-allocates computing resources from a virtual machine instance according requests and/or thresholds. In addition to the foregoing, other aspects are described in the description, figures, and claims.

Claims

exact text as granted — not AI-modified
What is claimed is: 
     
         1 . A computer implemented method comprising:
 under the control of one or more computer systems configured with executable instructions,
 causing, by a host computing device running in a service provider environment, a virtual machine to be provisioned on the host computing device; 
 receiving, from a scaling service running in the service provider environment, a request to adjust resources allocated to the virtual machine; and 
 in response to receiving the request, adjusting allocation of one or more computing resources to the virtual machine. 
   
     
     
         2 . The computer implemented method of  claim 1 , wherein the scaling service further performs:
 monitoring one or more metrics associated with running the virtual machine;   detecting that the one or more metrics have passed at least one specified threshold; and   transmitting the request to adjust resources allocated to the virtual machine to the host computer device in response to detecting that the one or more metrics have passed the specified threshold.   
     
     
         3 . The computer implemented method of  claim 1 , wherein a monitoring service executing on the host computing device is configured to
 monitor one or more metrics associated with the virtual machine;   detect that the one or more metrics have passed a threshold; and   adjust the allocation of the one or more computing resources in response to detecting that the one or more metrics have passed the threshold.   
     
     
         4 . The computer implemented method of  claim 1 , wherein the scaling service further performs:
 receiving a request to adjust resources allocated to the virtual machine from a customer via an application programming interface (API); and   transmitting the request to adjust resources allocated to the virtual machine in response to receiving the request.   
     
     
         5 . The computer implemented method of  claim 1 , further comprising:
 continuing to allocate the one or more additional resources to the virtual machine until a predetermined limit is reached; and   provisioning one or more additional virtual machines to distribute a workload of the virtual machine across one or more additional virtual machines.   
     
     
         6 . The computer implemented method of  claim 1 , wherein adjusting the allocation further includes:
 determining that one or more additional virtual machines are needed to satisfy at least one of: redundancy, availability or durability associated with at least one service provided by the virtual machine; and   provisioning the one or more additional virtual machines.   
     
     
         7 . The computer implemented method of  claim 1 , wherein the virtual machine further includes a guest agent that reports one or more metrics associated with executing the workload. 
     
     
         8 . The computer implemented method of  claim 1 , further comprising:
 billing the user based at least in part on the one or more resources of the host computing device allocated to the virtual machine in response to the request from the scaling service.   
     
     
         9 . The computer implemented method of  claim 1 , further comprising:
 providing an electronic marketplace that enables a customer to obtain resources of the host computing device to be allocated to the virtual machine for a fee, the fee being based at least in part on demand and supply of the one or more resources.   
     
     
         10 . The computer implemented method of  claim 1 , further comprising:
 receiving, by a placement service, an API request requesting that the virtual machine be scalable;   determining, by the placement service, that the host computing device includes capacity to add additional resources to the virtual machine; and   provisioning, by the placement service, the virtual machine onto the host computing device.   
     
     
         11 . A computing system, comprising:
 at least one processor; and   memory including instructions that, when executed by the processor, cause the computing system to:
 receive a web service request related to adjusting resources allocated to a virtual machine running in a service provider environment provision a virtual machine for a user; and 
 in response to receiving the request, cause a server hosting the virtual machine to allocate one or more computing resources to the virtual machine. 
   
     
     
         12 . The computing system of  claim 11 , wherein the web service request contains one or more input parameters that specify the computing resources to allocate to the virtual machine. 
     
     
         13 . The computing system of  claim 11 , wherein the web service request contains one or more input parameters that specify a set of conditions in response to which the server is instructed to adjust the computing resources allocated to the virtual machine. 
     
     
         14 . The computing system of  claim 11 , wherein the memory further comprises instruction that upon execution cause the computing system to:
 monitor one or more metrics associated with running the virtual machine;   detect that the one or more metrics have passed at least one specified threshold; and   transmit the request to adjust resources allocated to the virtual machine to the host computer device in response to detecting that the one or more metrics have passed the specified threshold.   
     
     
         15 . The computing device of  claim 11 , wherein the scaling service further performs:
 receive a request to scale the virtual machine from a customer via an application programming interface (API); and   transmit the instruction to scale the virtual machine in response to receiving the request.   
     
     
         16 . The computing device of  claim 11 , wherein the memory further comprises instructions that, when executed by the processor, cause the computing device to:
 continue to allocate the one or more additional resources to the virtual machine until a predetermined limit is reached; and   provision one or more additional virtual machines to distribute a workload of the virtual machine across one or more additional virtual machines.   
     
     
         17 . The computing device of  claim 11 , wherein the memory further comprises instructions that, when executed by the processor, cause the computing device to:
 determine that the user has selected to the virtual machine instance of a type that is capable of being scaled by allocating the computing resource in response to the web service request; and   bill the user based at least in part on the type of the virtual machine selected by the user.   
     
     
         18 . The computing device of  claim 11 , wherein the memory further comprises instructions that, when executed by the processor, cause the computing device to:
 provide an electronic marketplace that enables a customer to purchase one or more additional resources of the computing device based at least in part on demand and supply of the one or more resources on the computing device.   
     
     
         19 . The computing device of  claim 11 , wherein provisioning the virtual machine for the user further includes:
 receive, by a placement service, an Application Programming Interface (API) request requesting that the virtual machine be scalable; and   provision, by the placement service, the virtual machine onto the host computing device.   
     
     
         20 . A non-transitory computer readable storage medium storing one or more sequences of instructions executable by one or more processors to perform a set of operations comprising:
 causing a virtual machine to be provisioned for a user on a host computing device, the virtual machine capable of executing a workload;   receiving an instruction to scale the virtual machine, the instruction received from a scaling service to the host computing device, the scaling service residing externally with respect to the host computing device; and   in response to receiving the instruction, adjusting allocation of one or more computing resources to the virtual machine, the one or more computing resources being allocatable by a hypervisor of the host computing device.   
     
     
         21 . The non-transitory computer readable storage medium of  claim 20 , wherein the virtual machine is provisioned by a shared resource computing environment service provider on behalf of at least one customer, and wherein the scaling service is deployed by the service provider. 
     
     
         22 . The non-transitory computer readable storage medium of  claim 20 , wherein the scaling service further performs:
 monitoring one or more metrics associated with the workload executed by the virtual machine;   detecting that the one or more metrics have passed at least one specified threshold; and   transmitting the instruction to scale the virtual machine instance in response to detecting that the one or more metrics have passed the specified threshold.   
     
     
         23 . The non-transitory computer readable storage medium of  claim 20 , wherein the scaling service further performs:
 receiving a request to scale the virtual machine from a customer via an application programming interface (API); and   transmitting the instruction to scale the virtual machine in response to receiving the request.

Cited by (0)

No later patents cite this yet.

References (0)

No backward citations on record.