Deployment of virtual machines for tiered applications in cloud systems with optimized resource allocation based on availability SLAS
Deploying and managing high availability-tiered application in the cloud is challenging, as it requires providing necessary virtual machines to make the application available. An application is available if it works and responds in a timely manner for varying workloads. Application service providers need to allocate specified number of working virtual machine copies for each server with at least a given minimum computing power, to meet the response time requirement. Otherwise, we may end up with response time failures. This thesis formulates an optimization problem that determines the number and type of virtual machines needed for each server to minimize the cost and at the same time guarantees the availability SLA (Service-Level Agreement) for different workloads. The results demonstrate that a diverse approach is more cost-effective than running on a single type of virtual machine, and buying only the cheapest virtual machines for an application is not always economical.