1 Introduction

The allotment over the Internet for faster innovation of computing services such as networking, software, analytics, savings, servers, databases, and intelligence is known as cloud computing [1]. Cloud services are now revolutionizing and evolving in the information technology (IT) industry. It has evolved into a customary service by reason of the faster advancement of information and communication technologies [2]. Organizations are interested in agreement services from the cloud providers rather than possessing the resources to offer those services [3]. Therefore, there has already emerged an enormous amount of cloud computing service providers like Amazon, Google, GoGrid, Microsoft, etc. As a result, cloud computing has been getting massive popularity in recent years [4]. Various options are provided by them varying in the quality of service (QoS) along with costs. The benefits of both clients and providers beget to a rapid increase in cloud computing services along with various characteristics. As a result, it has been becoming more difficult to choose the best cloud service which fulfills and meets user necessities and business aids along with objects that somewhere clash with one another [5,6,7,8]. This study aims to develop an expert system in order to find out the optimal cloud computing services among all possible alternatives considering multiple opposing decision criteria [9]. This study also focuses on handling all sorts of risks and uncertainties towards making the optimal decision.

To adapt to the extended use of internet technology, the number of cloud service-providing companies has been expanded which eventually puts the clients at a challenge to pick the optimal cloud service provider. However, researchers around the world accepted this challenge gladly and worked on finding a solution. Tran et al. [10] tried to evaluate web service-providing companies by proposing QoS-based ranking algorithm analytic hierarchy process (AHP) model for designing as well as developing a suitable system that could find the best cloud service provider. On the other hand, for comparing among several cloud services Li et al. [11] established a cloud-CMP framework. The performance of the applications offered by different cloud service providers can easily be measured by their established methodology. A hybrid approach of analytic network process (ANP) and VIseKriterijumska Optimizacija I Kompromisno Resenje (VIKOR) was proposed to select the best cloud service [12]. Prioritization of software requirements are also solved by using rough set approach which helps decision-maker to take exact opinion in the time of software requirement process [13].

For selecting a reliable service provider considering all the requirements of clients, a method founded by a cooperative model was proposed by Bedi et al. [14] where the fuzzy inference system (FIS) was evolved to control the uncertainty. Despite having vague or uncertain inputs, the FIS can determine output correctly in maximum cases. In their study, they have shown the ranking framework applicability which brings a positive competition among cloud suppliers while fulfilling the clients’ requirements as well as QoS. They established their proposed framework by calculating all the attributes of QoS and then ranked cloud services using the AHP method [15]. To choose the desired cloud computing service, Tianyi et al. [16] proposed a multi-criteria decision-making (MCMD) methodology based on the AHP. Their proposed methodology converts qualitative as well as semi-quantitative modified alternatives into quantitative numeric weights.

Shivakumar et al. [17] approached using fuzzy multi-criteria decision making for prioritizing cloud service providers regarding the QoS features. They compared the output generated by the AHP-based system to the recently prioritized study and found different circumstances. To calculate the cloud service performance of different companies, Wibowo et al. [18] offered a fuzzy MCMD approach. They used interval-valued intuitionistic fuzzy numbers to model the fuzziness as well as inherent subjectivity. They also established an operative algorithm for dealing with cloud service performance estimation. The algorithm is based on the TOPSIS method along with Choquet integral operator. Another approach for the decision-makers for solving the problem of performance estimation as well as improving the quality of services of cloud providers was presented by Abdel-Basset et al. [19]. Their system was established to estimate various cloud service areas with the help of neutrosophic multi-criteria decision analysis (NMCDA) to evaluate cloud service quality. To deal with the existence of unclear and discordant information in the performance assessment process, they used triangular neutrosophic numbers. The determinant conditions of the neutrosophic analytic hierarchy process (NAHP) resulted in an efficacious model.

On the other hand, for selecting an appropriate cloud service among various services measuring QoS parameters, Jatoth et al. [20] presented a hybrid multi-criteria decision-making model with the extended grey TOPSIS version. Their developed system determines the criteria-weights using AHP and then ranks alternatives with the grey TOPSIS. However, for dealing with uncertainties, grey numbers are added into TOPSIS in cloud service selection. They analyze their proposed methodology considering sensitivity analysis, adequacy under the change in alternatives, handling of uncertainty, and acceptability to keep up group decision-making.

