# Providing Predictable Quality of Service in a Cloud-Based Web System
## 2 Related Work and Motivations  
Cloud computing uses distributed systems to achieve the very high demand for computational power and quality of service. Load balancing and sharing methods are used to distribute tasks and requests among nodes in the system [12]. Those methods help to reduce utilization of the resources, improve the response times, and enable scalability [13; 14]. Web-based cloud systems that are publicly available for users usually use simple solutions as far as of load distribution is concerned. For example, Amazon Web Service (AWS)--the largest player on the cloud-computing market, provides the following algorithms in the web switches available for use [10]: Round-Robin, which is a carousel algorithm forwarding requests to subsequent servers, Last-Loaded that assigns HTTP requests to the nodes with the least loaded servers, and Path-based routing in which requested resources are assigned to given web servers. Distribution strategies for cluster-based systems have been developed for a long time and nowadays, they are adapted to new structures and solutions of cloud-based systems. Load balancing and sharing strategies can be divided into three main categories [12; 15; 16; 17; 18]--static, dynamic, and adaptive. In static load balancing, decisions are made using deterministic or probabilistic algorithms that do not take into account the current state of the system. Round-Robin and Path-based routing are a good example of such strategies. In a dynamic approach, load balancing assignments are conducted based on the current state of the system. The most popular dynamic load balancing algorithm is Least Load. The adaptive approach includes the most complex solutions. Decisions are made on the basis of the state of the system, however the strategy can change when the state of the system is changing [19]. The majority of the adaptive strategies are intelligent approaches. Some specialists [20] claim that only those approaches can effectively provide the acceptable service time in web traffic conditions, typically characterized by self-similarity and burstiness [21; 22; 23]. Many studies have been conducted on the application of artificial intelligence mechanisms in distribution strategies. Some of the algorithms use natural-phenomena-based strategies. A good example of such a strategy is the Artificial Bee Colony (ABC) whose decision mechanism imitates the behavior of bees [18]. Another strategy is Particle Swarm Optimization (PSO) which is based on an algorithm taking into account the costs of service and transmission [24; 25]. Artificial neural networks also have been used in adaptive load distribution systems [26; 27]. The problem of providing guaranteed services in web systems has been the topic of much recent research [28; 29; 30; 31; 32; 33]. Most of the works focus on providing differentiated services for classes of clients using priority-based scheduling. However, proposed solutions allow the quality of the web services to be retained only for a specific group of users, and it is connected with rejecting requests of other users. There have only been a few works devoted to the problem of providing predictable services [34; 35; 36]. Many previously designed solutions providing guaranteed services for web systems can be applied in cloud-computing web systems. Unfortunately, most of them do not fit well to the architecture and the structure of the cloud. There have not been many works devoted to the problem of designing solutions for guaranteed and predictable services provided in cloud-based web systems [37; 38; 39; 40]. The author's latest works were devoted to the problem of adapting solutions designed for cluster-based web systems to the specificity of work in the web cloud. Intelligent FNRD (Fuzzy-Neural Request-Distribution) web switches working in two layers of the cloud--the region and zones, have been used [41; 42; 43]. The web switches were using a neuro-fuzzy decision system estimating the HTTP request service times.