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 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; and dynamically adjusting said plurality of instantiated execution resources for each of said application classes based on said estimated number of execution resources.