Unfortunately, none of the above systems can handle uncertainties perfectly, which in most cases leads the system to choose an inapt alternative. Besides, none of the above systems can handle risk while ranking different cloud service providers. However, this paper proposes the generic FEA to develop the expert system for selecting optimal cloud service providers. The proposed method can deal with all sorts of uncertainties as well as risks while generating the most appropriate results.

2 Material and method

The proposed expert system uses the generic FEA [21], which can deal with multiple attribute decision analysis problems under risk and uncertainty for selecting the best cloud service provider. The FEA extracts features from the decision parameters to analyze and prioritize the alternatives. The proposed FEA is capable of making the right decision under both risk and uncertain conditions. The basic FEA approach can be illustrated under two basic conditions- decision making under risk and decision making under uncertainty. It is much more sophisticated in making decisions with absolute complete information or under the condition where both risky and uncertainty coexist. The task of selecting the top cloud service provider requires the utility ranking of different candidate service providers in terms of different decision attributes which is more likely to encounter some uncertain conditions like vagueness or partial information [22]. The entire FEA algorithm is explained in the next section according to domain nature.

2.1 Knowledge-base representation parameter

  1. 1.

    Decision attribute selection and input transformation Decision attributes are the parameters based on which the decision alternatives are evaluated to make the final decision. Attributes in the decision-making process can be qualitative, quantitative, or Boolean. In the feature extraction approach (FEA), the qualitative approach accepts input using some evaluation grades i.e. good, average, and poor, or high, moderate, and low. The quantitative information can be handled directly in the numeric format on a scale of 0 to 1. The Boolean data is acquired in two alternative options—yes and no. The FEA transforms the qualitative data into quantitative values for the simplicity of the calculation. In the case of Boolean data, yes is transformed into 1 and no into 0.

  2. 2.

    Weight allocation As all the attributes in the decision process are not consistently vital, it is essential to assign some relative importance among the decision parameters. The decision parameters are allocated with some numerical values in a 0–1 scale where 1 represents the most important attributes and 0 stands for the attributes with no importance. This paper [23] proposes the generic weight assignment process (GWAP) to evaluate each decision of attributes with some numerical values. The GWAP uses average term frequency to compute the weight of the decision parameters. Term frequency (TF) indicates the significance of a definite term within the overall document which otherwise expresses the weight of an attribute. The weight of an attribute α is calculated as, \(\left\{ {\left( {\frac{{\emptyset _{{\alpha^{\prime}d}} }}{{\mathop \sum \nolimits_{{\alpha ^{\prime} \in d}} \emptyset _{{\alpha ^{\prime},d}} }}~} \right) \div L} \right\}\); where d is the number of documents in a dataset and L is the total number of datasets, α^′ ∊ d defines documents that contain the attribute α.

  3. 3.

    Evidence collection In the FEA, the user needs to provide some evidence degree along with each input value. The evidence degree states the confidence level of the input provider about the input value. For example, if a user says that the ‘Service Quality of Microsoft’ is ‘Good’, the question arises to what extent the user is sure about the provided input. Users can hardly guarantee that the provided information is 100% certain. Consequently, at the information redemption stage, some uncertainties beget due to the human sensing factor. To capture these uncertainties, the FEA accepts input as well as the input provider’s evidence for the attribute i.e.{Service Quality of Microsoft (Good, 0.9)} which explicitly states that the user is 90% sure that the ‘Service Quality of Microsoft’ is ‘Good’.

2.2 Inference using feature extraction approach

  1. 1.

    Belief calculation Belief in the FEA is calculated by considering the attribute’s input and the user’s evidence about the provided input. Attribute’s belief calculation process can be mathematically expressed as,

    $${\text{Belief }} = {\text{attribute's input}} \times {\text{user's evidence about the input}}$$
    (1)
    $${\text{Belief}} = \mathop \sum \limits_{1}^{n} \begin{array}{*{20}c} {{\text{attribute's input}} \times } \\ { {\text{user's evidence about the input}}} \\ \end{array}$$
    (2)
  2. 2.

    Feature extraction In the FEA, the feature of an alternative is the special mathematical definition of an attribute that differentiates it from the attributes of all the remaining alternatives. If j is the participant attribute of a decision problem with a total number of i alternatives, the feature for j attribute is calculated as,

    $${\uptau }_{i,j} = {\upgamma }_{i,j} - {\updelta }_{j}$$
    (3)

    where \({\upgamma }_{i,j}\) determines the jth attribute of ith alternative and \({\updelta }_{j}\) is the minimum value of the jth attribute. \({\updelta }_{j}\) can be mathematically represented as \({\updelta }_{j} = {\text{min }}\left( {{\upgamma }_{i,j} } \right).{ }\).

  3. 3.

    Utility calculation and ranking The utility of different alternatives is calculated based on their probability mass. The utility of i number of alternative is measured as,

    (4)

