Performance is the main characteristic when we adopt a Cloud solution. The Cloud must provide improved performance when a user moves to Cloud Computing infrastructure. Performance is generally measured by capabilities of applications running on a Cloud infrastructure. Poor performance can be caused by a bad resource management policy, limited bandwidth, lower CPU speed, memory, network connections etc. Many times users prefer to use services from more than one cloud (Multi-cloud infrastructure). In this situation, some applications are located on private Clouds while some other data or
applications being on public and/or community cloud. Our works on this sub-topic are concentrated around:
- Load balancing and QoS for Cloud computing : Cloud computing has grown in popularity in recent years thanks to technical and PAYG business model (Pay As You Go) benefits. In Cloud computing environments, application properties can be characterized by Quality of Service (QoS) requirements such as availability, security, reliability, load balancing, etc., as mentioned in the Service Level Agreement (SLA). To improve the efficiency of the Cloud infrastructures, we suggest an approach to make load balancing more dynamic to better manage the QoS of multi-instance applications in single and multi-clouds. This approach is based on limiting the number of requests that, at a given time, can be effectively sent and stored in queues of virtual machines through a queue load balancer for incoming user requests.
- Fault prevention: Fault prevention techniques attempt to eliminate any possibility of faults creeping into a system before it goes operational. To address this problem, we propose a learning system to learn from past cases and pro-actively adapting the behavior of a Cloud system, before the violation of QoS constraints.