61
Simple Cloud Service Selection in the Open Service Compendium Based on Dynamic Questionnaires and Property Statistics by Luna Alrawas Matriculation Number 358830 A thesis submitted to Technische Universität Berlin School IV - Electrical Engineering and Computer Science Department of Telecommunication Systems Service-centric Networking Bachelor Thesis June 3, 2016 Supervised by: Prof. Dr. Axel Küpper Assistant supervisors: Prof. Dr.-Ing. habil. Thomas Magedanz

Simple Cloud Service Selection in the Open Service ......Simple Cloud Service Selection in the Open Service Compendium Based on Dynamic Questionnaires and Property Statistics by Luna

  • Upload
    others

  • View
    3

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Simple Cloud Service Selection in the Open Service ......Simple Cloud Service Selection in the Open Service Compendium Based on Dynamic Questionnaires and Property Statistics by Luna

Simple Cloud Service Selection in theOpen Service Compendium Based onDynamic Questionnaires and Property

Statisticsby

Luna Alrawas

Matriculation Number 358830

A thesis submitted to

Technische Universität BerlinSchool IV - Electrical Engineering and Computer Science

Department of Telecommunication SystemsService-centric Networking

Bachelor Thesis

June 3, 2016

Supervised by:Prof. Dr. Axel Küpper

Assistant supervisors:Prof. Dr.-Ing. habil. Thomas Magedanz

Page 2: Simple Cloud Service Selection in the Open Service ......Simple Cloud Service Selection in the Open Service Compendium Based on Dynamic Questionnaires and Property Statistics by Luna
Page 3: Simple Cloud Service Selection in the Open Service ......Simple Cloud Service Selection in the Open Service Compendium Based on Dynamic Questionnaires and Property Statistics by Luna

Eidestattliche Erklärung / Statutory DeclarationHiermit versichere ich, dass ich diese Arbeit selbstständig verfasst und keine anderen als dieangegebenen Quellen und Hilfsmittel benutzt habe.

I hereby declare that I have created this work completely on my own and used no other sourcesor tools than the ones listed.

Berlin, June 3, 2016 Luna Alrawas

Page 4: Simple Cloud Service Selection in the Open Service ......Simple Cloud Service Selection in the Open Service Compendium Based on Dynamic Questionnaires and Property Statistics by Luna
Page 5: Simple Cloud Service Selection in the Open Service ......Simple Cloud Service Selection in the Open Service Compendium Based on Dynamic Questionnaires and Property Statistics by Luna

Acknowledgement

I would like to stop shortly to thank everyone who have given their time, assistance and pa-tience so generously throughout the last months.

First, I would express my gratitude to Mathias Slawik and Ilke Zilci for their patience, guid-ance and valuable input during the process of completing this thesis. I also want to thank SNETsection for providing me with access to their labs with its convenient atmosphere during mystudies.

This thesis would not be possible without your help. Thank you.

v

Page 6: Simple Cloud Service Selection in the Open Service ......Simple Cloud Service Selection in the Open Service Compendium Based on Dynamic Questionnaires and Property Statistics by Luna
Page 7: Simple Cloud Service Selection in the Open Service ......Simple Cloud Service Selection in the Open Service Compendium Based on Dynamic Questionnaires and Property Statistics by Luna

Abstract

With the rapid development of cloud computing, new cloud services are continuously com-ing into market [39] with distinct as well as heterogenous properties, which made the eval-uation and selection of desired cloud services a cumbersome task for service consumers. Inthat respect, there is an increasing need for user guidance and intermediation during the ser-vice selection process [27]. The main objective of this thesis is to develop a questionnaire, thatwould support the user in selecting a cloud service that matches their requirements. The aimis to contribute new cloud service selection approaches in the Open Service Compendium – acrowd-sourced platform for cloud services.

The first part of this study defines the concept of cloud computing. Current cloud-related ap-proaches are extensively analysed, including the different platforms and broker systems thatsupport the cloud service selection. Moreover, an overview of various non-cloud-related tech-nologies concerned with comparison and selection tools is provided, for the purpose of ad-dressing possible approaches in the selection of cloud services.

The methodologies and the concepts for the implementation of two different approaches arethen described. The first concept includes developing an extended filter for the cloud services,generated from the properties of the cloud services. The second concept includes building upa static as well as a dynamic questionnaire concerning the means of generating and displayingthe questions.

Finally, the thesis provides an analytical as well as empirical evaluation conducted as inter-views with different persons. The obtained results show potential validity and applicability ofproposed approaches, paving the path for various expansions of these approaches.

Keywords: Cloud Computing, Cloud Service Selection, Cloud Service Filter, Cloud ServiceQuestionnaire, Open Service Compendium

vii

Page 8: Simple Cloud Service Selection in the Open Service ......Simple Cloud Service Selection in the Open Service Compendium Based on Dynamic Questionnaires and Property Statistics by Luna
Page 9: Simple Cloud Service Selection in the Open Service ......Simple Cloud Service Selection in the Open Service Compendium Based on Dynamic Questionnaires and Property Statistics by Luna

Zusammenfassung

Infolge der schnellen Entwicklung von Cloud-Computing kommen neue Cloud-Services kon-tinuierlich in den Markt [39]. Diese besitzen die unterschiedlichen sowie heterogenen Eigen-schaften. Aus diesem Grund wird die Bewertung and die Auswahlmöglichkeit der gewün-schten Cloud-Services eine mühselige Aufgabe für die Cloud-Nutzer. Dementsprechend wächstder Bedarf, die Nutzer während des Service-Auswahlverfahrens anzuleiten und zu betreuen[27]. Im Rahmen dieser Arbeit wird ein Fragenbogen, welcher den Benutzer bei der Auswahleines passenden Cloud-Services unterstützen würde, erstellt. Das Ziel ist es, neue Ansätze imBereich Cloud-Service-Auswahl im Open Service Compendium System zu entwickeln.

Das erste Teil dieser Studie definiert das Cloud-Computing-Konzept. Gängige Cloud-bezogeneTechnologien, wie die verschidene Plattformen und Brokersysteme, die die Cloud-Service-Auswahl fördern, werden extensiv analysiert. Außerdem wird eine Übersicht über die ver-schiedenen nicht-Cloud-bezogenen Technologien, welche Vergleich- und Auswahltools anbi-eten, präsentiert. Dadurch werden die möglichen Ansätze in der Auswahl von Cloud-Servicesadressiert.

Die Methodologien und die Konzepte in der Implementation von zwei verschiedenen An-sätzen werden folgich beschrieben. Das erste Konzept beinhaltet die Entwicklung eines erweit-erten Filters für die Cloud-Services, der von den Eigenschaften der Cloud-Services generiertwird. Das zweite Konzept beinhaltet das Erstellen eines Fragebogens mit zwei Typen, statischund dynamisch, welche zu der Art der Erzeugung und des Abbildens von den Fragen gehört.

Schließlich werden analytische sowie empirische Evaluationen durchgeführt. Die Letztewird durch Interviews mit mehereren Personen erreicht. Die erhaltene Ergebnisse zeigen diepotentielle Viabilität und Anwendbarkeit der vorgeschlagenen Ansätze, um den Weg für ver-schiedene Erweiterung von diesen Ansätzen zu bahnen.

Keywords: Cloud Computing, Cloud Service Selection, Cloud Service Filter, Cloud ServiceQuestionnaire, Open Service Compendium

Page 10: Simple Cloud Service Selection in the Open Service ......Simple Cloud Service Selection in the Open Service Compendium Based on Dynamic Questionnaires and Property Statistics by Luna
Page 11: Simple Cloud Service Selection in the Open Service ......Simple Cloud Service Selection in the Open Service Compendium Based on Dynamic Questionnaires and Property Statistics by Luna

Contents

1 Introduction 11.1 Motivation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11.2 Research Questions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21.3 Approach and Research Methodologies . . . . . . . . . . . . . . . . . . . . . . . . 2

2 Background and Related Work 52.1 Cloud Computing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5

2.1.1 Definition . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52.1.2 Service Models . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6

2.2 Cloud Related Technologies . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 82.2.1 Cloud Comparison and Benchmark Platforms . . . . . . . . . . . . . . . . 82.2.2 Cloud Marketplaces . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 92.2.3 Cloud Management Platforms . . . . . . . . . . . . . . . . . . . . . . . . . 10

2.3 Comparison Portals . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11

3 Concept and Design 133.1 Application Environment and Methodologies . . . . . . . . . . . . . . . . . . . . . 133.2 Proposed Approaches: The Design . . . . . . . . . . . . . . . . . . . . . . . . . . . 14

3.2.1 Properties-Based Filter . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 143.2.2 Statistics of Service Properties . . . . . . . . . . . . . . . . . . . . . . . . . . 153.2.3 Static and Dynamic Questionnaires . . . . . . . . . . . . . . . . . . . . . . 16

4 Implementation 194.1 OSC Technical Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 194.2 Tools . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 204.3 Statistics Implementation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 204.4 Pre-Phase: Architecture Approaches . . . . . . . . . . . . . . . . . . . . . . . . . . 214.5 Filter and Questionnaires Implementation . . . . . . . . . . . . . . . . . . . . . . . 23

4.5.1 Static Questionnaire . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 234.5.2 Filter . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 254.5.3 Dynamic Questionnaire . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 264.5.4 Architecture Adjustment . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27

5 Evaluation 295.1 Analytical Evaluation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 295.2 Empirical Evaluation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29

xi

Page 12: Simple Cloud Service Selection in the Open Service ......Simple Cloud Service Selection in the Open Service Compendium Based on Dynamic Questionnaires and Property Statistics by Luna

5.3 Evaluation Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31

6 Summary and Future Work 336.1 Future Work . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 336.2 Publication of the Source Code . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34

7 Conclusion 35

List of Figures 37

Bibliography 39

Appendices 43

Appendix A 45

Appendix B 47

Page 13: Simple Cloud Service Selection in the Open Service ......Simple Cloud Service Selection in the Open Service Compendium Based on Dynamic Questionnaires and Property Statistics by Luna

1 Introduction

Cloud computing is the current state-of-the-art in the IT industry. It has become more thana storage service, evolving into a completely new paradigm by abstracting and outsourcinghardware and software resources over the internet. Dedicated cloud computing products andservices quickly emerged, and companies proved eager to attach cloud computing bumperstickers onto existing products to take part in the massive market attention [23]. The trend ofmoving to the cloud has led to a rapid increase in the number of cloud providers and serviceson offer, raising, in its turn, an apparent problem that faces the cloud consumers, which is: howto select a cloud service that best matches their requirements.

1.1 MotivationCurrent State Computing is being transformed to a model consisting of services that are com-

moditized and delivered in a manner similar to traditional utilities such as water, elec-tricity, gas, and telephony. In such a model, users access services based on their require-ments without regard to where the services are hosted or how they are delivered. Severalcomputing paradigms have promised to deliver this utility computing vision and theseinclude cluster computing, Grid computing, and more recently Cloud computing [3].

As a major application model in the era of the internet, cloud computing has become asignificant research topic of the scientific and industrial communities since 2007 [28]. InOctober 2007, cloud computing was first introduced to the public through a cooperationbetween two companies, IBM and Google [13]. Since then, cloud computing has beenreceiving tremendous attention from the IT industry and academic researchers. Cloudcomputing leverages its unique services to cloud customers in a pay-as-you-go, anytime,anywhere manner. Cloud services provide dynamically scalable services through theinternet on demand. Therefore, service provisioning plays a key role in cloud computing[42].

These factors have led to a rapid increase in both the number of cloud vendors and ser-vices on offer [30]. The wide variety of cloud services came into market with distinct aswell as heterogenous properties, leading to an increasing difficulty to the end-point userswhen making a choice of selecting a cloud service that matches their needs.

Problem Statement With the rapid development of cloud computing, new cloud services arecontinuously coming into market, offering an elastic and scalable IT task force in termsof storage space and computing capabilities which are essential to most business owners[39]. Enterprises are increasingly moving their IT environments into the cloud, reducingoperating costs by converting from a business model reliant on hardware and software

1

