| CPC G06F 9/45558 (2013.01) [G06F 9/5077 (2013.01); G06F 2009/45562 (2013.01); G06F 2209/5011 (2013.01)] | 20 Claims |

|
1. A cloud provider system comprising:
a pool of virtual machines, wherein each virtual machine in the pool is usable to execute a task in response to an incoming request to execute the task, and the pool is divided into a plurality of sub-pools, wherein the plurality of sub-pools include at least a first sub-pool and a second sub-pool; and
a container service comprising computer hardware, wherein the container service is configured to manage and utilize the pool of virtual machines and is further configured to at least:
receive a request to execute a user code on a virtual machine in the pool on behalf of a user, wherein the request includes capacity configuration information indicating a type of computing resource and an amount of computing resource corresponding to the type of computing resource requested for executing the user code;
determine, based at least partly on (i) the amount of computing resource indicated by the capacity configuration information exceeding a first amount or range of amounts of computing resource provided by one or more individual compute instances within the first sub-pool and also exceeding a second amount or range of amounts of computing resource provided by one or more individual compute instances within the second sub-pool and different from the first amount or range of amounts provided by the one or more individual compute instances within the first sub-pool, or (ii) the type of computing resource indicated by the capacity configuration information not being supported by one or more individual compute instances within the first sub-pool and one or more individual compute instances within the second sub-pool, that a condition for adding an additional sub-pool to the pool of compute instances such that a total amount of computing resource in the pool is increased is satisfied;
create an additional sub-pool having a generational indicator that indicates that the additional sub-pool is new, wherein the generational indicator of the additional sub-pool is different from a generational indicator of at least one of the plurality of sub-pools;
update capacity configuration mapping information associated with the pool such that at least one code execution request that would have been directed to one of the plurality of sub-pools prior to the creation of the additional sub-pool would now be directed to the additional sub-pool;
initialize an additional virtual machine having a capacity configuration that is different from at least one of the virtual machines in the pool; and
cause the user code to be executed on the additional virtual machine.
|