I. Introduction
Recently, the Cloud Computing (CC) is considered the most attractive platform for many of the Application Service Providers (ASPs). Cloud allows ASPs to get online access for virtual infrastructure resources such as Virtual Machines (VMs) and containers to deploy their applications at any time from anywhere. ASP gets resources from the Could Service Provider (CSPs) according to Service Level Agreement (SLA) between them. Although the cloud is a suitable environment to host many of the applications services, the Quality of Service (QoS) such as service availability is raised as a real concern issue. Many of ASPs expect their applications services to be available during their lifetimes. Application availability refers to the duration of the time the application is fault tolerant and available for the end user [1].