A system for profiling computing resource usage, the system comprising: one or more processors; a computer-readable memory including executable instructions that, when executed by the one or more processors, configure the system to: determine an operating constraint for an instance of a first virtual machine from operating metrics determined from running at least an instance of a second virtual machine, wherein the operating metrics vary over at least a portion of a lifecycle of the instance of the second virtual machine, wherein the second virtual machine is a virtual machine instantiated at the request of a same customer as the first virtual machine, wherein the operating constraint relates to an expected usage amount of a computing resource provided by a host computing device on which the first virtual machine is to be instantiated, wherein the operating constraint varies over at least a portion of a lifecycle of the instance of the first virtual machine; receive a request to instantiate the first virtual machine; and in response to the request: identify a host computing device, of a plurality of host computing devices, the identified host computing device having one or more operating characteristics related to the operation of virtual machine instances, the identification based partly on whether the one or more operating characteristics satisfy the operating constraint, wherein at least one of the one or more operating characteristics comprises memory capacity, central processing unit - CPU - capacity, network bandwidth, network latency, position within a network topology, instruction set, or variance of a performance metric; and responsive to identifying that the host computing device has one or more operating characteristics that satisfy the operating constraint, cause a new instance of the first virtual machine to be instantiated on the host computing device. one or more processors; a computer-readable memory including executable instructions that, when executed by the one or more processors, configure the system to: determine an operating constraint for an instance of a first virtual machine from operating metrics determined from running at least an instance of a second virtual machine, wherein the operating metrics vary over at least a portion of a lifecycle of the instance of the second virtual machine, wherein the second virtual machine is a virtual machine instantiated at the request of a same customer as the first virtual machine, wherein the operating constraint relates to an expected usage amount of a computing resource provided by a host computing device on which the first virtual machine is to be instantiated, wherein the operating constraint varies over at least a portion of a lifecycle of the instance of the first virtual machine; receive a request to instantiate the first virtual machine; and in response to the request: identify a host computing device, of a plurality of host computing devices, the identified host computing device having one or more operating characteristics related to the operation of virtual machine instances, the identification based partly on whether the one or more operating characteristics satisfy the operating constraint, wherein at least one of the one or more operating characteristics comprises memory capacity, central processing unit - CPU - capacity, network bandwidth, network latency, position within a network topology, instruction set, or variance of a performance metric; and responsive to identifying that the host computing device has one or more operating characteristics that satisfy the operating constraint, cause a new instance of the first virtual machine to be instantiated on the host computing device. determine an operating constraint for an instance of a first virtual machine from operating metrics determined from running at least an instance of a second virtual machine, wherein the operating metrics vary over at least a portion of a lifecycle of the instance of the second virtual machine, wherein the second virtual machine is a virtual machine instantiated at the request of a same customer as the first virtual machine, wherein the operating constraint relates to an expected usage amount of a computing resource provided by a host computing device on which the first virtual machine is to be instantiated, wherein the operating constraint varies over at least a portion of a lifecycle of the instance of the first virtual machine; receive a request to instantiate the first virtual machine; and in response to the request: identify a host computing device, of a plurality of host computing devices, the identified host computing device having one or more operating characteristics related to the operation of virtual machine instances, the identification based partly on whether the one or more operating characteristics satisfy the operating constraint, wherein at least one of the one or more operating characteristics comprises memory capacity, central processing unit - CPU - capacity, network bandwidth, network latency, position within a network topology, instruction set, or variance of a performance metric; and responsive to identifying that the host computing device has one or more operating characteristics that satisfy the operating constraint, cause a new instance of the first virtual machine to be instantiated on the host computing device.