To assessment the applications during failures, we tested the applications in NS-2 simu- lator after testing them on real scenarios. The performance of applications represented by metrics, if these metrics are violated, the performance of applications is degraded. We introduced the three types of failures to the applications and see the behavior of the metrics of applications.
By the assessment of the applications performance, we found that web, le and dis- tributed applications have less eect from the failures than the real time application and highly interactive applications. File and distributed applications can work properly even if there are failures, they just work with less performance. Also the chatting application can work with failures. Web, real time (voice, video) and highly interactive applications can not work during failures and they need for mitigation of the failures.
We solved the problem of bandwidth decreasing and the delay time increasing by using the virtual machine migration, and also the bit error rate failure we used the same technique in addition to the forward error correction technique on the channel as a second mitigation technique. In FEC there is no any devices or applications redundancy, the re- dundancy just in data on the same link and same devices which contain the failures. We used it in case the migration is not in an easy way and take long time to migrate. Also, FEC is better than VM migration if used to mitigate BER and this let the applications performance increased.
By solving failures and keep the performance of applications acceptable, we assured the SLA QoS and services performance, even if there is any failures may occur. All this in addition to assure a minimum value for response times metric which is the time to response to any critical failures as mentioned in SLA document.
In the next chapter, we will review most of the challenges we have faced during this thesis work. Also we will provide briey how we solve those challenges or deal with them.
Chapter
XI
Challenges
"Being challenged in life is inevitable, being defeated is optional" Roger Crawford
In this chapter, we introduce some of the challenges we faced while developing and testing cloud applications hosted on cloud data centers. In this thesis work, we faced many challenges during our research and development work. We start by introducing the new trend challenge in the rst Section 11.1. Then we introduce some challenges related to cloud computing applications in Section 11.2. We then discuss some of the challenges we faced while exploring the cloud data center failures in Section 11.3. We conclude this chapter by describing the challenges in the testing and implementation of our scenarios in Section 11.4.
11.1 New Trend
Our work in this master thesis is a new trend in the cloud computing applications and cloud data centers research and development. Usually, the cloud services providers com- panies provide a SLA between them and cloud customers. The companies veried that there are no violations to SLA and guarantee that the services availability and perfor- mance is about 99.99%. But, when the SLA document and contract release between cloud providers and cloud customers, it should be veried by another third party. Our work in this thesis is represent the work that the third party should do to verify that there is no violations to SLA really. And this is the novelty in our work, where there was nobody do this before. So, this work represent a new trend in the cloud computing data centers and cloud services providers and here it is the challenge.
11.2 Cloud Computing Applications
While trying to research for nding the cloud applications and testing them, we faced two main challenges. The rst is that the diversity of cloud applications which is in Sub- section11.2.1. The second is the searching for models to test the applications in reality, and this is in Subsection 11.2.2.
11.2.1 Diversity of Cloud Applications
To test cloud applications and get the performance of applications during failures in the cloud data center. We need to identify cloud applications. Because of the speed spreading of the cloud applications, there are many popular applications used by the cloud users. We faced a big challenge while identifying the cloud applications that hosted on cloud data centers due to the huge amount of the numerous cloud applications. To solve this challenge we categorized the cloud applications into eight dierent classes of applications such as web, le, distributed, real time, highly interactive, high performance, massive data analysis and mobile computing applications.
11.2.2 Model for Testing Cloud Applications
After classifying cloud applications into 8 classes, we need to test them and see their performance in the environment of failures. We were looking for models for testing each class of applications in reality, but unfortunately we didn't nd what we want exactly however there are many work related with that. We solve this challenge by building a real environment for testing each class of applications and get a mathematical based models (power equations) for testing those classes.
11.3 Cloud Data Centers
The cloud data center architecture is much complicated and there are many components inside the data center like the cooling systems and the power systems in addition to the network inside the data center. Network is consisting of a group of connected devices such as switches , routers, load balancers and servers,.. etc. We just focus on the network of the data center where it related to our work. There are many failures in the network of the cloud data centers e.g. the device failures, server failures, soft failures,...etc and that is the challenge. Due to the diversity of the failures, it is dicult to introduce all those failures. Also, it is dicult to introduce those failures in the simulator or in the real scenarios for testing applications. So, we solved this challenge by introducing failures similar to the network failures such as the bandwidth degradation, delay time increasing on the link and the bit error rate.