It has become common for individuals and organizations to use networked computers to perform and assist with a wide variety of tasks. Rather than own and maintain physical computer hardware and a suitable data networking environment, it is becoming more and more common to provision virtual computer systems and other virtual computing resources at a specialized provider of such virtual resources. Use of virtual computing resources can provide a number of advantages including cost advantages and/or ability to adapt rapidly to changing computing resource needs. However, conventional virtual resource providers have a number of shortcomings.
In many ways, virtual computing resources emulate their physical counterparts, and virtual resource providers ultimately implement provisioned virtual resources with various sets of physical computing hardware and other implementation resources. Virtual resource providers may differ in how implementation resources are allocated to virtual resources, as well as with respect to ongoing allocation management, and the various virtual resource management amenities that are made available to users. Virtual resource providers typically enforce an independence between provisioned virtual resources and the underlying implementation resources, since this allows for sophisticated allocation management strategies that can, for example, yield low virtual resource failure rates and high cost efficiency. This can be an advantage from a user perspective since management of physical computing hardware and other such implementation resources can be complex and expensive. However, sophisticated users may find some aspects of virtual resource provider behavior non-optimal.
Unfortunately for such users, conventional virtual resource providers typically provide limited customization options in this respect. Enabling customization of virtual resource provider behavior for some users without compromising service to other users is challenging. Modern virtual resource provider control systems are sufficiently complex that even well intentioned customizations can have problematic unintended consequences.
Same numbers are used throughout the disclosure and figures to reference like components and features, but such repetition of number is for purposes of simplicity of explanation and understanding, and should not be viewed as a limitation on the various embodiments.