Page 14: Simple Cloud Service Selection in the Open Service ......Simple Cloud Service Selection in the Open Service Compendium Based on Dynamic Questionnaires and Property Statistics by Luna

2 Chapter 1. Introduction

ownership, to one based on utility service consumption [27].

While this has fuelled the large growth in cloud services, the growing number of cloudservices with their heterogenous offerings makes it difficult for the potential users toweigh and decide which options suit their requirements the best [39]. An efficient com-parison between available cloud services that takes into account both: using appropriatemethods that consider the dimensions and parameters of cloud consumers’ requirements,and the unified and fair use of comparable criteria across heterogeneously described ser-vices [27] becomes an apparent challenge to the users due to the increasing diversity ofoptions. Multiple aspects have to be taken into account: performance, cost, specific fea-tures, long term management issues, etc [31].

In this context, cloud brokers play an important role in managing the use, performanceand delivery of cloud services, and negotiating relationships between Cloud Providersand Cloud Consumers [2]. However, most cloud brokers feature non-formalised offer-ing descriptions. This abstinence of a service formalisation impedes cloud consumers’capabilities to both rapidly assess the fulfilment of their selection criteria and to comparedifferent services uniformly [34].

Despite the ambiguity and the lack of service properties formalisation, the majority ofcloud brokers and cloud comparison tools offer static options and filters to assest thecloud service selection process. Personalised assessment could only be achieved throughdirect contact with the cloud broker providers. Changes of services formalisations couldlead to an out-dated filter and comparison options, unless re-implemented to be up-to-date with the upcoming and new technologies and features of cloud services.

1.2 Research Questions1. Analytic Evaluation

a) What are the current cloud-related technologies, that assess the cloud service selec-tion process?

b) What are the current non-cloud-related technologies, that possess powerful com-parison and selection tools? And how can a similar successful user experience becreated in a cloud service selection platform?

2. Scope: Cloud Service Selection

a) How can cloud service properties be analysed?

b) How can cloud consumers be assessed with the selection process?

c) What requirements and criteria does a dynamic selection questionnaire need?

1.3 Approach and Research MethodologiesThe Open Service Compendium (OSC) is an information system which supports businesses intheir discovery, assessment and cloud service selection by offering a simple dynamic service de-scription language, business-pertinent vocabularies, as well as matchmaking functionality[35].

In this thesis, two extensions are to be developed in the OSC system. The first will includebuilding up a statistic, in the form of bar charts, for the distribution of properties among thecloud services available in the system, as well as a statistics for each property with enumera-

Page 15: Simple Cloud Service Selection in the Open Service ......Simple Cloud Service Selection in the Open Service Compendium Based on Dynamic Questionnaires and Property Statistics by Luna

1.3. Approach and Research Methodologies 3

tion or numerical values. This would aid the analysis of services properties by showing thedistribution of its values. The statistic should also provide additional information, such as me-dian, and average for statistics with numerical values; whereas for statistics with enumerationvalues, the ratio of uniform distribution1 is to be calculated.

The second approach of this thesis will be building up a questionnaire, which would sup-port the users in their cloud selection process. In this context, two sub-approaches are to bedeveloped.

Static Questionnaire. The first will be concerned with statistic questionnaires. This meansquestions will be generic; user’s answer to a certain question will not have any effect onthe rest of the questions.

Dynamic Questionnaire. The second sub-approach will be the dynamic questionnaire, in whicheach question would be built based on the user’s answer to the former one. The genera-tion of dynamic questions will be based on the analytical data calculated in the propertiesstatistics.

Chapter 2 discusses application-related technologies, starting by definitions in cloud com-puting, and introducing various cloud-related technologies, from cloud comparison and bench-mark platforms, to cloud marketplaces, and cloud management platforms. The relevance be-tween these technologies and the research area of this thesis is to be discussed. On the otherhand, and apart from these technologies, non-cloud-related comparison and selection plat-forms will be introduced, describing their powerful tools in comparison and selection, andhow similar tools could be implemented for cloud service selection.

Chapter 3 outlines the OSC system environment and defines its current state. Afterwards,the methodologies of the proposed approaches are described, and the design of the elements(filter, statistics, and questionnaire) are discussed in detail.

Consequently, Chapter 4 presents and discusses the implementation of the previously men-tioned approaches. The technical description of the OSC system is first described, includingthe programming languages and the technologies used. Then, additional tools required areintroduced. Finally the implementation of each system component proposed is discussed indetail, including the main functionalities, the class diagram in each phase, as well as furtherdiscussion of related issues, such as decision making in partial system architecture, problemsfaced, etc.

Chapter 5 provides an analytical evaluation of this contribution by contrasting the proposedapproaches to the problem statement. In addition, it conducts an empirical evaluation havingthe form of interviews, which support proving the viability of the proposed approaches.

Chapter 6 summarises the findings of this contribution and also proposes future work, whileChapter 7 concludes the thesis.

1 The sequence (xn) is uniformly distributed mod 1 if every half-open subinterval of I eventually gets its “propershare” of fractional parts [20]. In simpler and cloud-service-related terms, a property is uniformly distributed, ifthe number of services, that provide this property, is equally distributed among all values of the property.

Page 16: Simple Cloud Service Selection in the Open Service ......Simple Cloud Service Selection in the Open Service Compendium Based on Dynamic Questionnaires and Property Statistics by Luna
Page 17: Simple Cloud Service Selection in the Open Service ......Simple Cloud Service Selection in the Open Service Compendium Based on Dynamic Questionnaires and Property Statistics by Luna

2 Background and Related Work

This chapter introduces cloud computing as the background of this contribution. Defining theterm will help outline the core concepts and the main characteristics of cloud services. Thenwe present an overview of the main service models. In this regard, various cloud-related tech-nologies are introduced, discussing the features that relate to the research questions previouslymentioned. Finally we introduce non-cloud-related comparison and selection technologies,highlighting their seamless user experience.

2.1 Cloud ComputingCloud computing, often referred to as simply “the cloud” [16], is a trending technology, thatreceived a remarkable attention from both the IT industry and the academic researchers. Itgrew and evolved in a rapid way, that made it hard to have one clear definition of what cloudcomputing is.

2.1.1 Definition

The reason that lies behind the ambiguity of cloud computing definition, is that cloud comput-ing can be used in many scenarios. Another reason is that cloud computing is hyped by lotsof companies for business promotion [29]. Moreover, cloud computing, unlike other technicalterms, is not a new technology, but rather a new operations model that brings together a set ofexisting technologies to run business in a different way [50].

According to the book “Cloud Computing” [29], cloud computing is a kind of computingtechnique where IT services are provided by massive low-cost computing units connected byIP networks. On the other hand, Gartner [9] defines cloud computing as a style of computingin which scalable and elastic IT-enabled capabilities are delivered as a service using Internettechnologies. Vaquero et al. [41] studied 20 different definitions of cloud computing, and theirproposed definition focuses mainly on the usability and security of the cloud.

The most common and mostly used definition [17][50] of cloud computing comes from theNational Institute of Standards and Technology (NIST). This definition will be adopted in thisthesis, as it covers all essential aspects of cloud computing:

NIST Definition Cloud computing is a model for enabling ubiquitous, convenient, on-demandnetwork access to a shared pool of configurable computing resources (e.g., networks,servers, storage, applications, and services) that can be rapidly provisioned and releasedwith minimal management effort or service provider interaction.[22]

5

Page 18: Simple Cloud Service Selection in the Open Service ......Simple Cloud Service Selection in the Open Service Compendium Based on Dynamic Questionnaires and Property Statistics by Luna

6 Chapter 2. Background and Related Work

According to the NIST definition [22], a service needs to fulfil five main characteristics to bedefined as a cloud service. In addition, the cloud model should be composed of three servicemodels, and four deployment models. Those characteristics are:

• On-demand self-service. A consumer can unilaterally provision computing capabilities,such as server time and network storage, as needed automatically without requiring hu-man interaction with each service provider.

• Broad network access. Capabilities are available over the network and accessed throughstandard mechanisms that promote use by heterogeneous thin or thick client platforms(e.g., mobile phones, tablets, laptops, and workstations).

• Resource pooling. The provider’s computing resources are pooled to serve multiple con-sumers using a multi-tenant model, with different physical and virtual resources dynami-cally assigned and reassigned according to consumer demand. There is a sense of locationindependence in that the customer generally has no control or knowledge over the exactlocation of the provided resources but may be able to specify location at a higher levelof abstraction (e.g., country, state, or datacenter). Examples of resources include storage,processing, memory, and network bandwidth.

• Rapid elasticity. Capabilities can be elastically provisioned and released, in some casesautomatically, to scale rapidly outward and inward commensurate with demand. To theconsumer, the capabilities available for provisioning often appear to be unlimited andcan be appropriated in any quantity at any time.

• Measured service. Cloud systems automatically control and optimize resource use byleveraging a metering capability at some level of abstraction appropriate to the type ofservice (e.g., storage, processing, bandwidth, and active user accounts). Resource usagecan be monitored, controlled, and reported, providing transparency for both the providerand consumer of the utilised service.

2.1.2 Service Models

To have a better understanding of the different cloud service models, this section presents anoverview of the cloud architecture.

Generally speaking, clouds have a layered architecture, composed of four different layers:the hardware layer, the infrastructure layer, the platform layer, and the application layer. Figure2.1 shows a good representation of this architecture.

Page 19: Simple Cloud Service Selection in the Open Service ......Simple Cloud Service Selection in the Open Service Compendium Based on Dynamic Questionnaires and Property Statistics by Luna

2.1. Cloud Computing 7

Figure 2.1: Cloud computing architecture [50]

Figure 2.1 shows the three most prominent service models: Infrastructure-as-a-Service, Platform-as-a-Service, and Software-as-a-Service. These could be defined, based on the NIST definition[22] and others [50][15][21], as follows:

• Infrastructure-as-a-Service (IaaS): refers to on-demand provisioning of infrastructuralresources, such as processing storage, networks, and other fundamental computing re-sources, usually in terms of virtual machines (VM), where the consumer is able to deployand run arbitrary software, which can include operating systems and applications. Theconsumer does not manage or control the underlying cloud infrastructure but has controlover operating systems, storage, and deployed applications; and possibly limited controlof selected networking components.Examples of IaaS providers include Amazon S31, AT&T2 and IBM Softlayer3.

• Platform-as-a-Service (PaaS): The capability provided to the consumer is to deploy ontothe cloud infrastructure consumer-created or acquired applications created using pro-gramming languages, libraries, services, and tools supported by the provider. The offersinclude the use of the underlying infrastructure, such as servers, network, storage, or op-erating systems, over which the customers have no control, as it is abstracted away belowthe platform, but have control over the deployed applications and possibly configurationsettings for the application-hosting environment.Platform services are mostly aimed at specific domains, such as the development of webapplications, and are dependent on the programming language. Customers get a sepa-rated environment to test and develop or to permanently deploy their applications.Examples of PaaS providers include Google App Engine4, Microsoft Azure5 and Sales-force6.

1 Amazon S3 http://www.aws.amazon.com/de/s3/2 AT&T http://www.att.com3 IBM Softlayer http://www.softlayer.com4 Google App Engine https://appengine.google.com/5 Microsoft Azure https://azure.microsoft.com/6 Salesforce https://www.salesforce.com/

Page 20: Simple Cloud Service Selection in the Open Service ......Simple Cloud Service Selection in the Open Service Compendium Based on Dynamic Questionnaires and Property Statistics by Luna

8 Chapter 2. Background and Related Work

• Software-as-a-Service (SaaS): refers to providing on-demand applications and business-specific capabilities developed by third parties and running on a cloud infrastructure. Avery well-known SaaS is the web-based e-mail.Most software cloud computing services are web-based applications, which can be ac-cessed from various client devices through a thin client interface, such as a web browser.The customers of these services do not manage or control the underlying infrastructureand application platform; only limited user-specific configurations are possible. Featuresin standard non-remote software applications providing Internet-based storage are alsooften considered to be part of SaaS offerings.Examples of SaaS providers include Dropbox7, Google Drive8 and SAP Business ByDe-sign9.

