1. A method for allocating compute nodes among cloud groups, the method comprising: creating policies for task-specific cloud groups for specifying conditions when a compute node will need to be borrowed by a task-specific cloud group as well as when said borrowed compute node is to be returned, wherein said borrowed compute node is a compute node assigned as a backup resource for one or more task-specific cloud groups, wherein each of said task-specific cloud groups comprises a plurality of compute nodes assigned to host a designated workload type; assigning priorities to said conditions in said policies for borrowing said compute node as well as to said task-specific cloud groups concerning borrowing said compute node; monitoring conditions of a cloud computing environment; allocating, by a processor, said borrowed compute node from a first task-specific cloud group to a second specific cloud group based on said priority assigned to said second task-specific cloud group, said priority assigned to a monitored condition of said second task-specific cloud group invoking said borrowing of said compute node and said monitored condition of said second task-specific cloud group satisfying a condition in said policy for said second task-specific cloud group as to when said borrowed compute node will need to be borrowed by said second task-specific cloud group; and migrating a workload to said borrowed compute node.