Method and system for abstracting a non-functional requirement based use of virtual machines

A system and method for allocating resources in a cloud environment (100) includes providing an abstraction layer (130) between a cloud environment and one or more data processing centers (120, 121, 122) by creating a virtual hypervisor (132) Interface for application programming. In response to a workload request from the one or more data processing centers, resource and virtual machines (144) are instantiated in the one or more data processing centers using the virtual hypervisor so that non-functional workload requests using the virtual hypervisor at the abstraction level are addressed become.