1. A system, comprising: a plurality of physical servers operating in a computing environment, a physical server configured to provide virtual resources at an initial level to a plurality of virtual machines; a cloud controller that manages virtual resources for the plurality of virtual machines, the cloud controller further configured to: receive a request to increase a first virtual resource to an increased level for a first virtual machine from the plurality of virtual machines that is provided by a first physical server from the plurality of physical servers, determine whether a free virtual resource for the first physical server is sufficient for the request at the increased level, and increase, in response to the free virtual resource being insufficient for the request, the first virtual resource by: selecting a second virtual machine using a second virtual resource on the first physical server, determining a second physical server available to support the second virtual machine, migrating the second virtual machine from the first physical server to the second physical server, and increasing the first virtual resource by an amount of virtual resources vacated by the second virtual resource.