1. A computer program product embodied in a non-transitory computer readable storage medium for performing maintenance operations on a cloud computing node, the computer program product comprising the programming instructions for: receiving an indication that a maintenance operation is to be performed on said cloud computing node; identifying one or more virtual machines in said cloud computing node that will be affected by said maintenance operation; relocating said one or more virtual machines to one or more other cloud computing nodes prior to said maintenance operation; performing said maintenance operation on said cloud computing node; and relocating one or more of said one or more virtual machines back to said cloud computing node and/or to one or more other cloud computing nodes after said maintenance operation on said cloud computing node is completed in response to a need to rebalance resources in such a manner.