In addition to these three cloud models, there are many other cloud models. One model wasproposed as a result of the growing importance of cloud computing topics in research and in-dustry, more generic service models, to extend the breadth towards truly reusable Everything-as-a-Service (XaaS) registration entries.[37]

Another cloud model is Hardware-as-a-Service (HaaS). HaaS refers to managed services orgrid computing, where computing power is leased from a central provider [46]. It allows forusage distinct hardware components through the Internet analogously to the cloud services,and focuses on the transparent integration of remote hardware that is distributed over multiplegeographical locations into an operating system [38].

2.2 Cloud Related TechnologiesIn this section, various cloud-related technologies will be introduced. These include cloudbenchmarks, cloud marketplaces, and cloud management platforms. Examples of each tech-nology will be described and analysed.

2.2.1 Cloud Comparison and Benchmark Platforms

Over the past few years, the vast increase of cloud service offerings that are available fromheterogeneous cloud vendors, has made the evaluation and selection of desired cloud services,a cumbersome task for service consumers [27]. In this respect, many efforts are being madeto ease the process of cloud service selection. Some of these efforts are made in the theoreticalfield, by building different selection criteria that could meet the diverse users’ needs10. On theother hand, cloud comparison and benchmark platforms are now trending in this category. Ingeneral, cloud benchmark platforms offer performance testings of different clouds. Examplesof such platforms are: Cloud Spectator11, SherWeb12, and ServerBear13. Cloud comparisonplatforms are however not as numerous as the cloud benchmark platforms, and are in most

7 Dropbox http://www.dropbox.com/8 Google Drive https://drive.google.com/9 SAP Business ByDesign http://go.sap.com/product/enterprise-management/business-bydesign.html

10 For more information and insights with this regard, please check [42], [39], [31].11 Cloud Spectator http://cloudspectator.com12 SherWeb http://www.sherweb.com/cloud/benchmarks/13 ServerBear http://serverbear.com

Page 21: Simple Cloud Service Selection in the Open Service ......Simple Cloud Service Selection in the Open Service Compendium Based on Dynamic Questionnaires and Property Statistics by Luna

2.2. Cloud Related Technologies 9

cases a part of the latter platforms. CloudHarmony14 is a good example of cloud performancebenchmarking providers offering cloud comparison feature.

CloudHarmony This platform provides three basic features: Network test, service status, anddirectory. The last, also referred to as CloudSquare, is the cloud comparison tool of Cloud-Harmony, and it is to be described next.

• Filter. CloudHarmony provides two main filters: Service type (Compute, storage,etc.), and regional presence.

• Comparison. The comparison overview is limited to dragging cloud service providersto the top of the list, without extending the view to be comparable15

• Cloud Service Details. The cloud service details are limited to an information-textabout the service, points of presence, notes, and service availability.

2.2.2 Cloud Marketplaces

A cloud marketplace is an online storefront operated by a cloud service provider [44]. In acloud marketplace, customers have the possibility to “trade” and look into the different cloudresources provided by the company (the cloud provider), such as software applications andservices that are built on, integrated with or complement with cloud provider’s offerings. Themarketplace engine can match the desired resources to the offers in order to provide comput-ing resources and notify the cloud management systems and third-party controlled systems ofthe match. Additionally, the cloud management systems can utilise the marketplace to aid invaluing computing resources to be added to the cloud [7].

Based on this definition, cloud marketplaces can be considered more or less as an aid incloud service selection, except that the selection and/or comparison of cloud services wouldbe limited to those offered by the cloud provider.

In the following, some cloud marketplaces are presented, and described in the means ofcloud service selection and comparison.

Oracle Cloud Marketplace The Oracle Cloud Marketplace16 features more than 100 businessapplications developed by Oracle partners. It enables its customers to easily browse,evaluate and buy business applications [26].The user interface (UI) of Oracle cloud marketplace offers two main filters17, in additionto four other filters.

• Software Category. The customer can choose between two different software cate-gories: Applications (e.g. Harmony by OpenMethods, Forceview), and Services (e.g.Aepx IT, IBM Services for Oracle Cloud).

• Cloud Service Models. Oracle defines this filter as “Products”, and it categorises the

14 CloudHarmony http://www.cloudharmony.com15 There is no difference between the detailed view of a service and the comparison view of the selected providers.

More precisely a detailed view of a single provider can be shown only when hovering over the provider’s title,whereas the to-be-compared providers view are locked open on top of the overall providers list.

16 Oracle Cloud Marketplace https://cloud.oracle.com/marketplace/17 Filter names are created for the ease of description of filters. Oracle Cloud Marketplace presents the items of each

filter in horizontal/vertical tabs design rather than categorisation names

Page 22: Simple Cloud Service Selection in the Open Service ......Simple Cloud Service Selection in the Open Service Compendium Based on Dynamic Questionnaires and Property Statistics by Luna

10 Chapter 2. Background and Related Work

services in three cloud service models: SaaS, PaaS, and IaaS.

• Additional Filters. In addition to the above mentioned filters, Oracle provides fouradditional filters: Device type, price, release date, and language.

In the detailed view of a certain application/service, a brief description is provided, aswell as the ratings of other customers, and the service provider information. However nodetailed description of the service properties is available.

IBM Cloud Marketplace IBM Marketplace18 is a customer-facing cloud services store whereservice providers–IBM or Business Partners–can publish cloud services, and where ser-vice consumers can purchase these services. IBM also offers free trial editions of manytypes of services [47].Browsing IBM marketplace and searching for services can be done by name search, aswell as by applying 5 different filters. Those include the following:

• Service Category. This filter refers to the field contextual-wise, to which the servicebelongs (e.g. data stores, mobile, business support), rather than the technical cate-gory of services in general (storage or virtual machine).

• Roles. Such as human resources, data scientist, facilities management, etc.

• Cloud Service Model. Labeled as “As a Service” by IBM, this filter includes, in additionto SaaS, PaaS, and IaaS, Business Process as a forth service model of the filter.

• Offering Type. This includes services, images, patterns, and orchestration content.

• Custom Groups. This filter is to filter IBM services from other services.

Although IBM offers five different filters, one value of only one filter can be chosen at atime, which therefore limits the ability to granulate results according to different valuesof chosen filters.The Details UI of a service includes an overview of the service, and its features. IBM alsoprovides the reviews feature, in addition to questions about the service (when available),support information, resources and others. However technical information of the serviceproperties are relatively limited.

2.2.3 Cloud Management Platforms

Another cloud-related technologies are cloud management platforms. In general, cloud man-agement is the exercise of administrative control over public, private and hybrid clouds [43].Cloud management platforms can be considered as a top level above cloud services, that allowsfor enhanced resource management via service governors and provides advanced monitoringand automation to improve performance and availability [5].

As a part of the cloud management, some platforms offer an option of comparing differ-ent clouds, which the platform supports, in order to provide a full management starting frombuilding a cloud strategy to optimising the cloud usage.

RightScale Rightscale19 cloud management platform supports various clouds by offering so-lutions to many problems (e.g. scalability and availability of the cloud). In addition to

18 IBM Cloud Marketplace https://www.ibm.com/marketplace19 Rightscale http://www.rightscale.com/

Page 23: Simple Cloud Service Selection in the Open Service ......Simple Cloud Service Selection in the Open Service Compendium Based on Dynamic Questionnaires and Property Statistics by Luna

2.3. Comparison Portals 11

cloud management, Rightscale provides cloud analytics, cloud comparison, and others.In relation to this thesis, the following points represent a brief analysis of the RightscaleCloud Comparison tool.

• Filter Options. Rightscale tool compares clouds based on a wide range of filteringoptions, such as service category, database category, location, security, and others.

• Compared Cloud Services. Although Rightscale supports a various number of clouds,the cloud comparison tool is available for only four cloud services (Amazon webservices, Google Cloud Platform, Microsoft Azure, Softlayer and IBM Company).

• Cloud Service Details. Since the number of compared cloud services is limited tofour services, the Comparison/Selection UI is implemented in four columns with allpossible properties, which are categorised as main properties with sub-properties.

2.3 Comparison PortalsAlthough this section does not have a direct relation to cloud services, it will introduce andanalyse some comparison portals and websites, which offer powerful filtering and comparisontools. This would be a good starting point for cloud service selection softwares.

Check24 The comparison portal Check2420 enables the users to compare many offers and var-ious prices in many fields such as credit cards, DSL rates, insurance rates, etc.After choosing the type of the item to be compared among available providers, a filterspecific to the chosen category would be displayed. By choosing the desired filter values,results would be listed in a descending order of best matches.One negative point of the filter is that it shows the results only once all filter options arechosen (no direct filter upon choosing single filter value).

Geizhals Geizhals21 is a price comparison website which focuses primarily on technical prod-ucts ranging from hardware to consumer electronics. As an additional feature Geizhalsprovides ratings and reviews of stores and products.In its mission commitment, Geizhals offers a remarkably powerful tool to filter and com-pare different products. The general user story of comparing products of certain categorybegins from a rough to a fine category granulation of the results. The final user interfaceis the filter overview, where the user has the possibility to choose values of various filter-ing options.Throughout the filtering process, the user could see for each value in each filter option thenumber of products that would be shown if the value is selected. This value, in its turn,get updated by every new value selection the user makes. This means that the match-ing products are directly updated by each single value filter selection. The last step ischecking the products to be compared, and the comparison refers to the price only, as allproducts are matching in properties due to the previous filtering.

Chapter SummaryIn summary, cloud computing is the latest computing paradigm. However, the expanding ofcloud computing services is raising new challenges on how to select the best service out of the

20 Check24 http://www.check24.de21 Geizhals http://www.geizhals.de

Page 24: Simple Cloud Service Selection in the Open Service ......Simple Cloud Service Selection in the Open Service Compendium Based on Dynamic Questionnaires and Property Statistics by Luna

12 Chapter 2. Background and Related Work

pool [39]. Current approaches are primarily superficial, offering limited features to support theservice selection. On the other hand, there exists non-cloud-related comparison and selectionplatforms in the IT industry that are worth mentioning to make use of their thriving selectiontools in the field of cloud computing.

Page 25: Simple Cloud Service Selection in the Open Service ......Simple Cloud Service Selection in the Open Service Compendium Based on Dynamic Questionnaires and Property Statistics by Luna

3 Concept and Design

The compass of cloud services advances steadily leaving users in the agony of choice. To beable to select the best mix of service offering from an abundance of possibilities, users mustconsider complex dependencies and heterogeneous sets of criteria [49].

Accordingly, the main focus in this contribution is to fill the gaps in the current cloud ser-vice selection approaches, which would, in its turn, provide an aid to the cloud consumers indeciding upon a cloud service, that matches their requirements.

This chapter outlines the characteristics of the application environment [19], presents thedifferent methods to achieve the proposed approaches, and describes in detail the design phaseof each approach.

3.1 Application Environment and MethodologiesApplication Environment. The application environment1 includes cloud brokers as well as

third-party systems and platforms that provide cloud service comparison, filter and se-lection tools. The Open Service Compendium, an open crowd-sourced ecosystem fordescribing, selecting and filtering cloud services, is an example of the application envi-ronment.

OSC Current State. At the beginning of this research, the OSC system provided the followingfeatures:

• Service Category: Cloud service selection by choosing the service category (Storageor virtual machine).

• List of Cloud Services: Cloud services listing in each of the previously mentionedcategories2.

• Cloud Service Details: Details of a cloud service including properties’ categories, andthe provided properties with their values in each category.

Methodologies. In the previous chapter, cloud-related technologies were introduced to insure agood understanding of the application technologies, and to give an overview of the state-of-the-art in cloud service selection. Based on the research literature, and on the problemstatement, this thesis will identify and explain possible approaches for improvement inthis domain. These approaches are the outcome of the clear problem statement, as well

1 Application or software environment refers to the collection of hardware and software tools a system developeruses to build software systems [6].

2 This view used to provide a filtering option, which was dismissed before the beginning of the research.

13

Page 26: Simple Cloud Service Selection in the Open Service ......Simple Cloud Service Selection in the Open Service Compendium Based on Dynamic Questionnaires and Property Statistics by Luna

14 Chapter 3. Concept and Design

