An apparatus, comprising: a device including at least one memory adapted to store run-time data for the device, and at least one processor that is adapted to execute processor-executable code that, in response to execution, enables the device to perform actions, including: selecting categories of virtual machines from a plurality of categories of virtual machines; for each selected category of virtual machine, recording, over time, a cardinality of virtual machines of the selected category that are requested for provisioning; for each selected category of virtual machine, using a prediction algorithm to predict a cardinality of virtual machines for the selected category to be requested in the future, such that the prediction algorithm weighs under-prediction of the cardinality of virtual machines as costlier than over-prediction of the cardinality of virtual machines; determining, for each selected category of virtual machines, an error between the predicted cardinality of virtual machines for the selected category and an actual number of virtual machines requested for the selected category; for each selected category of virtual machine, composing and booting a cardinality of virtual machines of the selected category of virtual machines with partially provisioned virtual machines such that the cardinality of virtual machines of the selected category is the predicted cardinality of requested virtual machines for the selected category, wherein partially provisioned virtual machines are virtual machines that are configured except with respect to user-specific settings; and causing the booted partially provisioned virtual machines to enter a state in which the booted partially provisioned virtual machines are polling for a configuration with user-specific compute settings and user-specific networking settings. selecting categories of virtual machines from a plurality of categories of virtual machines; for each selected category of virtual machine, recording, over time, a cardinality of virtual machines of the selected category that are requested for provisioning; for each selected category of virtual machine, using a prediction algorithm to predict a cardinality of virtual machines for the selected category to be requested in the future, such that the prediction algorithm weighs under-prediction of the cardinality of virtual machines as costlier than over-prediction of the cardinality of virtual machines; determining, for each selected category of virtual machines, an error between the predicted cardinality of virtual machines for the selected category and an actual number of virtual machines requested for the selected category; for each selected category of virtual machine, composing and booting a cardinality of virtual machines of the selected category of virtual machines with partially provisioned virtual machines such that the cardinality of virtual machines of the selected category is the predicted cardinality of requested virtual machines for the selected category, wherein partially provisioned virtual machines are virtual machines that are configured except with respect to user-specific settings; and causing the booted partially provisioned virtual machines to enter a state in which the booted partially provisioned virtual machines are polling for a configuration with user-specific compute settings and user-specific networking settings.