1. A system, comprising: a computer processor; and a memory containing a program that, when executed on the computer processor, performs an operation, the operation comprising: assigning workloads to a plurality of virtual machines, wherein each of the plurality of virtual machines is associated with one or more workload characteristics defining an expected amount of computer resources required for executing the workloads assigned to the virtual machine; assigning the plurality of virtual machines to a plurality of servers by comparing the workload characteristics to combined, available resources of at least two of the plurality of servers, wherein each of the plurality of servers are physically separate computing devices; upon determining the combined available resources satisfy the workload characteristics, stitching the at least two of the plurality of servers together to form a stitched server, wherein the at least two of the plurality of servers share a same hypervisor instance; and assigning at least one of the plurality of virtual machines to be executed on the stitched server.