as the analysis of current approaches. The first approach is expanding the filter tool to begenerated from the schema. The second approach will analyse cloud services properties,and present the analysed data in the form of statistical information of the cloud servicesproperties. The final component includes a static and a dynamic questionnaires, whichare to be outlined and their conceptual design is to be clearly defined and discussed.

3.2 Proposed Approaches: The DesignThis section identifies and describes the proposed approaches, including the definition of therequirements, and the description of the general architectural design.

Up to now, the study of the literature concerning cloud service selection have shown thatthe cloud consumers’ support in selecting a cloud service is still immature. On one hand, tech-nologies such as cloud marketplaces offer selection and comparison tools in a limited range,featuring these tools only for the cloud services, which the marketplace provides or is compat-ible with. On the other hand, cloud brokers offer similar tools with limited options, lacking inmost cases for a detailed overview of the services, as well as the ability to compare and filterbased on the properties.

This study led to proposing multiple approaches in this domain:

• Extended properties-based filter

• Statistics of service properties, which provide the required data for the third approach

• Questionnaire of service properties, which features two types: static and dynamic

By the end of this section, the questions scope of cloud service selection will be tackled.

3.2.1 Properties-Based Filter

The research literature introduced in the previous chapter showed that in the current approaches,the filter options are limited, featuring some of many properties that characterises a cloud ser-vice. Starting from this point, the first contribution is to expand the filter options. These optionswill be generated based on the service properties available in the schema available in the OSCsystem.

Property Values. Since the filter options are generated automatically from the schema, the val-ues for each option are to be generated based on the category of the property.

• Enumeration Values. For properties with enumeration properties, a straight for-ward approach is to show these values as the values of the property option in thefilter.

• String and Boolean Values. Properties with value type of String or Boolean, the val-ues are represented as “Yes”/“It doesn’t matter”3 values. Context-wise string proper-ties can be represented in the same manner in context of providing the property ornot.

• Numerical Values. To provide an efficient and usable representation of numeri-

3 In the first design and implementation phase, the values were represented as Yes/No values, together with a valueof “It doesn’t matter”. However, the No option was then dismissed, in order to avoid the ambiguousness betweennot providing the property and the lack of the exact information.

Page 27: Simple Cloud Service Selection in the Open Service ......Simple Cloud Service Selection in the Open Service Compendium Based on Dynamic Questionnaires and Property Statistics by Luna

3.2. Proposed Approaches: The Design 15

cal values, the range of values, calculated from the services, is divided in quarters.When selecting a certain quarter range, the filtered services are those, which providethe property with a value that belongs to the selected range.Since the current schema provides one property with numerical value - which is theEstablishment Year - the ranges’ names are generated to fit the context4 (e.g. “BeforeXXXX” instead of “Less than XXXX”).

The wide range of filter options generated from service properties offers the users the feasi-bility of selecting cloud services, that best match their needs. Nevertheless, options overloadmay lead to adverse consequences such as a decrease in the motivation to choose or the satisfac-tion with the finally chosen option [32], which would be, in its turn, straining the usability [18]of the system. For this reason, and to provide a better user experience, selection questionnairesare proposed.

3.2.2 Statistics of Service Properties

The current approaches in statistics of cloud services and their properties are remarkably lim-ited. Most of these approaches tend to provide statistical information about the usage of cloudservices, such as the statistics on enterprises’ use of cloud computing services in the EuropeanUnion (EU) presented by eurostat [8].

In addition to the data needed for the questionnaire, the statistics of the cloud service prop-erties would provide users with a better overview of general, as well as detailed properties ofcloud services.

The statistics will be represented in the form of bar charts, and it will be defined in threedifferent types regarding the data represented. The rows refer in all cases to the percentageof cloud services that provide the property in a certain bar, whereas the columns (bars) differaccording to the type of the chart.

• Property Categories. In the current version of OSC, the data retrieved from the schemaincludes all possible properties of a cloud service. In addition, the data includes prop-erty categories. A bar chart with these categories features a rough overview of generalproperties.

• Detailed Properties. This chart represents all possible properties in the schema.

• Enumeration/Numerical Properties. This type includes multiple charts, which are gen-erated for each property, whose values are either numbers or belong to an enumeration.In the first case, the columns would be generated as the values of numerical filter op-tions mentioned in the previous section5. The columns of bar charts of properties withenumeration values are the enumeration values themselves.

Statistical Information In addition to the representation of the percentages of cloud servicesthat support property/value of a chart, statistical information are calculated for a better

4 In the current schema, all other properties with numerical values are defined as sub-properties of a general prop-erty category. In this thesis, and for a direct implementation of the filter, sub-properties were not taken intoconsideration. More about this issue is to be discussed in Chapter 4.

5 Properties with numerical values are considered as properties with enumeration values. That is by dividing therange of values in four quarters.

Page 28: Simple Cloud Service Selection in the Open Service ......Simple Cloud Service Selection in the Open Service Compendium Based on Dynamic Questionnaires and Property Statistics by Luna

16 Chapter 3. Concept and Design

analysis. These information are only displayed for the latter type of charts (enumera-tion/numerical properties), and they differ between Enumeration Properties charts andNumerical Properties charts.

• Numerical Properties. In this case, the average, median, and standard deviation arecalculated.

• Enumeration Properties. It is to be shown how evenly distributed the enumerationvalues of the property are. For this purpose, the value of uniform distribution is cal-culated. Then average of the deviation of each value from uniform distribution valueis calculated, and then subtracted from one (for the best case the average deviationshould be zero, and thus the ratio should be one). For example, for a property withfour enumeration value, the uniform distribution ratio can be calculated as follows:Given the property values: v1 = 35%, v2 = 20%, v3 = 5%, v4 = 40%

uni f orm distribution : ud = 100% / 4 = 25%

average deviation =|v1 − ud| + |v2 − ud| + |v3 − ud| + |v4 − ud|

4

=|35% − 25%| + |20% − 25%| + |5% − 25%| + |40% − 25%|

4= 50% = 0.5

uni f orm distribution ratio = 1 − average deviation= 1 − 0.5= 0.5

In view of the fact that, for some properties with enumeration values, cloud services canprovide the property with multiple values (e.g. exportable data formats). In this case, theuniform distribution value is considered 100%, as the best case would be that all cloud servicesproviding this property have all possible values of this property.

3.2.3 Static and Dynamic Questionnaires

In Chapter 2, research was made not only on cloud-related technologies, but also on non-cloud-related comparison and selection platforms. Two case studies were introduced: Check246, andGeizhals7. Based on these studies, which proved the success of their tools and the user experi-ence they offer [25][48], the idea of developing questionnaires of cloud service properties cameinto consideration. In Check24, for example, many selection categories begin with questionsbefore navigating to the main filter view, where these questions can be considered the most im-portant in their category. These questions feature a more feasible support through the selectionprocess, and help avoiding overloading users with too many options through the first steps.

Likewise, the questionnaire of cloud service properties are to be built. For this purpose, weproposed two approaches in the context of the way, by which the questions are generated.

Static Questionnaire. Questions are manually generated in this type of the questionnaire. The

6 Check24 http://www.check24.de7 Geizhals https://geizhals.de

Page 29: Simple Cloud Service Selection in the Open Service ......Simple Cloud Service Selection in the Open Service Compendium Based on Dynamic Questionnaires and Property Statistics by Luna

3.2. Proposed Approaches: The Design 17

word “Static” refers to the state of the questions, in which the questions are pre-generated,and do not change throughout the selection process. Choosing the static questions wasbased on the cloud service properties of simple technical context, to ensure the legibilityof the questionnaire for less-experienced cloud consumers as well.

Dynamic Questionnaire. In this questionnaire, “Dynamic” refers to the state of the questions,in which they change according to two factors

• Schema. The set of dynamic questions is generated from the schema, and moreprecisely, from the properties with enumeration values. The dynamic context inthis factor is that the questions are subject to change, and rely on the data of theschema. After the questions are generated, they are ordered in a descending manneraccording to the uniform distribution ratio calculated in the statistics. This sortinginsures that the question with the highest ratio, distributes the cloud services mostevenly on all possible answers. This would, in its turn, impede the user from gettinga filtering result of No Matching Service at a very early stage of the filter.

• User’s Answers. While the first question is excluded from the effect of this factor,each following question is displayed according to the user’s answer to the previ-ous question. That is by checking the set of dynamic questions generated from theschema, and verifying that at least one answer of the next question would not givean empty set of filter cloud services. If the next question would lead to an empty setfor each possible answer, the question is to be skipped.

Uniform Distribution Ratio Problem. The first testings of the dynamic questionnaireshowed that, generating the questions based on the uniform distribution ratio has onlyled to an inconsistent order of questions. The first question displayed, which is the ques-tion with the highest uniform distribution ratio, is a question of a property provided byonly one service. In that case, by answering this question, the best case of filtered serviceswould be only one service.

Consequently, an additional factor should be taken into consideration. A straight-forwardfactor is the percentage of number of services providing a certain property among theoverall number of services, the Providence ratio. So the so-called Rating of the question issummation of two factors: Uniform distribution ratio, and providence ratio.

rating = (uni f orm distribution ratio/2) + (providence ratio/2)

The results of this edition has led to better, more logical results of displayed questions inthe dynamic questionnaire.

With regards to the answers/options of each question, they are generated in the exact wayas the filter. The user can skip any question, and answering any question will be automaticallyselected in the filter, which is the final view displayed along with the question-filtered cloudservices after the questionnaire.

The intermediate evaluation of both questionnaires showed that the question of cloud ser-vice category (storage or vm) would be displayed as a main question at the beginning of bothquestionnaires, rather than displaying the question in the third or fourth order, for example.The reason is that this property does not refer to a cloud service property that could be pro-vided by a service or not. It defines the category of the service, and thus from a logical point

Page 30: Simple Cloud Service Selection in the Open Service ......Simple Cloud Service Selection in the Open Service Compendium Based on Dynamic Questionnaires and Property Statistics by Luna

18 Chapter 3. Concept and Design

of view, and to provide better consistency with the current version of OSC8, this question isdisplayed first as a core question in both cases.

Chapter SummaryIn this chapter, we defined the application environment and the current state of the OSC sys-tem. We introduced three methodologies for the proposed approaches: extended filter, statisticsof cloud service properties, and dynamic and static questionnaires. The design of these threecomponents was then described and discussed in detail as a pre-phase for the implementationof these components, which will be discussed in the following chapter.

8 As mentioned earlier, the current version of the OSC features two separated views of cloud services: StorageServices, and VM Services

Page 31: Simple Cloud Service Selection in the Open Service ......Simple Cloud Service Selection in the Open Service Compendium Based on Dynamic Questionnaires and Property Statistics by Luna

4 Implementation

This chapter introduces a technical description of the underlying system, and discusses the soft-ware implementation of the proposed approaches in the OSC system. Before outlining the im-plementation of the proposed approaches, tools and technologies used will be presented. Theimplementation of the proposed approaches will be discussed in chronological order, showingthe problems and changes that needed to be made, in order to insure the best performance.The order of the features implemented is: Statistics, Questionnaires (static, then dynamic), andfinally the filter.

4.1 OSC Technical DescriptionThe OSC system is built on the basis of the Ruby on Rails web framework [14] and uses Mon-goDB [24] for description persistence [34].

The front-end is built and assembled using a Grunt JavaScript workflow. It is based onAngularJS and a number of additional Javascript and CSS libraries, e.g., Angular UI Router,Twitter Bootstrap, Less, SASS, and CoffeeScript [35].

As described in Chapter 3, the current version of the OSC system provides listing cloudservices according to their category (storage or vm), as well as the details of each service. Figure4.1 shows the class diagram of the current version.

Figure 4.1: Initial class diagram of the OSC system.

19

Page 32: Simple Cloud Service Selection in the Open Service ......Simple Cloud Service Selection in the Open Service Compendium Based on Dynamic Questionnaires and Property Statistics by Luna

20 Chapter 4. Implementation

4.2 ToolsThe proposed approaches are to be implemented in the front-end using AngularJS. AccordinglyAngular Material [10], which is a UI Component framework and a reference implementation ofGoogle’s Material Design Specification [12], is used to implement the various UI componentsof this contribution.

