Keywords

1 Introduction

The cloud computing has been growing as an essential and leading computing platform for sharing resources like infrastructure, platform, software. Cloud computing has emerged as a new paradigm in the field of network-based services within many industries and application domains. The major benefits that it provides in terms of IT efficiency and business agility represent a huge competitive advantage for an organization. This has proven to be an essential requirement for extending many existing applications. The cloud computing is a latest way of computing and providing several scalable resources dynamically as well as virtualizing often those resources as a service over the Internet. There are three main service models available on the cloud computing environment such as Infrastructure as a Service (IaaS), Platform as a service (PaaS) and Software as a Service (SaaS).

The SaaS is a model that provides several uses to service consumers without installing any application locally. In order to use all advantages of SaaS model efficiently and effectively, there should be proper quality model to evaluate SaaS quality. The customers do not pay to possess the software itself but rather to use it, this concept of pay per use is very attractive and commonly used by many users and it had several advantages. In order to make use of the best of SaaS, it is required to examine the possible quality of SaaS. In fact, service providers have to evaluate their services against needs of service users in order to increase their service. Hence the available SaaS quality evaluation models are lacking to focus on all aspects of quality and services together. However, each customer is unique, which leads to a very large variation in the requirements of the software. Therefore, this paper presents a method to help customers to choose a better SaaS product satisfying most of their conditions and alternatives. This is also known that a good method of adaptive selection should be based on the correct definition of the different parameters of choice. For that reason, the proposed work states that extraction and analysis the various parameters involved in the process of the selection of a SaaS Application.

2 Related Work Towards SaaS Evaluation

The cloud computing will be in need of several numbers of interactions with varying quality requirements. Service quality has become a significant differentiator amid of cloud providers. In order to discriminate between service providers from various competitors and other cloud service vendors, there should be some measure to know superiority of services. Any standard quality model can be used to represent, measure and compare the quality of the software services on the cloud. The work has been done many researchers towards SaaS evaluation is comparatively very less till 2005, afterwards work have been improved towards SaaS evaluation till today and many methods were introduced as follows.

Jae Yoo Lee, Jung Woo Lee, Du Wan Chen, “A Quality Model for Evaluating Software as a Service in Cloud Computing” proposed a quality method that will help to examine the quality aspect of SaaS, based on the SaaS key features derived from primary SaaS features. They also described some standards to measure quality of SaaS based on the quality attributes. They validated and assessed their proposed quality model for evaluating SaaS’ quality; they used the standard EIRE 1061 and examined their work. Manish Godse, Shrikant Mulik, “An Approach for Selecting Software as a Service (SaaS) Product”, published and presented a new model based on Analytic Hierarchy Process (AHP) approach intended for ranking the SaaS features like functionality, vendor reputation, architecture, usability and cost. Qian Tao, Huiyou Chang, Yang Yi, Chunqin Gu, “A TRUSTWORTHY MANAGEMENT APPROACH FOR CLOUD SERVICES”, published work, the authors proposed trustworthy management for all cloud services based on non-functional QoS attributes like reputation, reliability, security, time, cost and availability. They also applied Data Mining PAM (Partitioning Around Medians) clustering algorithm for trustworthy management of all types cloud services. Chen Yiming, Zhu Yiwei, “SaaS Vendor Selection Basing on Analytic Hierarchy Process”, published work and they proposed a model for selecting Best SaaS vendor based on the same principles applicable to vendors rather than selecting SaaS Product. This model was analysed by using Analytic Hierarchy Process. Qiang He, Jun Han, Yun Yang and John Grundy Hai Jin, “QoS-Driven Service Selection for Multi-Tenant SaaS”, published and proposed a criterion for selecting a SaaS based on QoS parameters like cost, response time, availability and throughput. This method for service, selection was multi-tenant oriented. Pang Xiong Wen, Li Dong, “ Quality Model for Evaluating SaaS Service”, published and proposed, an advanced quality model measures the security, software quality of the SaaS and quality of service from the perspective view of a service provider and service user independently. Based on this proposed an evaluating model which classify the SaaS service into four levels, including basic level, standard level, optimized level and integrated level. By using the quality model and evaluating model, the customer can evaluate the provider and the provider can use it for quality management. Again, this model was based on key feature of SaaS. Xianrong Zheng, “CLOUD QUAL: A Quality Model for Cloud Services”, published in the proceedings of IEEE TRANSACTIONS ON INDUSTRIAL INFORMATICS. In this paper, the author has been considered a service perspective and initiates a quality model called as CLOUDQUAL for all type of cloud services. In this model, authors proposed quality model with set of dimensions and metrics that are applicable to all services on the cloud. CLOUDQUAL contains six set of dimensions for quality are security, elasticity, usability, availability, responsiveness and reliability. Out of all six dimensions usability is considered as subjective and all others have been considered as an objective. The author demonstrated with the help of Azure Blob, Aliyun OSS and Amazon S3, cloud storage services.