Here, L is the total number of attributes of total N number of alternatives,

figure a

\(P_{i,j}\) is the probability mass of jth attribute of ith alternative and can be calculated as,

(5)

Here, \(\pounds_{j }\) is the relative importance of jth attribute. The ranking of the alternatives is accomplished in ascending order and the alternative with the maximum utility is considered as the best candidate. The optimal alternative,

(6)

2.3 Complexity handling

To remove the additional complexity, the proposed system applies the attribute-pruning technique [24]. Attributes that have the same inputs for all the alternatives are considered to have no potential impact on the decision-making process. These attributes are proposed to prune to avoid the unnecessary complexity of the inference system. Attributes that are weighted 0, are considered to have no importance in the decision-making process and are suggested to be eliminated from the decision-making practice.

3 System implementation

The proposed expert system for solving the optimal cloud service provider selection problem has been developed using the generic feature extraction approach for analyzing different types of decision parameters to assess the best alternative. The architecture of the proposed system is constructed with two basic components: a knowledge base and inference engine and is described in three distinct layers: presentation layer, application layer, and data management layer. The presentation layer describes the interface of the proposed system that mainly focuses on input acquisition and output visualization. The application layer consists of the generic feature extraction approach, which is a combination of a robust knowledge base and an inference engine. The data management layer provides all sorts of additional knowledge interactions. Figure 1 represents the architectural diagram of the proposed expert system.

Fig. 1
figure 1

Proposed system architecture

This application considers a total number of 12 decision attributes to rank the utilities of different alternatives. The considered attributes have 6 quantitative, 4 qualitative, and 2 Boolean parameters shown in Table 1. These decision attributes are collected from cloudharmony.com, cloudorado.com, and some popular cloud computing websites. Domain experts’ opinion has been taken to justify the attribute selection process. The attributes’ weights are determined by analyzing data collected from cloudharmony.com and cloudorado.com following the GWAP [23].

Table 1 Decision parameters

The experiment has been conducted over five leading cloud services-providing companies to select the best one under the considered criteria. The alternatives considered in this experiment are Amazon Web Service (AWS), Microsoft Azure (MA), Google Cloud (GC), IBM Cloud (IBMC), and Zettagrid.

Figure 2 presents the stepwise procedure of the Generic Feature extraction approach for ranking the cloud computing service provider.

Fig. 2
figure 2

Stepwise procedure for performing GFEA methodology

According to Table 2, it is seen that attributes of support for large organization (SLO) have the same input values for all the alternatives. Therefore, this attribute has no relevance to differentiating the performance of the alternatives and straight be clipped. Moreover, it drops the number of attributes, which in other words decreases the complexity of the algorithm. So, a total of 11 attributes are considered in this experiment for further processing.

Table 2 Different cloud services providers’ data

The provided input (high, 0.8) for SRT attributes of MA alternative describes that the input provider is 80% sure about the free support of MA. In other cases, the user provides 80% and 90% confidence about the input value for security in MA and GC are which can be written as, (moderate, 0.8) and (high, 0.9). Here, 20% and 10% of the information remains uncertain. The subjective evaluation of qualitative attributes is transformed into numeric values i.e. High can be transformed into 1, Moderate can be transformed into 0.5 and Low can be transformed into 0.1.

The basic knowledge base for this experiment is constructed with the help of five domain experts who are the main decision-makers of their organization from three different coutries Bangladesh, India and USA. They were preferred due to their proficiency. They helped in this experiment to make the knowledge base for handling the uncertain information in the dataset [21].

The proposed methodology suggests a way to capture the incomplete information provided by the user. The incomplete belief degrees are handled with the help of a belief rule-based knowledge base. The rule is constructed for the knowledge base with the help of domain experts which is represented in Table 3.

Table 3 Rule setup for knowledge base construction

In Table 1, the input for attribute security of alternative MA is (moderate, 0.8) where 0.2 is ignorance. This ignorance can be handled with the help of the system’s knowledge base (described in Table 3). The belief for the attribute ‘security’ of alternative MA can be calculated as,