For the visual implementation of the bar charts, we will adopt Angular Google Chart, adirective Module for Google Chart Tools [1]. Google Charts1 API is a Javascript-based tooldeveloped by Google that offers a wide variety of charts types [11].

4.3 Statistics ImplementationThe statistics feature is first implemented, as it will provide the required statistical informationto the questionnaire.

As the charts need both the schema for the columns, and the services for the rows of thechart, it is reasonable to nest the Statistics state in the Services state, which queries both datasets. Figure 4.2 shows an overview of the updated class diagram including the Statistics state.

Figure 4.2: Class diagram of OSC with the Statistics state.

Since AngularJS executes the $resources query requests asynchronously, two $watch lis-teners for the schema and the services query requests are added.

• $watch ‘schema’. In this function, the following objects are initialised

◦ propertiesDetails is basically the schema itself, without the service and providernames, as these should not be regarded as properties in the statistics.

◦ enumerations is initialised from the propertiesDetails, where the properties

1 Google Charts https://developers.google.com/chart/

Page 33: Simple Cloud Service Selection in the Open Service ......Simple Cloud Service Selection in the Open Service Compendium Based on Dynamic Questionnaires and Property Statistics by Luna

4.4. Pre-Phase: Architecture Approaches 21

with enumeration values are added.

◦ propertiesCategories includes propertiesCategories from the schema,which will be later used for the visualisation of properties categories in a chart.

• $watch ‘services’. By looping over the services, the number of services per prop-erty, as well as per value in enumeration and numerical properties is calculated. Thisforms the base for calling the functions createEnumCharts(), in which statistical in-formation are also calculated, and createPropertiesCharts(). It is to be mentionedthat properties with no cloud services providing them are excluded from all charts.

4.4 Pre-Phase: Architecture ApproachesThe starting point in the implementation of the questionnaires was to find the relation betweenthis state and the Statistics state, in order to get the calculated data. This section introducesproposed approaches to exchange data between both controllers, explaining the weaknesses ofdismissed approaches and the strengths of the chosen approach.

Three approaches are suggested, where the final is the one implemented.

• Nesting. A straight-forward approach is to nest the Statistics state in the Statistics state.In this case, the questionnaire would have access to all data created by the statistics.

Weaknesses Although this approach fulfils the questionnaire’s requirements and deliv-ers all needed data, the semantic is wrong, as the questionnaire cannot be a child ofthe statistics from the contextual point of view.

• Additional Service. One simple approach, which is highly suggested, is to created a newservice as an intermediary component to share the data between both controllers. Thisservice would calculate all statistical information, and the functionality of the statisticscontroller would be limited to drawing the charts. Figure 4.3 shows an overview of thearchitecture in this approach.

Page 34: Simple Cloud Service Selection in the Open Service ......Simple Cloud Service Selection in the Open Service Compendium Based on Dynamic Questionnaires and Property Statistics by Luna

22 Chapter 4. Implementation

Figure 4.3: Class diagram of OSC with the statistics and questionnaire controllers sharing data through ad-ditional service.

Weaknesses Although this approach makes the functionality of the statistics cleaner, thenew service needs to query the schema and services. Injecting the AngularJS ser-vices that query these data into the new service would reduce the consistency of thesoftware.

To avoid this inconsistency, queried data can be passed from the controller to theservice with setter functions. In case the user chooses to check one of the two view(statistics and questionnaire), the service functions would be called in the controller,and the functionality would be consistent. However, all function calls would berepeated when navigating to the other view, unless checked with conditional state-ments, which is in both cases a redundancy of code and function calls. This approachcould be a solution, yet this kind of architecture is incompatible with the definitionof AngularJS services2 [40][33].

• Parent State. This approach is a major overhaul of the architecture. It suggests creatinga new state Info nested into the Services state. This state would be then a parent state ofthe Statistics and Questionnaire states. It includes all the functionalities of the statisticsincluding the enumerations object and the calculation of the statistical information. Inthis case, the Statistics state would include only the charts drawing functionality, whichwould make it cleaner through this separation of concepts. On the other hand, all datawould be directly available for the questionnaire without violating the semantics andlogic of the system. Figure 4.4 shows a clear overview of this approach.

2 AngularJS services are responsible for performing specific tasks only [40]. They can be used to organise and sharecode (rather than data) across the app [33].

Page 35: Simple Cloud Service Selection in the Open Service ......Simple Cloud Service Selection in the Open Service Compendium Based on Dynamic Questionnaires and Property Statistics by Luna

4.5. Filter and Questionnaires Implementation 23

Figure 4.4: Class diagram of OSC with the new Info controller.

4.5 Filter and Questionnaires ImplementationIn this section, we will explain the details of the questionnaire- as well as the filter implemen-tations. The description of the implementations of these features is combined in one section, asthey both share many functionalities. After this implementation, however, the questionnaireand filter should be separated. This section will discuss the details of each step.

Main View. The main view of the questionnaire consists of main panel to allow the user tochoose the type of questionnaire. To provide a better usability, an information button isadded to explain briefly to the user the meaning and difference between both types.

4.5.1 Static Questionnaire

As both questionnaires, static and dynamic, share the same functionality except for the ques-tions themselves, the static questionnaire is the first to implement, to insure the separation ofconcepts between the general questionnaire functionalities and the dynamic generation of thequestions.

Static Questions. As mentioned in Chapter 3, the first question in both questionnaires is theservice category (storage or vm). Upon discussion about the rest suggested static ques-tions, we elaborated on the following points to be taken into consideration:

1. Cloud Service Model. As the cloud service model is a property that characterisesa cloud service [22], thus choosing the cloud service model could help the user, byexcluding all services that belong to different models.

2. Payment Options. For many users, this property could be a concern, as they lookfor secure and convenient methods of payment that match what they possess.

Page 36: Simple Cloud Service Selection in the Open Service ......Simple Cloud Service Selection in the Open Service Compendium Based on Dynamic Questionnaires and Property Statistics by Luna

24 Chapter 4. Implementation

3. Offline Usage of the Service. This feature concerns many target users, who seekoffline-access to their data, such as business users with frequent traveling.

4. Free Trial. For good investments, whether in costs, performance or other factors,free trial could be an important feature to select the right cloud service.

5. Maximum Storage Capacity. Whether looking for a cloud to store data, or for aplatform to deploy an application, maximum storage capacity is a critical issue formost if not all users seeking the right cloud service.

The main view of the questionnaire, after selecting its type, is basically an empty view withthe navigation options. Nested into this view, is a question view which is rendered for eachquestion. The navigation options include: Back which would reset the answer selected of thequestion, from which the user is navigating, Next to navigate to the next question, and ShowServices (XX) to show the filtered services according to the user’s answers to the questions.The (XX) in the option name refers to the number of matching services. In addition, the latteroption can be performed at any question.

Before separating the filter and questionnaire into two distinct states, the filter view wasimplemented as a nest view in the main questionnaire view, which would appear when theuser chooses to show the filtered services.

Problem Identification Before introducing and discussing the implementation, it is importantto mention that the functionality is limited at few points, and needs to be extended as afuture work. The reason behind this limitation refers to the current schema definitions.Schema definitions of some properties have the form of properties and sub-properties.The current implementation takes into consideration only properties without processingsub-properties due to the complexity that would be added to manage all “clusters” ofproperties, and the limited time of this thesis. Special cases that were limited in the im-plementation due to this issue will be noted through the implementation discussion.

The starting point in the questionnaire implementation is the questions and their options. Forthis purpose, getQuestionsValues(questions) function is implemented. This functionfinds the options for possible values/answers for an array of questions as follows3

• Questions of Enumeration Properties. For questions that belong to the enumerationsset of properties, the possible answers for these questions are the enumeration valuesthemselves.

• Maximum Storage Capacity Question. Since this property is defined as a sub-propertyof Storage Properties in the schema, its values are managed manually.

• Other Questions. The rest of the questions are considered as “Yes”/“It doesn’t matter”questions in means of providence of the property by the service or not.

Note For the questions that can have only a unique answer, an additional answer of “It doesn’tmatter” is added to the list of question values, to enable the user to skip the questionwhen desired.

checkIfUniqueValue(key) is the function that defines wether a question with enumer-ation values can have multiple values or the answer must be unique. The parameter key is the

3 The algorithm of this function can be found in Appendix A

Page 37: Simple Cloud Service Selection in the Open Service ......Simple Cloud Service Selection in the Open Service Compendium Based on Dynamic Questionnaires and Property Statistics by Luna

4.5. Filter and Questionnaires Implementation 25

key of the question in the rows.enumRows set. The way this function works is that it checksthe statistics data, by means of calculating the sum of the percentage of services providingeach value. If the sum is more than 100%, then some service(s) provides multiple values ofthe enumeration property. Therefore, the value of the question should not be unique, and viceversa.

After the questions are fully generated, the interaction functionalities are now considered.These functionalities include:

• updateSelection(properties, property, selectedValue)4 The first intuitiveinteraction a user can make is to select a certain value for a certain question. This wouldfire the click event, where updateSelection is the listener function. The main task ofthis function is to update the array selectedValues, then it calls the update functionof filtered services, as well as the update function of the shown filter properties, whichwill be discussed later.

• updateFilteredServices(selectedValues) As its name indicates, this functionupdates an array of filtered services according to selectedValues array. Generallyspeaking, for a set of filtered services, if selected values increase, the filtering can be man-aged easily by checking the filtered services. Nevertheless, if the user removes some se-lections, the original set of services queried needs to be rechecked, as some services mightbe added to the filtered set. To avoid this complexity, updateFilteredServices man-ages the filtering by checking the queried set of services directly. For each service, itchecks whether this service has the same values of all selected values, and then adds it tothe filteredServices array if it does.

• getRestServices(property, valueKey) This feature is basically inspired by Geizhals5

platform. The main concept of the rest services is the number of filtered services thatwould be left if a value of certain property is chosen. This means that for each value ineach question/filter property, the number of filtered services left if this value is chosen isdisplayed.This number is calculated by adding this value to a copy of selectedValues array,and calling the updateFilteredServices function for the “virtual” array of selectedValues. The length of the returned array would be the rest number.

4.5.2 Filter

To complete the scenario that begins with the static questionnaire, the filter is to be imple-mented. All interaction functionalities mentioned in the previous section are common betweenthe questionnaire and the filter. Moreover, the following functions are needed to complete thefilter’s functionality

• getFilterProperties() As described in Chapter 3, the filter options are extendedand implemented to be generated from the cloud service properties. So, this function isresponsible for initialising this set of properties to be shown in the filter. It gets the data

4 properties is the the set of questions/filter properties, property is the question/filter property to which a selected-Value is selected. This function is common for the questionnaire and the filter, thus the variable names are madegeneral.

5 Geizhals http://www.geizhals.de

Page 38: Simple Cloud Service Selection in the Open Service ......Simple Cloud Service Selection in the Open Service Compendium Based on Dynamic Questionnaires and Property Statistics by Luna

26 Chapter 4. Implementation

first from the questions’ set, so that values selected in the questionnaire would be auto-matically selected in the filter as well. The rest properties are derived from the schema.

• updateShownProperties() To avoid options overload in the filter, and to allow amore legible filter, only six filter options6 (properties) are shown on the top of the fil-ter, whereas the rest are hidden, and can be shown with a button click. To achieve this,updateShownProperties function determines which properties are to be shown. Itloops over all filter properties, adds all properties with selected values first. Then if thenumber of shown properties is less than six, questions from the questionnaire, if avail-able7, are added to the list. Finally, if shown properties are still less than six, propertieswith unselected values are added.

• clearSelection(property) For a less crowded user interface of the filter, the “Itdoesn’t matter” option of the questionnaire is replaced with an× button. clearSelectionfunction simply clears all selected values of a certain property.

4.5.3 Dynamic Questionnaire

The final part of the implementation is the dynamic questionnaire, which is achieved throughthe following two main functions:

