1. A method comprising: monitoring workloads of a plurality of application classes, each of said application classes describing services provided by one or more applications in a multi-tiered system, and each of said application classes comprising a plurality of instantiated execution resources; estimating, for each of said application classes, a number of execution resources able to handle said monitored workloads, to simultaneously maintain a multi-tiered system response time below a determined value and minimize a cost per execution resource, wherein said multi-tiered system response time is maintained below the determined value and said cost per execution resource is minimized by optimizing a payoff function defined for each of said application classes, wherein said payoff function defined for each of said application classes depends on: a workload arriving at an application class; a local response time of said application class; and a unitary cost for instantiating an execution resource for said application class; and for each one application class of said plurality of application classes: dynamically adjusting said plurality of instantiated execution resources comprised in said one application class based on said estimated number of execution resources, said dynamically adjusting comprises increasing or decreasing the number of execution resources for an application class for said monitored workload for said application class.