1. A method of managing a plurality of applications comprising application instances running on a plurality of computer servers, the method comprising: receiving at least one policy for managing the applications over the computer servers; receiving usage information indicating performance of the applications and the computer servers; applying the at least one policy to the usage information to determine whether policy violations exist; and determining and executing a modification action of the applications in response to the policy violation.