• getDynamicQuestions() This function initialises the list of dynamic questions fromthe enumerations list. Then, it orders the list dynamicQuestions in descending orderaccording to the “rating” value, noting that the first question is fixed (Service Category), asmentioned in Chapter 3. Practically this list dynamicQuestions is static, while thedynamic context lays in the selection of the questions to be displayed out of this list.

• updateDynamicQuestions() The dynamic context is basically achieved through thisfunction. For a better explanation, the algorithm of this function is as follows:

1 updateDynamicQuestions()2 questions = []3 if selectedValues is empty4 add first question in dynamicQuestions5 else6 loop over dynamicQuestions7 loop over selectedValues8 if question is a question of a selected value9 add this question to questions, and break // question

is a previous question10 if question is not a question of any selected value and is

a question in global questions list // question alreadydisplayed and skipped

11 add question to questions list and increment index12 else if length of new questions list is less than global

list’s13 continue loop as there are still questions already

displayed and should be added from dynamicQuestions

6 More than six properties are shown only in case all these properties have selected values.7 This is the case, where the user chooses one of the questionnaires. If the user navigates directly to the filter, the

questions array would be empty.

Page 39: Simple Cloud Service Selection in the Open Service ......Simple Cloud Service Selection in the Open Service Compendium Based on Dynamic Questionnaires and Property Statistics by Luna

4.5. Filter and Questionnaires Implementation 27

14 else15 save index of question and break16 while (index < dynamicQuestions.length and questions.length <

6)17 if dynamicQuestions[index] is provided by at least one

service of filteredServices18 save value of service property in valueProvided19 if service provides different value than saved

valueProvided20 add dynamicQuestions[index] to questions and break21 increment index22 return questions

On the whole, the function adds all previous questions to the list. Then it loops over thedynamicQuestions array, and chooses the first question (not previously displayed),which has at least two options that are provided by at least one service. In this sense, thealgorithm ensures that the question would not lead the user to question with no matchingservices or to a question with a single option with non-zero matching services.

Note After implementing the dynamic questionnaire, some of the previous functions were ad-justed. For example, in the updateSelection function, the function call of updateDynamicQuestionsis added in order to update the array of questions when the user selects a value of a cer-tain question.

4.5.4 Architecture Adjustment

After the overall functionalities of both the questionnaire and the filer are implemented, thesetwo states should be separated in two different states in order to separate the concepts, and toprovide the user with the ability to navigate to the filter directly.

To avoid redundancy of code that would arise from two copies of common functionalities,a new service “ServiceMatching” is added. The functions are adjusted parameter-wise for thedata exchange between the controller and the service. In addition, updateSelection is over-ridden in both controllers to add state-specific conditions8. Figure 4.5 shows the final state ofthe class diagram of this contribution in the OSC system.

8 For example, in the questionnaire, updateSelection calls updateDynamicQuestions, whereas in the filterit calls updateShownProperties.

Page 40: Simple Cloud Service Selection in the Open Service ......Simple Cloud Service Selection in the Open Service Compendium Based on Dynamic Questionnaires and Property Statistics by Luna

28 Chapter 4. Implementation

Figure 4.5: Contribution part of the lass diagram in OSC showing the final state.

Note According to the final architecture, and based on the design and implementation discus-sions, the difference between the usage of AngularJS services in the proposed approach toexchange data between the statistics and the questionnaire, and in the ServiceMatchingservice is worth pointing out. Here, the first could lead to inconsistency in the system,while the latter has specific tasks, and allows sharing code across the system [33] as pre-viously mentioned.

Chapter SummaryIn this chapter, we presented the implementation phase of this contribution. After outliningthe technical description of the OSC system and introducing the tools used, we described thegeneral architecture adopted in the implementation. Then, the implementation of each compo-nent was described in detail, highlighting the main functions developed to complete the wholefunctionality of these components. Consequently, we will evaluate the OSC system with itsnew features in the next chapter.

Page 41: Simple Cloud Service Selection in the Open Service ......Simple Cloud Service Selection in the Open Service Compendium Based on Dynamic Questionnaires and Property Statistics by Luna

5 Evaluation

This chapter sheds the light on the findings and the results of this contribution by carrying outtwo different types of qualitative evaluation methods: analytical, and empirical. These methodsvalidate the proposed approaches, in order to evaluate their viability and applicability. Thefollowing sections conducting these evaluation methods introduce each type briefly, and thendescribe in the detail the evaluation of the proposed approaches.

5.1 Analytical EvaluationThe analytical evaluation contrasts and compares the contribution of this thesis to the pre-viously mentioned problem statement. Furthermore, it refers to the research questions, andhighlights the answers in the proposed approaches. Carrying out this evaluation is straight-forward.

As described in Chapter 2, the existing technologies are still short-handed at providing thesupport to the users in selecting cloud services. Current approaches studied feature limitedfiltering tools, lacking the diversity of options to fulfil the user’s requirements. With this regard,the filter tool implemented in this thesis fills the gaps by featuring a wide diversity of optionsgenerated from the cloud service vocabulary of the system.

With reference to the non-cloud-related selection platforms, which proved a successful userexperience, a questionnaire was developed to provide a high level of assessment to the userswith the cloud service selection. The questions are generated and displayed in two distinctways: static, and dynamic.

Since the dynamic questionnaire relies on the analytical and statistical information of thecloud services, implementing the statistical charts provided the required data, and featured,in addition, an analysing tool of cloud services and their properties for research or interestpurposes.

5.2 Empirical EvaluationEmpirical evaluation refers to the appraisal of a theory by observation in experiments [4]. Thisthesis carried out this evaluation method through short explorative interviews1 with five per-sons with distinct knowledge backgrounds to gain their first impressions on the respective stateof this contribution.

First, the Open Service Compendium system was presented to the interviewed persons,briefly introducing its components. Then they tested the system without assistance, in order to

1 A copy of all five interviews can be found in Appendix B

29

Page 42: Simple Cloud Service Selection in the Open Service ......Simple Cloud Service Selection in the Open Service Compendium Based on Dynamic Questionnaires and Property Statistics by Luna

30 Chapter 5. Evaluation

evaluate the personal user experience. To document their findings, three main questions wereasked, in addition to their general point of view.

1. Question: How well did the different components of the OSC system support you in selectingcloud services?

Options: Bad, Acceptable, Good, and Very good.

Among the four options, the majority evaluated the system as good, whereas one personconsidered it as very good. The common overall point of view indicated a good userexperience. However, all interviewed persons had complains about the insufficiency ofthe data (overall number of services), which limited their ability to perform tests withvarious requirements of the cloud services properties.

2. Question: How helpful was the questionnaire in its both types?

Options: Not helpful, Could be better, Acceptable, and Very helpful

Concerning the limitations defined by the insufficiency of the data, an interviewee in-dicated that the questionnaire could be better, arguing that the static questionnaire led inseveral cases to questions which no service provides regardless the value of the property(question)2, and that the capability to recognise the alteration and the diversity of thequestions in dynamic questionnaire is limited by the available data, and that the questionsshould be extended to cover non-enumerative properties as well.

Another interviewee considered the questionnaire acceptable, explaining that the ques-tions are relatively general, and the process of going step by step through the questionsand having to navigate back or wait till the end of the questionnaire to change someselected options could be time-consuming.

On the other hand, the other three persons considered the questionnaire very helpful.Those with limited knowledge background of cloud services pointed out the ease of useand the understandability of the questionnaire, which helped in finding cloud servicesthat matched their needs. Persons with good IT background were interested about know-ing how the dynamic questionnaire works, and agreed that the concept of rating is logicaland makes sense. One point of view was that the questionnaire could be easier to use forpeople with no or limited IT background, but for people more familiar with the IT fields,the filter would be preferable as it features a wide diversity of options.

3. Question: What do you think of the filter options?

Options: Overloaded/illegible, Could be less, Various, and I could filter according to all myrequirements (fulfilling)

In the same token of the previous question, an interviewee with limited IT knowledgecriticised the filter as being overloaded with options, which are unimportant and exces-sively in-depth for him as a normal user.

On the other hand, all other interviewees chose to evaluate the filter as various and/or ful-filling. From the latter group, some interviewees considered it easier to use and a straight-forward tool, which includes more specific properties than the questionnaires. They alsopointed out that the direct update of filtered services when selecting the options without

2 For example, among all 27 cloud services available in the system, only two services provide free trial. The restare unknown, as the property is not provided.

Page 43: Simple Cloud Service Selection in the Open Service ......Simple Cloud Service Selection in the Open Service Compendium Based on Dynamic Questionnaires and Property Statistics by Luna

5.3. Evaluation Summary 31

refreshing is a plus (compared to other cloud- and non-cloud-related selection platforms).The rest considered the filter helpful, and particularly complimented the feature, that thefilter is presented as the resulting page of the questionnaires, as well as a separated pageto initially start from.

In general, the results of the interviews indicated a high potential of the usability of the sys-tem. All interviewees indicated their willingness to use such a system reassuring the impor-tance of providing more data. Moreover, as a part of their general impression, the intervieweesprovided several suggestions as possible future work in the system:

1. Service ratings. after going through the questionnaire and/or filtering according to theuser’s requirements, a rating of each of the filtered service could be helpful in making thedecision.

2. User Entries. as an additional measurement in the dynamic questionnaire, the dynamicengine can be developed to save the most answered questions, and take this value intoconsideration as a part of the rating standards of the dynamic questions.

3. Data Standardisation and Providers’ Data Support. To improve the usability of the sys-tem, the data should be standardised in means of property providence. This means thatno property value for any cloud service should be unknown. In this regard, a possibleapproach would be linking the cloud service to its provider, who will keep the data up-to-date.

5.3 Evaluation SummaryIn general, the analytical evaluation and the analytical overview of the contribution of thisthesis showed that all stated problems were fully covered in accordance with the proposedapproaches, providing room for various options of potential future contributions.

As a summary of the empirical evaluation, the interviews provided support for the key ar-guments of this thesis. Although the number of interviewed persons is insufficient for an entirevalidation process, yet among this small group of people, the proposed approaches showed tobe usable, and fulfilled the problems previously stated. Moreover, the distinct knowledge back-grounds of the interviewees provided a remarkable insight of the usability of the approachesaccording to the different target users.

Page 44: Simple Cloud Service Selection in the Open Service ......Simple Cloud Service Selection in the Open Service Compendium Based on Dynamic Questionnaires and Property Statistics by Luna
Page 45: Simple Cloud Service Selection in the Open Service ......Simple Cloud Service Selection in the Open Service Compendium Based on Dynamic Questionnaires and Property Statistics by Luna

6 Summary and Future Work

In this thesis, we described the state-of-the-art in cloud computing with a closer look on theidentification of its concerns and gaps. For the purpose of responding to the concerns andfilling the gaps, several approaches have been proposed as an integral part of the Open ServiceCompendium (OSC).

In the first part of this thesis, research-related concepts were introduced to provide a betteroverview of the general application environment. The thesis clearly defined the cloud com-puting concept, and analysed cloud-related technologies as well as non-cloud-related selectionplatforms. Then we introduced the specific application environment and identified the currentstate of the OSC system..

The core of this contribution was represented in the design and the implementation of theproposed approaches, including the extended filter, the statistics as an intermediate approach,and the questionnaire in its two types: the static and the dynamic. In this regard, differentarchitectural improvements were discussed to avoid software inconsistency. Moreover, im-provements on the concept of the dynamic questionnaire have been highlighted throughoutthe discussion, to ensure the logic behind the questions displayed.

Finally, two main evaluation methods were conducted as to conclude the results of the re-search and the implementation, which showed that the proposed approaches are viable andapplicable.

6.1 Future WorkThe contribution of this thesis extended the existing OSC system with new functionalities pro-vided with easy to use web interfaces, which support the user in making a decision regardingthe selection of a cloud service. Nonetheless, these new components leave scope for furtherdevelopment and improvement:

Dynamic Questionnaire of all Service Properties. A straight-forward improvement is toadd non-enumerative properties to the dynamic system to extend its domain and cover allcloud services properties. This improvement was out of the scope of this contribution, as therating cannot be calculated for non-enumerative properties.

