Abstract
The widespread adoption of cloud computing by several companies across diverse verticals of different sizes has led to an exponential growth of Cloud Service Providers (CSP). Multiple CSPs offer homogeneous services with a vast array of options and different pricing policies, making the suitable service selection process complex. Our proposed model simplifies the IaaS selection process that can be used by all users including clients from the non-IT background. In the first phase, requirements are gathered using a simple questionnaire and are mapped with the compute services among different alternatives.In the second phase, we have implemented the Sugeno Fuzzy inference system to rank the service providers based on the QoS attributes to ascertain the appropriate selection. In the third phase, we have applied the cost model to identify the optimal CSP. This framework is validated by applying it for a gaming application use case and it has outperformed the online tools thus making it an exemplary model.
Introduction
In today’s competitive business world, the emergence of cloud adoption by many enterprises of all sizes has led to a major drift in the cloud industry. The cloud strategy offers different computing services [1] to full-fill their diverse requirements at variable cost. The cloud-based services also offer scalability, higher performance, little or no maintenance, and greater flexibility and so the majority of the businesses are opting for cloud adoption. Due to this, multiple cloud service providers are emerging every day with manifold options thus perplexing the selection process. One of the major daunting tasks is to select the demanding service [2] among several available options. There is an online cloud comparison tool 1 which tabulates the comparison between the popular CSPs including features like SLA availability, countries they operate in, certifications, developer tools, etc.
The service providers offer a variety of choices and each of them follows different standards, techniques which adds to the confusion. As it involves multiple characteristics to be considered for making decisions about the cloud service, it is meant to be a Multi-Criteria Decision Making problem (MCDM). Cloud Service Measurement Initiative Consortium (CSMIC) has developed the Service Measurement Index (SMI) to provide a method to calculate the quality and performance of cloud based services. This work is an extension of our previous work [3] (Accepted to publish in JIFS). In this paper, we have proposed a process by mapping the requirement specification to identify a cost-effective and precise solution that will be very helpful for novice non-technical users. We have created a generic framework for selecting the appropriate compute service by unifying the service description provided by the popular public cloud service providers. The key contributions of our paper are: We have designed a detailed questionnaire that would help to articulate the compute resource required and QoS parameters weightage Implemented Sugeno Fuzzy inference system that employs the conversion of linguistic input into crisp rank value to select the cloud service provider that matches the requirement Developed the cost estimation model to identify the optimal service
The remainder of this paper is organized as follows:
Section 2 explains about similar research works done. Section 3 explains in detail about the three different phases in the proposed model. Section 4 is about the results and discussions of applying this model for a use case and finally, we conclude this paper in Section 5 with suggestions for future work.
Related works
In this section we have provided the details of the laborious review of various research works carried out on cloud service provider selection using MCDM and fuzzy based approaches [2], and have correlated them with our implementation. A generalized model for a better selection of cloud service providers based on unified information has been proposed by Gui [4] but the solutions considered are static. The service provider is characterized by several functional and non-functional attributes among which some are quantifiable and some are not. Whaiduzzaman [5] has reviewed various MCDA techniques (AHP, ANP, TOPSIS, GRA, etc.) that are widely used as decision-making methods that can be used for cloud service selection. To enhance the accuracy of service selection, QoS attributes are also considered in decision making. Ma [6] has applied collaborative filtering and TOPSIS techniques on QoS attributes in four aspects viz., central tendency, variation range, frequency of variation and period but this is not expedient for a user with a specific requirement. Nawaz [8] has proposed the Markov chain decision process along with the BWM method to find out the priorities of QoS attributes but due to the unstable nature of the business, future usage prediction may not be accurate for selection. Al-Jabri [9] has implemented a group decision-making system using MCDM based on few criteria like Cost, Adaptability, Security, Privacy, etc. without considering some other significant attributes like interoperability, scalability, etc., which plays a vital role in the selection process. Sidhu [10] provides a comparative analysis of the trustworthiness of CSP using three different MCDM techniques, but the drawback of this model is that it depends on the effect of a large community of cloud clients which might be ill-natured. Time series data is considered for the service selection by ur Rehman [11] but the user requirement is not considered in this approach and is ranking different services of a single provider without considering multiple providers. Garg [12] has presented cloud services based on SMI KPIs and the relative weights of the QoS attributes have been applied for the selection. The non-quantifiable QoS attributes were omitted in this approach which should be included to provide a better ranking. Upadhya [13] has employed TOPSIS methodology to rank the user’s QoS requirement and selects the CS provider which satisfies the requirement that fails to capture the ambiguity in the QoS requirement. Guo [7] has considered the functional attributes of compute service that is received as user requirements and leveraged AHP to identify the relative weightage for CPU, RAM, and Storage, and has applied it for fewer service providers. A lot of researches have been done based on fuzzy based techniques to capture functional and nonfunctional desideratum of the desired application. Nagarajan [14] has applied min, max and alpha cut for fuzzy numbers for service selection by considering the user’s request based on the CPU, RAM, and HDD capacity but has not considered the non-functional requirements. Di Vimercati [15] and Supriya [16] have applied the FIS system to evaluate CSP providers to get the trust value, whereas our proposed system has considered SMI (Service Measurement Index) to measure the efficacy of the service provider. Tanoumand [17], Hussain [18], and Buyya [19] have used Fuzzy based MCDM techniques without considering any of the QoS attributes. In Fattah’s [20] approach trust is built for CSP by executing sample service on a trial basis and the result is used for the long term selection process. This might not be appropriate when the user requirements vary in the long run. Duan [21] has analyzed several performance measurement methods for different types of applications to infer optimal service type. Cloudorado 2 and Rightcloudz 3 are some of the online tools available for users to compare different cloud services. The first tool considers only workload parameters (RAM, Storage, CPU cores and OS) without considering any of the Qos attributes whereas the other tool includes QoS attributes on a high level and are domain specific in nature. Our proposed approach focuses on aiding the users with limited IT skills for cloud service provider selection by acquiring their requirements through questionnaires that are straightforward. We convert the user specification in fuzzy values into crisp values using Sugeno Fuzzy inference system.
Proposed system
The architecture diagram shown in Fig. 1 exhibits the overall workflow of our proposed model.

