• 沒有找到結果。

Cloud computing [1] has become the most promising next-generation computing platform recently. Some cloud computing service providers have begun to provide commercial services, such as Amazon EC2 [2], Google App Engine [3] and Microsoft Azure [4]. Cloud computing is usually divided into three layers of services [5]: Infrastructure as a Service (IaaS), Platform as a Service (PaaS), and Software as a Service (SaaS). The concept of SaaS [6] has caused a revolution in how we develop and use software applications. Service-Oriented Architecture (SOA) [6] is one of the important underlying technologies to develop such kind of cloud services, which are usually composite services in the sense that they are developed by composing several existing services together. Software development and deployment based on the new models of SaaS and SOA is expected to bring a lot of benefits for both developers and users.

However, before the benefits to be realized, .developers of composite cloud services are confronting several new issues which were not seen in developing traditional stand-alone or simple web-based applications. Service selection and composition is one of the important issues which deals with how to efficiently and effectively select among existing services and put the selected services together to develop new composite cloud services with some Quality of Service (QoS) goals in mind. More specifically, the Service Selection Problem (SSP) [7] is the challenge regarding optimally selecting services from several functionally appropriate or equivalent ones with an optimization objective and under some QoS constraints. A solution to the SSP is a set of feasible assignments of specific services to the tasks within a composite cloud service, which can achieve the optimization goal and satisfy the OoS constraints.

Users and providers of composite cloud services might have different concerns regarding how to select appropriate services. For users, several QoS aspects might be of concern, such as reliability, throughput, security, and response time. On the other hand, the most concern of providers is usually the total cost of services since it affects their attainable profits greatly.

Usually, there will be Service Level Agreements (SLA) between users and cloud service providers, which define the contracted performance of concerned QoS aspects and the penalties for violation of the contracted QoS. Therefore, for cloud service providers, the SSP becomes a constrained optimization problem aiming to minimize the cost function with respect to the constraints of SLA, where the cost function takes into consideration both service usage costs and penalties for SLA violation. In this thesis, we focus on one of the most important QoS aspects, the response time of the entire composite cloud service, and develop service selection approaches to minimizing the total costs for service providers under the regulation of SLA.

The SSP has been extensively studied in the literature, such as [8] [9] [10] [11]. However, in those studies, the SSP was addressed based on deterministic performance parameters, e.g., service response time. On the other hand, in practice we know that most performance parameters are not always deterministic and rather follow a stochastic distribution. To address the gap between most existing studies and the reality, in this thesis, we propose two service selection approaches for minimizing the costs of providing a composite cloud service, including the fees for using existing services and penalties for SLA violation, in a dynamic cloud environment where services’ response time varies stochastically due to dynamically changing workload or other uncertainties.

To cope with the issue of stochastic performance variation, our first approach is based on an iterative process consisting of an Integer Linear Programming (ILP) [12] procedure, a

simulation process, and an adaptation step, which is similar to the structure in [7]. In the ILP procedure, costs and deterministic response time of services are used to formulate an optimization problem and then find an optimal solution to the SSP. In the second step, the simulation process, we simulate the execution of the composite cloud service with the services selected in the first step in a dynamic environment where the response time of services varies stochastically. Based on the simulation results, the third step makes an adaptation to the solution of the SSP. The three steps are repeated until a good enough solution is found based on some criteria. In contrast to the first approach, our second approach is a one-step method based on the Chebyshev’s theorem [13] and nonlinear programming [14], which takes into consideration the stochastic performance variation in the objective function. In addition to reduced steps, another advantage of the second approach is the capability of enforcing an upper bound on QoS violation while minimizing the costs.

The proposed approaches were evaluated with a series of simulation experiments and compared to the method in [7]. The method in [7] tries to reduce QoS violation through choosing services with smaller standard deviation of response time in the adaptation step. In our approaches, we take into consideration not only services’ standard deviation of response time but also services’ costs when selecting services, in order to effectively reduce the total costs.

The experimental results indicate that our approaches outperform the previous method in [7]

and have the potential to improve the profits for cloud services providers through reducing the total costs of using existing services and QoS violation penalties. In addition, the second approach can in general achieve better results than the first approach in most cases.

The reminder of this thesis is organized as follows. Chapter 2 discusses related works on the SSP. We present our two service selection approaches in chapter 3. Chapter 4 evaluates

the proposed approaches and compares it with an existing method. Chapter 5 concludes this thesis.

相關文件