Expert Systems. Although an agreement on a definition does not exist, the term expert sys-tem is generally applied to a computer program that is able to give some sort of reasonedguidance on a fairly tightly delineated problem [36], and that simulates the judgment and be-haviour of a human or an organisation that has expert knowledge and experience in a particularfield [45]. Integrating an expert system in the OSC could improve the dynamic engine of the

33

Page 46: Simple Cloud Service Selection in the Open Service ......Simple Cloud Service Selection in the Open Service Compendium Based on Dynamic Questionnaires and Property Statistics by Luna

34 Chapter 6. Summary and Future Work

questionnaire by means of adding another mathematical module to the dynamic engine, whichcalculates, based on the user’s previous answers, the probabilities of the questions, by means ofwhich has the highest probability of leading to the matching service. In such a system, knowl-edge rules/base would be provided so that the system would learn from the users’ answersand the users’ choices of the cloud services. For that matter, questions displayed to the userwill be more relevant to the possible matching service based on the previous answer.

User Rating and Recommendation. In most online services, if not all, where users haveto make a decision of certain kind of selection, users tend to look for other users’ rating onthe item, as to learn of their experiences and so to make a better choice. In this context, theservice selection in the OSC system could be enhanced by providing the user with the abilityto rate and view other ratings on a certain service. This would be useful the most, in caseswhen the user enters all the requirements for a cloud service, and then has to make a decisionbetween several matching services. Furthermore, developing a recommendation system basedon the user’s preferences or previous purchases could be an additional support in the serviceselection.

Learning System. The logic of the dynamic questionnaire could be enhanced by integratingmachine learning to the dynamic engine. For this matter the system would learn which ques-tions are mostly answered and which are mostly skipped for a certain order of questions. Thisinformation would then be another part of the proposed rating of the questions.

Explainer Filter. The explainer phrase refers to the means of explaining to the user the reasonof non-matching services for a certain value in a certain filter option. To clarify, when a userapplies some filter options, the rest number of matching services in some property values be-comes zero1. An improvement in this means is to enable the user to see why the rest number ofa value is zero, by means of explaining which selected values have led to the zero, and that iswhen hovering on the value for example.

6.2 Publication of the Source CodeThe complete source code of the implementation all proposed approaches is accessible at theGitLab service provided by Technische Universität Berlin at https://git.snet.tu-berlin.de/luna.rawas/open-service-compendium_thesis with the commit ID 4b1a840f.

1 e.g. when choosing VM as a service category, PaaS and SaaS in the cloud service model become zero, as VMservices can only be of the model IaaS

Page 47: Simple Cloud Service Selection in the Open Service ......Simple Cloud Service Selection in the Open Service Compendium Based on Dynamic Questionnaires and Property Statistics by Luna

7 Conclusion

Given the wide adoption of cloud computing technology and the growing number of cloudservice providers, service consumers will increasingly face the challenge of finding appropri-ate cloud service that can satisfy their functional and non-functional requirements. To the bestof the knowledge acquired throughout this research, the existing approaches are primarily su-perficial.

To help service users to select suitable cloud services based on their uncertain requests, thisthesis has proposed multiple approaches in the Open Service Compendium (OSC) system, in-cluding an extended filter as a complementary component to the existing filtering tools, and aquestionnaire of two types, dynamic and static, as a new service selection tool. For the lattercomponent in its dynamic form, a mathematical module was developed to ensure the logicbehind the questions displayed to the user.

Nevertheless, the implemented approaches left a wide scope of options for further improve-ments and developments in the system. Further development of the dynamic questionnairein order to cover all service properties needs to be taken into consideration. Moreover, severalenhancements could be developed to ensure a better support for the users in their cloud serviceselection.

Together with the future work proposed, the contribution of this thesis would lead to a betterequipped OSC system with service selection tools that can facilitate a seamless user experience,and improve, in return, its competitiveness among other platforms.

35

Page 48: Simple Cloud Service Selection in the Open Service ......Simple Cloud Service Selection in the Open Service Compendium Based on Dynamic Questionnaires and Property Statistics by Luna
Page 49: Simple Cloud Service Selection in the Open Service ......Simple Cloud Service Selection in the Open Service Compendium Based on Dynamic Questionnaires and Property Statistics by Luna

List of Figures

2.1 Cloud computing architecture [50] . . . . . . . . . . . . . . . . . . . . . . . . . . . 7

4.1 Initial class diagram of the OSC system. . . . . . . . . . . . . . . . . . . . . . . . . 194.2 Class diagram of OSC with the Statistics state. . . . . . . . . . . . . . . . . . . . . . 204.3 Class diagram of OSC with the statistics and questionnaire controllers sharing

data through additional service. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 224.4 Class diagram of OSC with the new Info controller. . . . . . . . . . . . . . . . . . . 234.5 Contribution part of the lass diagram in OSC showing the final state. . . . . . . . 28

37

Page 50: Simple Cloud Service Selection in the Open Service ......Simple Cloud Service Selection in the Open Service Compendium Based on Dynamic Questionnaires and Property Statistics by Luna
Page 51: Simple Cloud Service Selection in the Open Service ......Simple Cloud Service Selection in the Open Service Compendium Based on Dynamic Questionnaires and Property Statistics by Luna

Bibliography

[1] Nicholas Bering. Angular Google Chart. 2014. URL: https://github.com/angular-google-chart/angular-google-chart.

[2] Robert B Bohn et al. “NIST cloud computing reference architecture”. In: Services (SERVICES),2011 IEEE World Congress on. IEEE. 2011, pp. 594–596.

[3] Rajkumar Buyya et al. “Cloud computing and emerging IT platforms: Vision, hype, and realityfor delivering computing as the 5th utility”. In: Future Generation Computer Systems 25.6 (June2009), pp. 599–616. ISSN: 0167-739X. DOI: 10.1016/j.future.2008.12.001. URL: http://www.sciencedirect.com/science/article/pii/S0167739X08001957 (visited on05/09/2016).

[4] David N Chin. “Empirical evaluation of user models and user-adapted systems”. In: User mod-eling and user-adapted interaction 11.1-2 (2001), pp. 181–194.

[5] Cloud Management Platforms. Aug. 2012. URL: http://www.gartner.com/it-glossary/cloud-management-platforms/ (visited on 05/08/2016).

[6] Susan A Dart et al. “Overview of Software Development Environments”. In: (2006). URL: http://www.ics.uci.edu/~andre/ics228s2006/dartellisonfeilerhabermann.pdf.

[7] James Michael Ferris. “United States Patent Application: 0100306379 - Methods and systemsfor providing a universal marketplace for resources for delivery to a cloud computing envi-ronment”. 20100306379. Dec. 2010. URL: http://appft1.uspto.gov/netacgi/nph-Parser?Sect1=PTO1&Sect2=HITOFF&d=PG01&p=1&u=/netahtml/PTO/srchnum.html&r=1&f=G&l=50&s1=20100306379.PGNR. (visited on 05/07/2016).

[8] Konstantinos Giannakouris and Maria Smihly. “Cloud computing - statistics on the use by en-terprises”. In: eurostat - Statistics Explained (2014). ISSN: 2443-8219. URL: http://ec.europa.eu/eurostat/statistics-explained/index.php/Cloud_computing_-_statistics_on_the_use_by_enterprises.

[9] Gartner IT Glossary. Cloud Computing. Feb. 2012. URL: http://www.gartner.com/it-glossary/cloud-computing/ (visited on 05/24/2016).

[10] Google. Angular Material. 2014. URL: https://material.angularjs.org/.

[11] Google. Charts. 2015. URL: https://developers.google.com/chart/ (visited on 05/17/2016).

[12] Google. Material Design. 2014. URL: https://www.google.com/design/spec/material-design/introduction.html.

39

Page 52: Simple Cloud Service Selection in the Open Service ......Simple Cloud Service Selection in the Open Service Compendium Based on Dynamic Questionnaires and Property Statistics by Luna

40 Chapter 7. Bibliography

[13] Google and IBM Announce University Initiative to Address Internet-Scale Computing Challenges. en-US. CTB10. Oct. 2007. URL: http://www-03.ibm.com/press/us/en/pressrelease/22414.wss (visited on 05/09/2016).

[14] D Heinemeier Hansson. Ruby on Rails. 2014. URL: http://rubyonrails.org.

[15] C. N. Höfer and G. Karagiannis. “Cloud computing services: taxonomy and comparison”.en. In: Journal of Internet Services and Applications 2.2 (June 2011), pp. 81–94. ISSN: 1867-4828,1869-0238. DOI: 10.1007/s13174-011-0027-x. URL: http://link.springer.com/article/10.1007/s13174-011-0027-x (visited on 04/29/2016).

[16] IBM - What is cloud computing? Jan. 2016. URL: https://www.ibm.com/cloud-computing/what-is-cloud-computing (visited on 04/29/2016).

[17] Ben Kepes. “Understanding the Cloud Computing Stack: SaaS, PaaS, IaaS”. In: Rackspace ().

[18] Won Kim. “On Challenges for Information Management Technology”. In: Journal of Object Tech-nology 6.4 (2007), pp. 25–32. URL: http://www.jot.fm/issues/issue_2007_05/column3.pdf.

[19] Fabian Knaack. “Towards an Open Service Compendium - Evaluation and Extension of Bro-kering Technologies copy”. en. Bachelor Thesis. Technische Universität Berlin, May 2015.

[20] L. Kuipers and H. Niederreiter. Uniform Distribution of Sequences. en. Courier Corporation, May2012. ISBN: 978-0-486-14999-8.

[21] Grace Lewis. “Basics About Cloud Computing”. en. In: (Sept. 2010). URL: http://www.sei.cmu.edu/library/assets/whitepapers/cloudcomputingbasics.pdf.

[22] Peter Mell and Timothy Grance. The NIST Definition of Cloud Computing. Tech. rep. 800–145.Gaithersburg, MD, United States: National Institute of Standards and Technology, Sept. 2011.URL: http://faculty.winthrop.edu/domanm/csci411/Handouts/NIST.pdf.

[23] Christian Mikalsen. “Moving into the Cloud”. In: (2009).

[24] Inc. MongoDB. mongoDB: Agile and Scalable. 2014. URL: http://www.mongodb.org.

[25] Horst Müller-Peters. “Vergleichsportale und Verbraucherwünsche”. de. In: Eine empirische Studiezu Vergleichsportalen für Kfz-Versicherungen. Schriftenreihe Forschung am IVW Köln, Bd 9 (2012).URL: https://www.f04.th- koeln.de/imperia/md/content/hp- f04/ivw/publikationen/vergleichsportale_und_verbraucherw_nsche_2012__m_ller_peters_.pdf.

[26] Oracle Openworld. Oracle Launches Oracle Cloud Marketplace to Provide Customers with Accessto a Wide Variety of Partner Applications to Extend Oracle Cloud. Press Release. Sept. 2013. URL:http://www.oracle.com/us/corporate/press/2021085 (visited on 07/05/2016).

[27] Ioannis Patiniotakis, Yiannis Verginadis, and Gregoris Mentzas. “PuLSaR: preference-basedcloud service selection for cloud service brokers”. en. In: Journal of Internet Services and Appli-cations 6.1 (Dec. 2015), pp. 1–14. ISSN: 1867-4828, 1869-0238. DOI: 10.1186/s13174-015-0042-4. URL: http://link.springer.com/article/10.1186/s13174-015-0042-4(visited on 05/08/2016).

[28] Han Qi and Abdullah Gani. “Research on mobile cloud computing: Review, trend and perspec-tives”. In: Digital Information and Communication Technology and it’s Applications (DICTAP), 2012Second International Conference on. ieee. 2012, pp. 195–202.

Page 53: Simple Cloud Service Selection in the Open Service ......Simple Cloud Service Selection in the Open Service Compendium Based on Dynamic Questionnaires and Property Statistics by Luna

41

[29] Ling Qian et al. “Cloud Computing: An Overview”. en. In: Cloud Computing. Ed. by MartinGilje Jaatun, Gansen Zhao, and Chunming Rong. Lecture Notes in Computer Science 5931.DOI: 10.1007/978-3-642-10665-1_63. Springer Berlin Heidelberg, Dec. 2009, pp. 626–631. ISBN:978-3-642-10664-4 978-3-642-10665-1. URL: http://link.springer.com/chapter/10.1007/978-3-642-10665-1%5C_63 (visited on 04/29/2016).