Architecture diagram.
The phases in our proposed system are, Collect user requirements using elaborate questionnaires and translate them to identify appropriate instance type and size, and their preferences for QoS attributes Use the Sugeno Fuzzy Inference System to rank the different public cloud providers and identify the one that succeeds in meeting the user’s desideratum Cost estimation model to estimate the instantiation and maintenance cost
The major public cloud providers offer a wide range of instance types and sizes which vary in vCPU, disk capability, memory size and hence make the selection process extremely challenging. Table 1 summarizes the different instance types provided by the major public service providers like AWS, Azure, Google Cloud, and Rackspace.
Different instance types
Different instance types
We should consider different workload parameters to decide on the instance family type and size. The user requirements are gathered using an easy to understand questionnaire, which will be translated to workload parameters. Based on the user’s response the instance family type and size are determined as shown in the Fig. 2.

Instance type selection.
However, this is just an approximate sizing estimation and after the deployment, the performance should be continuously monitored to adjust the instance sizing.
Which of the following describes your requirement? Simple Web application Financial application Gaming application Ad serving engine Data warehousing In-house application Batch processing jobs Big data application Video/Image processing application Scientific modelling application
What is the expected traffic pattern? All time Only in business hours Seasonal peaks Certain time every day Limited access Not sure
Which type of environment will use it? Dev Staging Prod
What is the preferred payment model? Pay as you go 1 year upfront 3 years upfront
Do you need additional data storage? Yes No
Does your application need real time processing of big unstructured data? Yes No
How many users will be accessing your application at a time? Less than 50 50 to 100 100 to 500 Moer than 1000
How complex is the operations involved in the application? Simple Medium Complex
What is the response time tolerance? < 3 ms 3ms to 10 ms > 10 ms
Does the application involve more read and write operations? Yes No Not sure
Cloud service provider selection involves considering multiple attributes. For example, the cheaper cloud service need not be highly reliable or have better performance. So this makes it a perfect candidate for Multi-criteria decision making method. There is no evident approach to quantify the QoS attributes of cloud service providers which makes it difficult for users to specify their requirements as definite values. So we are using a fuzzy based approach to translate user requirements into crisp value [0,1]. The user’s QoS requirements are captured using an elaborate questionnaire which is explained in detail in our previous work [3].
Cloud service provider selection (CSPS) algorithm outlines the steps for finding the optimal cloud service provider. The input is the user requirements collected through the questionnaires for resource demand and QoS preferences. We map the application type to instance type and deduce the workload parameters to interpret the instance size. In parallel, we rank the cloud service providers based on the quality of service rendered using the Sugeno Fuzzy system. Then we build the second level Sugeno system to match the user requirement with the ranked CSP to conclude the suitable provider.
CSPS Algorithm.
There are four stages in the Sugeno fuzzy system. The first stage is to define the membership function to model the linguistic description. A membership function for a fuzzy set A on the universe of discourse X is defined as A:X [0,1], where each element of X is mapped to a value between 0 and 1. Though there are multiple membership functions available, we have chosen the triangular membership function as it’s efficient and takes less memory. The second stage is rule evaluation where we formulate ‘If – Then’ rules and it can be represented as If x1 is