The above-described research work has been proposed for SaaS selection, and SaaS evaluations are based on different attributes, but many authors have been contributed based on key features and quality attributes in order to measure the quality of SaaS on the cloud computing. Even though there are some limitations and restrictions and challenges have been found. In order to face few challenges, the new model is proposed for SaaS evaluation inspired by the SERVQUAL and CLOUDQUAL for measuring general cloud services. The proposed model in this paper is focusing only on the software services on the cloud computing environment, and it is termed as Software as a Service Quality model (SAASQUAL).

3 Address Challenges and Concerns of SaaS

The new quality model is proposed to evaluate Software as a Service (SaaS) on the cloud. The cloud computing software service is completely different from conventional software services. For conventional software services, the standard mode is given to measure the internal characteristics and characteristics of software quality that is called as ISO/IEC 9126 Quality model. This standard was more helpful for conventional software service providers in order to measure their software product quality to fulfil service user requirements and also service user to identify the potential service as per their requirements. The ISO/IEC 9126 Quality model is explained in the following sections.

3.1 ISO/IEC 9126 Quality Model for Conventional Software Services

The standard quality model intended for software products is ISO/IEC 9126 standard. This standard describes the software quality in the form of characteristics. The first part of standard ISO/IEC 9126 presented a classification of software quality in a form of structured set of characteristics and sub-characteristics as shown in Fig. 1. All quality sub-characteristics is classified into several attributes. An attribute is a property that can be certified or evaluated in the software product.

Fig. 1
figure 1

ISO/IEC 9126 conventional software quality model

3.2 SaaS Development Life-Cycle (SaaS DLC)

The service development on cloud computing is in need of a different approach than conventional software development life-cycle, because SaaS development life-cycle becomes a significant success feature of the whole project for cloud providers. Within conventional software development surroundings, further prominence is to settle on the functional characteristic. Since it is situated on an on-premise infrastructure with strong inherent security, dominance, operational simplicity, conformity and alleged service magnitude requirements. An additional significant issue is the cost of operations. It has been repeatedly taking back seat, particularly at cost centres, due to the drop cost and straight payment models. The foremost objective of SaaS-DLC section is intended to achieve centre of attention on the life-cycle features of SaaS service development. This section also describes the inputs, motivation and deliverable of all phases of life-cycle. Cloud services have built for inside utilization as well as for disposing to outside customers. In order to develop cloud services for outside consumption, these development life-cycle needs meticulous architecture implementations to incorporate the service creed mandatory for a victorious business model for services. Therefore, the SaaS (Software as a Service) Development Life Cycle demonstrated here is to asses scope at outmost facing services. The process can simply adopted to inside and private cloud-based applications that aim at internal users. It has been suggested that every IT enterprise have to begin glancing at themselves as service providers and take step correspondingly. The SaaS Development life-cycle is different from traditional SDLC as depicted in Fig. 2.

Fig. 2
figure 2

SaaS development life-cycle (SAAS-DLC)

3.3 Cloud Service Principles

