1. In a communication network having a plurality of computational resources for servicing a plurality of application environments, a method for enabling resource sharing, comprising: a) monitoring quality of service provided from a plurality of components coupled together in a first application environment supporting a first application; b) determining whether a plurality of service level objectives are satisfied, each of said plurality of service level objectives associated with one of said plurality of components; and c) optimizing the number of computational resources from said plurality of computational resources in each of said plurality of components in order to satisfy said plurality of service level objectives.