1. A method for enforcing a policy associated with a virtual machine, the method comprising: receiving a virtual machine event request; receiving first data from within the virtual machine in response to receiving the virtual machine event request; receiving second different data from an environment outside the virtual machine in response to receiving the virtual machine event request; determining whether an internal non-compliance by the virtual machine of a first policy-based compliance scheme exists based on the first data; determining whether an external non-compliance by the virtual machine as provided in the environment of a second different policy-based compliance scheme exists based on the second different data; adapting at least one of the virtual machine and the environment by: in response to determining that an internal non-compliance exists, adapting the virtual machine to comply with the first policy-based compliance scheme by manipulating the virtual machine, and in response to determining that an external non-compliance exists, adapting the environment to comply with the second policy-based compliance scheme; and processing the virtual machine event request after adapting at least one of (i) the virtual machine and (ii) the environment.