In order to use cloud services effectively to meet the requirement goals and specific targets in economically feasible manner, it is necessary for cloud services to be implemented on strong base. The strong foundation exhibits definite principles of cloud services. The principles have been identified for cloud services are different than conventional services and described as discoverable, detachable, economics, scalability, and supportability. about all these mentioned principles are discussed in the below section.

  • Discoverability: It is a service that can be taken care by service users with less human interaction on the part of the service provider throughout complete service lifecycle. This principle gives direction to service users by minimizing the gap between deployment and its vision. The major advantage of service discoverability is that it is minimizing the price of deal considerable expected to network outcome generated through the automation engines assist by service architecture.

  • Reachability: This principle is available for all and helps to service users bridge bigger enterprises and small business similar way. On the cloud platform, choosing service provider and suitable service architecture will entertain significant role in activating reachability of SaaS.

  • Economic Feasibility: This principle will help to measure consumer usage of service on the cloud at different scales. Any cloud service has to be affordable to operate and use. The service subscription amount should be higher than the grand total of the cloud service utilization cost both direct and indirect. Cloud service providers required to assist SaaS architects with cost-oriented service architecture (CSA) methods that include economical assets utilization as the fundamental principle.

  • Scalability: This principle demonstrates that cloud services have to supply the multi-tenant platform, which component needed to convey constant performance throughout various conditions of use. In a cloud deployment, all virtualized storage components are not supporting scalability constraints. The same considerations are verifiable for network and compute resources.

  • Supportability: This principle helps frequently to take a back respective to functionality in applications. The cloud service architecture should take care of suitability as one of underlying creed that gives direction towards designing solution and implementation. Incorporation to application subjects, supportability of SaaS should provide peak priority to availability, recovery, performance and disaster recovery because of the outward hosting environment.

4 SAASQUAL: Proposed Quality Model

The cloud computing provides many services. Every cloud service should possess some features. The general features of cloud services are shown in Fig. 3.

Fig. 3
figure 3

General features of cloud services

On the cloud computing environment, there are some key features mostly associated with software services. The essential trademark of SaaS is to recognize an evaluating quality model for SaaS as shown in Fig. 4, and it has become a essential to point SaaS essential features. From several meticulous evaluation quality methods proposed by many researchers [1, 2, 7, 9], the SaaS Key features are recognized as Reusability, Availability, Scalability, Pay for use, Customizability, Data Managed by Providers.

4.1 Model-Based Clustering Method

The proposed model is using clustering technique consists of forming groups of objects that possess similar characteristics. Clustering is the method that describes about similar objects in the intra-cluster and dissimilar objects in the inter-clusters. Attention towards clustering has been increased due to its many applications in various knowledge domains. There are so many clustering algorithms in data mining, out them the Model based Clustering algorithm hypothesize a model intended for every object belongs the clusters also identifies the foremost suitable of the data. A model-based clustering technique will discover clustering using a density function that considers the data items sparsity in each cluster. It also gives direction to find number of clusters depending on standard statistics automatically. One of the significant methods under model-based is EM clustering algorithm. EM clustering works based on the principle of maximum likelihood of unnoticed variables.

4.2 The EM Clustering

The EM algorithm is a type unsupervised learning clustering algorithm, that doesn’t need any training data stage. This algorithm is working rely upon mixture models of data mining clustering algorithms. It has been following an iterative process and sub-optimal method to identify the parameters within the probability distribution that have highest chance for its elements. The steps of EM clustering are

  • Given data set “x” is input to algorithm.

  • The complete number of clusters represented by “M”.

  • “e” is the acceptable error for the maximum number of iterations.

For every iteration, initially, the E-Step (E-expectation) is executed that gives estimation on the probability of each and every point suited to which cluster. Secondly, the M-step (Maximization) is executed that helps to re-estimates the parameter vector of the probability distribution of every cluster. Finally the EM clustering method stops when the distribution converge is met or stretch out the highest number of specified rotations or iterations.

The proposed quality model used to evaluate software as a service on the cloud. Initially, the data related to software service should be collected from various SaaS users with respect their feedback about product quality and stored in the form of relations. Then separate the SaaS key features data given on the scale of 1 to 10 rating so that the details available as a numeric data. Next, apply the EM model-based clustering algorithm on SaaS data and form a cluster. The clusters will form based on key features of SaaS. Each cluster quality can be measured by using some standard methods for quality measuring of clustering. The quality cluster will help to decide cloud user to select the most desirable features of SaaS, and SaaS providers can improve their product as per the clustering results suggestion to achieve enhancement of their product in order to retain customers in the competitive world. The workflow of SAASQUAL is shown in Fig. 4.

Fig. 4
figure 4

.

5 Conclusion and Further Enhancement

This paper described about a new quality model for evaluating SaaS on the cloud computing environment. The SAASQUAL model is useful for service users as well as service providers in the cloud to select SaaS and to provide SaaS as per user requirements. Further, it is proposed to use R tool for EM clustering and show different clusters based on the key features of SaaS [1] and associated metric to measure each quality attributes. In the future i has been intended that the proposed model can be implemented as automated tool for evaluating SaaS Quality.