1. A method comprising: classifying a plurality of systems into a plurality of groups, wherein each group is in view of at least one of a virtual machine type, a virtual machine application, or a virtual machine function; identifying, by a processor, one of the plurality of groups in view of a match of (a) specifications in a request to instantiate a virtual machine with (b) an inventory of resources available at the one of the plurality of groups; selecting at least one of the plurality of systems in the one of the plurality of groups; and instantiating the virtual machine on at least one system in the one of the plurality of groups.