Two level Sugeno fuzzy system.
Cost is estimated for the chosen instance specification identified from 3.1 for all the top Cloud Service Providers. The outcome-based on user preferences using Sugeno FIS need not be satisfying all the criteria i.e for example, the service derived as low cost may not give high performance and vice versa. The cost of the compute engine is calculated based on the instance type and its usage over a month as well as storage needed to utilize the VM. Some service providers include storage cost by default with the machine cost while in some others it comes with extra charge. The cost is calculated as below and please check the Table 2 for the details of the parameters used.
For example, if an application requires 2 compute optimized instances with 8 vCPU which will be used for 250 hours a month and requires EBS volume of 120 GB with the expected data transfer of around 10 TB per month then the total cost is calculated as,
TC = (2 * 0.34 * 250) + 12 + (0.09 * 10000) = $272 per month
P ins – The cost of the instance may vary based on the OS chosen. For example, the cost of the instance with Windows OS is higher when compared to Linux OS. We have considered only the on-demand cost of the instance, whereas the cost will be much less in the case of reserved instances.
Parameters used for cost calculation
Use Case: From the choices given by a small gaming enterprise, we have mapped the acquired input with system specifications which has the minimum configuration required to run the desired application. This gaming server is needed to host a minimum of two games at a time and capable to support up to 50 players and the preferable operating system would be Linux, expected availability is 24x7 and high response time, with the support of 120GB SSD for primary drive and 1 TB HDD secondary drive and 16GB RAM and flexible payment mode is preferred.
Phase 1
Based on the specification given, compute-optimized instance type is the most suitable virtual machine for hosting the gaming application. In this context, multiple providers render innumerable services and so it’s a tedious task for the user to make the right choice on the sizing of the instance. To narrow down the options further, we have identified the other criteria like CPU and memory requirement based on which we can guesstimate the instance size. These details are shown in Table 3.
Matching compute instance
Matching compute instance
This application needs high response time and better performance and should be available all the time. The QoS attribute values for the public cloud service providers are taken from various resources like Cloudharmony and are applied in the first level of the Sugeno system for evaluation using Matlab. The triangular membership function is formulated with values ranging between 0 to 1 as given in Fig. 4 for Scalability and exhaustive rules are framed to cover up all the possible values for QoS parameters. For example, the Sugeno FIS properties for Agility is shown below along with the Rule view in Fig. 5 and Surface view in Fig. 6. Membership function:
Name: “agility”
AndMethod: “prod”
OrMethod: “probor”
ImplicationMethod: “prod”
AggregationMethod: “sum”
DefuzzificationMethod: “wtaver”
Inputs: [1 X 5 fisvar]
Outputs: [1 X 1 fisvar]
Rules: [1 X 240 fisrule]

Member function for Scalability.

Rule viewer for agility.

Surface viewer for agility.
The crisp value is thus derived for the CSPs and are shown in the Table 4.
Phase 2 - results
In the second level of the fuzzy system, the rules are formulated based on the user requirement for QoS attributes. For the specified use case, if the company emphasizes performance rather than Finance then the rules will be formulated as in User Requirement 1 (UR1) and if Finance and Assurance are of equal importance then the rules will be as in User Requirement 2 (UR2) shown in Table 5.
Different user requirements
Our proposed system is implemented using Matlab Fuzzy Logic designer. The working of the systems is evaluated by considering business solutions that vary in configurations. The results of our findings are tabulated in Table 6. The outcome of the evaluation expresses that S1 satisfies the requirement which demands higher performance (UR1), S2, and S5 are marginally lower as depicted in Fig. 7. When the requirement gives equal importance to Finance and Assurance (UR2) S1 and S2 service providers satisfy their needs when compared with the other 3 service providers.
Sugeno fuzzy system - results

User requirements.
For the mentioned use case, as per the user need gathered via questionnaire and non-functional parameters to judge the reliability of the CSPs have been evaluated using Fuzzy based approach. From the said approach we infer that S1 and S2 render the compute services more or less equally for UR2 but they differ in cost especially when they require additional storage services. Table 7 shows the cost for a month for the specified use case from the popular public cloud services that are available.
Cost of the instances
Cost of the instances
The cost may also differ based on the platform on which the application runs like for example, if the same application runs in Windows OS the cost will be double than that on Linux.
Several online resources and tools are available for the recommendation of compute service but they consider only the hardware configurations and cost irrespective of the application type. We have compared the proposed model with online tools like Cloudorado, cloudcomparisontool, Rightcloudz etc. which are intended for the same purpose. The Cloudarado tool accepts CPU, RAM, Storage etc., as input and ranks the cloud service provider based on cost which is depicted in Fig. 8. In our model we recommend the instance type based on the work load parameters derived from the questionnaires and propose the optimal cloud service provider by considering all the functional and non-quantitative requirements from user’s perspective.

Cloudarado tool.
In the fast growing cloud computing paradigm, the selection of right IaaS services is a challenging task for every business that intends to migrate to the cloud. We have proposed a unique user-centered design for selecting the optimal cloud service compute plan, especially for novice users. To simplify the selection process, our system gathers requirements in abstract form which are automatically mapped to functional and non-functional parameters that constitute the service plan. The Fuzzy inference system is utilized to represent the user’s linguistic requirement to quantify and assess the service providers.Our proposed model stands out to be unique as it gathers extensive requirements in layman terms to decide on all the required parameters needed for making IaaS compute service selection. This work can be extended to include Machine learning for improving the accuracy of selection and to include emerging services.