[30] Z. u Rehman, F. K. Hussain, and O. K. Hussain. “Towards Multi-criteria Cloud Service Selec-tion”. In: 2011 Fifth International Conference on Innovative Mobile and Internet Services in UbiquitousComputing (IMIS). June 2011, pp. 44–48. DOI: 10.1109/IMIS.2011.99.

[31] Arkaitz Ruiz-Alvarez and Marty Humphrey. “An Automated Approach to Cloud Storage Ser-vice Selection”. In: ScienceCloud ’11 Proceedings of the 2nd international workshop on Scientific cloudcomputing. New York, USA: ACM New York, June 2011, pp. 39–48.

[32] Benjamin Scheibehenne, Rainer Greifeneder, and Peter M Todd. “Can there ever be too manyoptions? A meta-analytic review of choice overload”. In: Journal of Consumer Research 37.3(2010), pp. 409–425. URL: http://edoc.unibas.ch/20586/1/PUBL_scheibehenne_greifeneder_JCR37_2010_409-425.pdf.

[33] Services. en. URL: https://docs.angularjs.org/guide/services.

[34] Mathias Slawik and Axel Küpper. “A Domain Specific Language and a Pertinent BusinessVocabulary for Cloud Service Selection”. In: Economics of Grids, Clouds, Systems, and Services.Springer, 2014, pp. 172–185.

[35] Mathias Slawik et al. “The Open Service Compendium. Business-pertinent Cloud Service Dis-covery, Assessment, and Selection”. In: CoRR abs/1508.06119 (2015). URL: http://arxiv.org/abs/1508.06119.

[36] David J Spiegelhalter et al. “Bayesian Analysis in Expert Systems”. In: Statistical Science (1993),pp. 219–247.

[37] Josef Spillner and Alexander Schill. “A Versatile and Scalable Everything-as-a-Service Regis-tery and Discovery.” en. In: Proceedings of the 3rd International Conference on Cloud Computingand Services Science. Germany, 2013, pp. 175–183. ISBN: 978-989-8565-52-5. DOI: 10.5220/0004373301750183. URL: http://www.rn.inf.tu-dresden.de/uploads/Publikationen/xaasregistry.pdf.

[38] A. Stanik, M. Hovestadt, and O. Kao. “Hardware as a Service (HaaS): Physical and virtualhardware on demand”. In: 2012 IEEE 4th International Conference on Cloud Computing Technologyand Science (CloudCom). Dec. 2012, pp. 149–154. DOI: 10.1109/CloudCom.2012.6427579.

[39] S. Sundareswaran, A. Squicciarini, and D. Lin. “A Brokerage-Based Approach for Cloud Ser-vice Selection”. In: 2012 IEEE 5th International Conference on Cloud Computing (CLOUD). June2012, pp. 558–565. DOI: 10.1109/CLOUD.2012.119.

[40] tutorialspoint.com. AngularJS Services. URL: http://www.tutorialspoint.com/angularjs/angularjs_services.htm (visited on 05/18/2016).

[41] Luis M. Vaquero et al. “A Break in the Clouds: Towards a Cloud Definition”. In: SIGCOMMComput. Commun. Rev. 39.1 (Dec. 2008), pp. 50–55. ISSN: 0146-4833. DOI: 10.1145/1496091.1496100. URL: http://doi.acm.org/10.1145/1496091.1496100.

Page 54: Simple Cloud Service Selection in the Open Service ......Simple Cloud Service Selection in the Open Service Compendium Based on Dynamic Questionnaires and Property Statistics by Luna

42 Chapter 7. Bibliography

[42] Md Whaiduzzaman et al. “Cloud Service Selection Using Multicriteria Decision Analysis, CloudService Selection Using Multicriteria Decision Analysis”. en. In: The Scientific World Journal,The Scientific World Journal 2014, 2014 (Feb. 2014), e459375. ISSN: 2356-6140, 2356-6140. DOI:10.1155/2014/459375,10.1155/2014/459375. URL: http://www.hindawi.com/journals/tswj/2014/459375/abs/,%20http://www.hindawi.com/journals/tswj/2014/459375/abs/ (visited on 05/08/2016).

[43] What is cloud management? - Definition from WhatIs.com. URL: http://searchcloudcomputing.techtarget.com/definition/cloud-management (visited on 05/08/2016).

[44] What is cloud marketplace? - Definition from WhatIs.com. URL: http://searchcloudprovider.techtarget.com/definition/cloud-marketplace (visited on 05/06/2016).

[45] What is expert system? - Definition from WhatIs.com. URL: http://searchhealthit.techtarget.com/definition/expert-system (visited on 06/01/2016).

[46] What is Hardware as a Service (HaaS)? - Definition from Techopedia. URL: https://www.techopedia.com/definition/13965/hardware-as-a-service-haas (visited on 04/30/2016).

[47] What is the IBM Marketplace? Feb. 2016. URL: https://developer.ibm.com/marketplace/docs/vendor-guide/welcome-to-ibm-marketplace/overview/ (visited on 05/07/2016).

[48] Markus Zanker, Johannes Cech, and Christian Russ. “Geizhals.at: vom Preisvergleich zur E-Commerce Serviceplattform”. de. In: Handbuch Electronic Customer Care. Ed. by Professor DrSonja M. Salmen and Professor Dr Michael Gröschel. DOI: 10.1007/978-3-7908-2680-7_18. Physica-Verlag HD, 2004, pp. 295–306. ISBN: 978-3-642-62216-8 978-3-7908-2680-7. URL: http://link.springer.com/chapter/10.1007/978-3-7908-2680-7_18 (visited on 05/16/2016).

[49] Miranda Zhang et al. “Investigating decision support techniques for automating cloud serviceselection”. In: Cloud Computing Technology and Science (CloudCom), 2012 IEEE 4th InternationalConference on. IEEE. 2012, pp. 759–764.

[50] Qi Zhang, Lu Cheng, and Raouf Boutaba. “Cloud Computing: state-of-the-art and researchchallenges”. en. In: Journal of Internet Services and Applications 1.1 (Apr. 2010), pp. 7–18. ISSN:1867-4828, 1869-0238. DOI: 10.1007/s13174-010-0007-6. URL: http://link.springer.com/article/10.1007/s13174-010-0007-6 (visited on 04/29/2016).

Page 55: Simple Cloud Service Selection in the Open Service ......Simple Cloud Service Selection in the Open Service Compendium Based on Dynamic Questionnaires and Property Statistics by Luna

Appendices

43

Page 56: Simple Cloud Service Selection in the Open Service ......Simple Cloud Service Selection in the Open Service Compendium Based on Dynamic Questionnaires and Property Statistics by Luna
Page 57: Simple Cloud Service Selection in the Open Service ......Simple Cloud Service Selection in the Open Service Compendium Based on Dynamic Questionnaires and Property Statistics by Luna

Appendix A

Algorithm of Finding Possible Options for Questions SetgetQuestionsValues(questions) is a function in the questionnaire, and its main task is to findthe possible options/values for a set of questions

1 getQuestionsValues(question)2 for each question in questions3 if the question has enumeration values // belongs to enumerations set of

properties4 create a value for the question for each enumeration value5 if question can have only a unique answer6 add ‘‘I don’t care ’’ value to allow skipping question7 else if question is ‘‘Maximum Storage Capacity’’8 manage the values manually // (e.g. 5 GB, 10 TB, etc.)9 else

10 make the question as yes/no question

45

Page 58: Simple Cloud Service Selection in the Open Service ......Simple Cloud Service Selection in the Open Service Compendium Based on Dynamic Questionnaires and Property Statistics by Luna
Page 59: Simple Cloud Service Selection in the Open Service ......Simple Cloud Service Selection in the Open Service Compendium Based on Dynamic Questionnaires and Property Statistics by Luna

Appendix B

This appendix includes a copy of all five interviews made for the empirical evaluation of the thesis.The profession of each interviewee will be identified. After user testing, each interview took placein form of answering three main questions, as well as expressing the general impression of the OpenService Compendium Systems with the implemented components.

Interview 1Interviewee profession: First semester bachelor student in computer science

Interviewee answers to the three main questions:

1. Question: How well did the different components of the OSC system support you in selecting cloudservices?Answer: Good

2. Question: How helpful was the questionnaire in its both types?Answer: Very helpful

3. Question: What do you think of the filter options?Answer: Could be less

General point of view:

• According to the questions, I was able to find the cloud services that match my requirements,which is much better than google searching which would give a countless number of services.

• It would be good to have user ratings of the services.

• The statistics is only useful in case of doing a research.

Interview 2Interviewee profession: First semester master student in technical computer science (graduate ofcommunications engineering)

Interviewee answers to the three main questions:

1. Question: How well did the different components of the OSC system support you in selecting cloudservices?Answer: Good

2. Question: How helpful was the questionnaire in its both types?

47

Page 60: Simple Cloud Service Selection in the Open Service ......Simple Cloud Service Selection in the Open Service Compendium Based on Dynamic Questionnaires and Property Statistics by Luna

48 Appendix . Appendix B

Answer: Acceptable

3. Question: What do you think of the filter options?Answer: I could filter according to all my requirements (fulfilling)

General point of view:

• I prefer the filter than answering each question, going step by step and if willing to change, theuser should go back or wait till finishing the questionnaire, could be boring.

• Filter is easier, and includes more specific properties.

• The system in general is absolutely better than google search, which would be very general. OrI would need to look for web services that provide such features (cloud service selection tools),which are hard to find.

• I like the fact that filtered services are directly updated when selecting any option without re-freshing the page.

Interview 3Interviewee profession: Senior software developer

Interviewee answers to the three main questions:

1. Question: How well did the different components of the OSC system support you in selecting cloudservices?Answer: Very good

2. Question: How helpful was the questionnaire in its both types?Answer: Very helpful

3. Question: What do you think of the filter options?VariousAnswer: I could filter according to all my requirements (fulfilling)

General point of view:

• It was helpful, and I would like to use such a service online, much more and more data thoughto be beneficial in the real world.

• The dynamic engine:

◦ makes sense

◦ could use also user entries as an additional way to calculate the rating.

◦ it is better to remove the zero values to improve the selection criteria and to remove un-needed steps.

• the filter is helpful, and it’s good to have as the result page of the dynamic engine and as aseparated page to start from.

• some small bugs (doesn’t matter counter, and checkboxes), but could be solved easily though.

• bring it online, so we use it :)

Page 61: Simple Cloud Service Selection in the Open Service ......Simple Cloud Service Selection in the Open Service Compendium Based on Dynamic Questionnaires and Property Statistics by Luna

49

Interview 4Interviewee profession: Master student in technical computer science

Interviewee answers to the three main questions:

1. Question: How well did the different components of the OSC system support you in selecting cloudservices?Answer: Good

2. Question: How helpful was the questionnaire in its both types?Answer: Could be better

3. Question: What do you think of the filter options?Answer: Various

General point of view:

• The data should be more, and it should be standardised (properties of the services should bestandard).

• add non-enumeration properties to the dynamic questionnaire.

• Filter for professional people, or better said people with IT background, is better.

• Normal users would prefer the questionnaire.

• Simple and understandable.

• It can be developed, where service providers could support with the data.

Interview 5Interviewee profession: Junior software developer

Interviewee answers to the three main questions:

1. Question: How well did the different components of the OSC system support you in selecting cloudservices?Answer: Good

2. Question: How helpful was the questionnaire in its both types?Answer: Very helpful

3. Question: What do you think of the filter options?Answer: I could filter according to all my requirements (fulfilling)

General point of view:

• I will use the questionnaire in case I don’t know which cloud service to use, especially becausethe data is collected in one place.

• I think that the questionnaire in general is more helpful for people with no or little IT infras-tructure background, but people with software or IT backgrounds would probably prefer usingthe filter interface.

• The dynamic questionnaire could be improved if more data has been provided from the databaseor the backend side.

• Other than this, I think it’s indeed helpful.