$$\left( {{\text{Low}},0.{2}} \right) + \left( {{\text{moderate}},0.{7}} \right) + \left( {{\text{high}},0.{1}} \right) = \left( {0.{1} \times 0.{2}} \right) + \left( {0.{5} \times 0.{7}} \right) + \left( {{1}.0 \times 0.{1}} \right){\text{or}},0.{47}.$$

After successfully calculating the user’s belief, the minimum value for every particular attribute of every alternative needs to be calculated and presented in Table 4.

Table 4 Belief determination and attributes’ minimum value calculation

The feature extraction task for each attribute is accomplished by using Eq. (3) which is presented in Table 5.

Table 5 Attributes’ features extraction

Finally, the probability mass for every attribute is measured using Eq. (5). The aggregated probability mass of all the attributes of an alternative provides its utility of an alternative. The calculated utility scores of different alternatives are presented in Table 6.

Table 6 Alternatives' utilities calculation

Based on the utility score, the cloud service-providing companies are evaluated and ranked to consider the best company.

4 Result and discussion

To select the best cloud computing service, the maximum utility is measured in this investigation, as the maximum utility states the best performance.

To envision the accuracy of the proposed methodology, a relative assessment between the system-obtained results and conventional benchmark results is presented in Table 7. There are some other quality of service (QoS) attributes will be addressed in future for selecting optimal cloud service provider.

Table 7 A cross-validation of experimental results against benchmark results

The benchmark results are collected from the five decision-makers from different country-based organizations using nominal group technique (NGT).

To validate that the proposed FEA-based expert system provides the most accurate result in raking the cloud service providers, the proposed system has been compared with some popular existing expert systems represented in Table 8. The same input values and attributes are considered to analyze and compare the performance with the other three established methods say, AHP, TOPSIS and RIMER. These three methods are also known as utility-based methods. Therefore, the utility score has been calculated and compared the score with the proposed methodology score.

Table 8 Experimental results obtained from different expert systems

A comprehensible comparison of the proposed FEA-based expert system to the available established systems has been represented in Fig. 3.

Fig. 3
figure 3

Utility representation of different expert system along with benchmark results

In Fig. 4, it is seen that different expert systems provide different ranking results. The FEA-based expert system ranks the cloud-service providers as AWS > Zettagrid > IBMC > GC and eliminates the MA as it does not place in the first four ranks where AHP ranks the service providers as, AWS > Zettagrid > MA > IBMS and drops GC. On the other hand, TOPSIS based expert system ranks the service providers as AWS > IBMC > Zettagrid > GC and eliminates MA alike the expert system developed with FEA. The RIMER-based expert system ranks the cloud service providing companies as AWS > Zettagrid > GC > IBMC and eliminates MA.

Fig. 4
figure 4

Aberration of different expert systems from benchmark results

So, to find the correct ranking results as well as the expert system that provides the most correct rank, results generated by expert systems are compared with the benchmark results.

From Fig. 4, it becomes clear that the FEA-based expert system provided the results closest to the benchmark results. So, it can be undoubtedly stated that only the FEA-based expert system provides accurate results. However, the other expert systems also choose AWS as the optimal cloud service provider which is technically correct. But if the best four cloud service providing companies are selected, all the discussed expert systems other than FEA provided the incorrect result.

The performance of different expert systems is checked again and a graphical representation of the deviation of different methodologies from benchmark results is provided in Fig. 4. The aberration of the experimented results from the benchmark results is calculated by their absolute distance. For example, the aberration AHP from the benchmark results in the case of AWS is \(\left|17.12-12.94\right|\) or, 4.18.

Figure 4 demonstrates that the FEA has the minimum deviation from the benchmark results, or in another sense, the result extracted from the FEA is the closest result to the benchmark. Hence, the performance of the FEA method in the case of the cloud service-providing selection problem is proven better than any other existing systems.

5 Conclusion

This paper recommends an expert system to find the optimal cloud service-providing company. The proposed system has been implemented using the generic feature extraction approach along with the optimized pruning technique. It handles uncertainties utilizing rule-based knowledge. The knowledge base of the expert system has been developed by some domain experts based on the knowledge extracted from cloudharmony.com, cloudorado.com, and some other cloud service-providing companies’ websites. The decision parameters of the proposed expert system have been prioritized depending on their relative importance on the ranking process. The relative importance of the decision attributes has been extracted by using the generic weight assignment approach. The methodology of the system focuses on explaining the decision-making approaches in terms of the cloud service provider ranking process. The numeric experiment explained in the system implementation provides a clear demonstration of the proposed system. There are some other QoS attributes will be addressed in future for selecting optimal cloud service provider.