Patent ID: 8224465

Claim:
An apparatus within a distributed computing environment, said apparatus comprising: a processor device performing: coordinating tasks of a performance manager and an application placement manager, to estimate capacity needs of various services of said particular service and adjusting placement of said applications providing said services onto servers in the distributed computer system; computing a desired capacity to achieve said quality of service level defined for said particular service using configuration parameters provided by a system configuration manager; employing said desired capacity in determining a placement of said plurality of applications onto at least one server in said computer system in accordance with a placement policy; computing a capacity limit of said particular service to said plurality of applications based on said placement; and determining an allocation of capacity to satisfy said quality of service level subject to said placement and capacity limit; wherein said step of computing a desired capacity includes optimizing achievement of the quality of service while disregarding any application placement constraints; wherein said function of employing comprises using a capacity estimator for determining when desired capacities are satisfied by a current application placement, when satisfied using the current application placement as a solution to an application placement problem; when not satisfied, using the desired capacity as an input into a method for solving the application placement problem; and wherein said function of computing a capacity limit includes examining an application placement matrix and capacity of servers within said computer system; wherein said function of determining an allocation of capacity includes solving an optimization problem to achieve the quality of service, said optimization problem is constrained by the application placement matrix, and said plurality of applications satisfying a plurality of service requests for said various services; and further comprising: monitoring performance of the computer system in meeting the quality of service guarantee, when the quality of service guarantee is not being met; and the step of monitoring is performed based on a monitoring criterion, and repeating the steps of: computing a desired capacity; employing; computing a capacity limit; and determining a capacity adjuster until the quality of service guarantee is met for all service requests and said various services, and providing said on-demand provisioning of the plurality of applications satisfying said quality of service guarantee for said applications.