Cloud platforms provide great opportunities to application vendors to offer their product as a service to their customers at potentially significant cost savings. However, this also introduces challenges in capacity planning and performance management of these solutions. For application vendors have little choice but to rely on the cloud provider to ensure acceptable performance level for their end customers. Cloud vendors are faced with dynamically changing workload and may have little control over widely distributed server and storage farms across possibly heterogeneous networks. The end user can only rely on the application provider and cloud vendor for the perceived application performance. This state of affairs makes it difficult to offer meaningful service level agreements (SLAs).