Luận án tiến sĩ researching multi cloud marketplace model
- 130 trang
- file .pdf
MINISTRY OF EDUCATION AND TRAINING
HANOI UNIVERSITY OF SCIENCE AND TECHNOLOGY
HUYNH HOANG LONG
RESEARCHING MULTI-CLOUD MARKETPLACE MODEL
DOCTORAL DISSERTATION OF INFORMATION SYSTEMS
Hanoi - 2022
MINISTRY OF EDUCATION AND TRAINING
HANOI UNIVERSITY OF SCIENCE AND TECHNOLOGY
HUYNH HOANG LONG
RESEARCHING MULTI-CLOUD MARKETPLACE MODEL
Major: Information Systems
Code: 9480104
DOCTORAL DISSERTATION OF INFORMATION SYSTEMS
SUPERVISORS:
1. Ph.D. NGUYEN HUU DUC
2. Assoc.Prof. LE TRONG VINH
Hanoi - 2022
DECLARATION OF AUTHORSHIP
I hereby declare that this thesis is my original work and it has been written by me
in its entirety. I confirm that:
• This work was done wholly during in Ph.D. student at Hanoi University of Sci-
ence and Technology.
• Where any part of this thesis has previously been submitted at Hanoi University
of Science and Technology or any other institution, this has been clearly stated.
• Where I have consulted the published work of others, this is always clearly at-
tributed.
• Where I have quoted from the work of others, the source is always given. With
the exception of such quotations, this thesis is entirely my own work.
• I have acknowledged all main sources of help.
• Where the thesis is based on work done by myself jointly with others, I have
made exactly what was done by others and what I have contributed myself.
Hanoi, February 22th 2022
Supervisors Ph.D. Student
i
ACKNOWLEDGEMENT
My dissertation would not have finished without the support of my supervisors,
family, co-authors, and colleagues. I am grateful to all those people who supported
and inspired me while facing academic and personal challenges.
My supervisors. I would like to pay the deepest gratitude to my first supervisor
Dr. Nguyen Huu Duc for offering me a great environment, plenty of opportunities,
and freedom to be creative. Working with him marked an auspicious beginning to my
doctoral upbringing. In critical moments, he has been available to provide sincere and
determined opinions, helping me make the right decisions. I also thank my second
supervisor, Assoc. Prof. Le Trong Vinh for his advice, encouragements and guidance
throughout my Ph.D study. His experiences and insights are immensely meaningful for
me in my works. I am grateful to them for devoting their precious time to discussing
research ideas, proofreading, and explaining how to write good research papers. I
would like to thank them for encouraging my research and empowering me to grow as
a research scientist.
My family. I am grateful to my parents for their limitless love and my parents
brought me up with great values of life, including humility and patience. They always
wish I could get Ph.D degree. Without their sacrifices and guidance, my education
would have been impossible. I also thank my grandmother for her advice in every
aspect of life. My success is also theirs.
My co-authors. Many thanks to my co-authors in our works. They had valuable
comments for my works. Special thanks to Prof. Zhenjiang Hu and Assoc. Prof.
Huynh Quyet Thang for giving me an internship trip at National Institute of Informat-
ics, Japan. Prof. Hu and members of Tsumina Lab warmly welcomed me into their lab
and offered the helpful collaboration in research. Particularly, Van Dang (Ph.D student
at NII) and I achieved a successful combination, our paper was accepted by SOMET
2019. I also thank Mr Le Duc Hung (Ph.D student at TU Wien) for supporting me to
implement component-based cloud software on multi-cloud.
My colleagues. Many thanks to my colleagues from Department of Information
System, School of Information and Communication Technology, Hanoi University of
Science and Technology. Particularly, Assoc. Prof. Nguyen Thi Kim Anh and As-
soc. Prof. Nguyen Binh Minh for providing such a stimulating and friendly working
ii
atmosphere. It is fortunate for me to study in an active environment.
Thank you all!
Hanoi, February 22th 2022
Ph.D. Student
Huynh Hoang Long
iii
ABSTRACT
Cloud computing have been an effective delivery model for distributing computing
that enables the delivery of applications as services over Internet, as well as platform-
and infrastructure-level computing resources. It has been increasingly used by busi-
nesses, organizations and individuals as a cost-effective IT solution. Currently, con-
sumers can approach cloud services through several existing service delivery methods
in a convenient way as follows: Direct cloud service delivery, Cloud Brokerage, and
Cloud Marketplace. However, these cloud service delivery models have many limi-
tations on cloud service product information, quality of service, monopoly, competi-
tiveness, etc. These problems have been damaging to the benefits of cloud consumers
having to pay higher than the real value of cloud services. In addition, different com-
mercial cloud providers impose different application architectures that tend to lock
consumers into their services and do not want to allow the direct competition with oth-
ers. This is the cause of the well-known issue: vendor lock-in. In economics, vendor
lock-in, also known as proprietary lock-in or customer lock-in, makes a customer
dependent on a vendor for products and services, unable to use another vendor without
substantial switching costs [82]. Because they cannot easily move to another cloud
provider in the future without experiencing issues such as high costs, legal constraints,
technical incompatibilities [59].
For example, when a consumer buys WordPress Application on Bitnami, he is
first provided two deployment offering options: single-tier and multi-tier. Then he
is provided several options to launch WordPress Application: Amazon web services,
Google cloud platform, and Azure. WordPress Application can only be deployed on
one of these three services. There are two machines that are similar on paper as they
both have four cores. Amazon VM offers more memory, but the price is very simi-
lar. In fact, Amazon VM offers almost twice the blended compute capacity over 24
hours than its Google cloud equivalent but database technology of Google is quite
better. In the first case, if a consumer has been using Google Cloud and he spots a
great cloud service pricing from Amazon. He is not allowed to move cloud service
running on Google Cloud to Amazon. Another reason is because cloud technologies
are incompatible between Amazon and Google. In the second case, it is impossible
if WordPress App Server is hosted on Amazon and WordPress Database is hosted on
iv
Google Cloud to leverage the benefits of two cloud providers. Taking advantage of it
is not going to be easy because before he know it, he will be locked into single cloud
provider. This challenge can be overcome if the WordPress App Server and Wordpress
Database could be spread across two cloud providers to benefit from each provider’s
best technology and less VM capacity (cheaper but meets the need). More effectively,
WordPress components should be described in an open standard so that other providers
than those mentioned above can offer cloud services at competitive prices and better
capacities, and its components could be easily ported to other cloud.
To deal with vendor lock-in problem, multi-cloud is the effective approach because
a multi-cloud strategy enables consumers to select any cloud service to meet the re-
quirements of a particular application or workload as well as porting cloud software
to another cloud. In this way, we have an interesting ideal about a multi-cloud service
delivery model that facilitates to distribute Software as a Service (SaaS) across various
clouds as well as liberates cloud developers from being tied to proprietary technology
ecosystems. To turn our idea into reality, we sketch O-Marketplace Model (multi-
cloud marketplace model) and define Composable Application Model (component-
based cloud application model). To demonstrate the practicality of two proposed
model, research works are focused on as follows:
(i) O-Marketplace Model, after analyzing the limitations of existing cloud service
delivery methods, a multi-cloud service delivery method is proposed to overcome
these limitations, and a promising multi-cloud marketplace model is built up.
(ii) Composable Application Model, we first build up its concept and its description
method, then the experimentation is conducted by transform into TOSCA speci-
fication to evaluate the feasibility of the proposed multi-cloud application model.
Finally, relying on Composable Application Model and O-Marketplace context,
some issues of cloud computing are tackled to prove the practicality of two pro-
posed model such as: matchmaking for multi-cloud marketplace application,
multi-cloud application portability, multi-cloud application auto-repairing.
Keywords: Cloud computing, Vendor lock-in, multi-cloud environment, multi-
cloud marketplace, multi-cloud service delivery, multi-cloud application, matchmak-
ing, multi-cloud application portability, multi-cloud application auto-repairing, Com-
posable Application Model, O-Marketplace, Blueprint.
v
CONTENTS
DECLARATION OF AUTHORSHIP . . . . . . . . . . . . . . . . . . . . . i
ACKNOWLEDGEMENT . . . . . . . . . . . . . . . . . . . . . . . . . . . ii
ABSTRACT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . iv
CONTENTS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . vi
ABBREVIATIONS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . x
LIST OF TABLES . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xi
LIST OF FIGURES . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xii
Chapter 1. INTRODUCTION 1
1.1 Context . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1
1.2 Thesis research issues and motivation . . . . . . . . . . . . . . . . . 4
1.2.1 Research issues . . . . . . . . . . . . . . . . . . . . . . . . . 4
1.2.2 Motivation . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
1.2.3 Thesis objectives . . . . . . . . . . . . . . . . . . . . . . . . 7
1.3 Thesis contributions . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
1.3.1 O-Marketplace Model . . . . . . . . . . . . . . . . . . . . . 9
1.3.2 Composable Application Model . . . . . . . . . . . . . . . . 9
1.4 Thesis outline . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
Chapter 2. BACKGROUND 12
2.1 Cloud Computing . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
2.1.1 Overview of Cloud computing . . . . . . . . . . . . . . . . . 12
2.1.2 Cloud environment classification . . . . . . . . . . . . . . . . 15
2.1.2.1 Single-cloud environment . . . . . . . . . . . . . . 15
2.1.2.2 Multi-cloud environment . . . . . . . . . . . . . . 17
2.1.3 The advantages of multi-cloud environment . . . . . . . . . . 18
2.2 Existing cloud service delivery models . . . . . . . . . . . . . . . . . 21
2.2.1 Cloud service brokerage . . . . . . . . . . . . . . . . . . . . 21
2.2.2 Cloud marketplace . . . . . . . . . . . . . . . . . . . . . . . 24
2.3 Related technologies . . . . . . . . . . . . . . . . . . . . . . . . . . 27
vi
2.3.1 Topology and Orchestration Specification for Cloud Applica-
tion - TOSCA . . . . . . . . . . . . . . . . . . . . . . . . . . 27
2.3.2 Settling and Launching Service Applications - SALSA . . . . 28
2.4 Related works . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31
2.4.1 Approaches for cloud application . . . . . . . . . . . . . . . 31
2.4.2 Approaches for cloud application description . . . . . . . . . 31
2.4.3 Approaches for matchmaking cloud services . . . . . . . . . 32
2.4.4 Approaches for cloud portability . . . . . . . . . . . . . . . . 33
2.4.5 Approaches for cloud application repairing . . . . . . . . . . 34
2.5 Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34
Chapter 3. O-MARKETPLACE 35
3.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35
3.2 Existing methods for delivering cloud services . . . . . . . . . . . . . 36
3.2.1 Simple cloud service delivery method . . . . . . . . . . . . . 36
3.2.2 Cloud service delivery through Cloud Brokerage . . . . . . . 38
3.2.3 Cloud service delivery through Cloud Marketplace . . . . . . 39
3.3 O-Marketplace Model . . . . . . . . . . . . . . . . . . . . . . . . . . 41
3.3.1 The proposed cloud service delivery method for multi-cloud
marketplace . . . . . . . . . . . . . . . . . . . . . . . . . . . 41
3.3.2 Overall structure of O-Marketplace . . . . . . . . . . . . . . 42
3.3.3 The operation mechanism of O-Marketplace . . . . . . . . . 44
3.4 The novel approach in SaaS provisioning of
O-Marketplace . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47
3.5 The feasibility of O-Marketplace Model . . . . . . . . . . . . . . . . 49
3.6 The goals of O-Marketplace . . . . . . . . . . . . . . . . . . . . . . 49
3.7 Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50
Chapter 4. COMPOSABLE APPLICATION MODEL 52
4.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52
4.2 General concept of CAM . . . . . . . . . . . . . . . . . . . . . . . . 54
4.2.1 Cloud Application . . . . . . . . . . . . . . . . . . . . . . . 54
4.2.2 Cloud Software . . . . . . . . . . . . . . . . . . . . . . . . . 55
4.2.3 Cloud Platform . . . . . . . . . . . . . . . . . . . . . . . . . 56
4.3 Simple Definition for CAM . . . . . . . . . . . . . . . . . . . . . . . 57
vii
4.3.1 Matching definition . . . . . . . . . . . . . . . . . . . . . . . 57
4.3.2 Abstract model of CAM . . . . . . . . . . . . . . . . . . . . 58
4.3.2.1 Multi-component cloud software model . . . . . . 58
4.3.2.2 Base Component . . . . . . . . . . . . . . . . . . . 59
4.3.2.3 Simple Component . . . . . . . . . . . . . . . . . 60
4.3.2.4 Cloud Software Stack . . . . . . . . . . . . . . . . 60
4.3.2.5 Cloud Software Composition . . . . . . . . . . . . 62
4.3.2.6 Cloud Platform . . . . . . . . . . . . . . . . . . . 63
4.4 Description Templates of CAM . . . . . . . . . . . . . . . . . . . . . 64
4.4.1 CAM-based Multi-cloud Application Description Template . 65
4.4.2 General Structure of Cloud Software Component Template . . 66
4.4.3 Simple Software Component Template . . . . . . . . . . . . 67
4.4.4 Cloud Software Stack Template . . . . . . . . . . . . . . . . 68
4.4.5 Cloud Software Composition Template . . . . . . . . . . . . 69
4.4.6 Platform Service Template . . . . . . . . . . . . . . . . . . . 70
4.5 Experimentation of CAM . . . . . . . . . . . . . . . . . . . . . . . . 71
4.5.1 Overview of CAM-D to TOSCA Specification Transformation
Method . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 71
4.5.1.1 Flattening algorithm . . . . . . . . . . . . . . . . . 72
4.5.1.2 Mapping to TOSCA . . . . . . . . . . . . . . . . . 75
4.5.2 Case Study . . . . . . . . . . . . . . . . . . . . . . . . . . . 75
4.5.2.1 CAM-Based Wordpress Application Description . . 75
4.5.2.2 Transforming Wordpress Description Templates to
TOSCA-Based specification . . . . . . . . . . . . . 78
4.5.2.3 Deploying Wordpress Application on multi-cloud by
SALSA . . . . . . . . . . . . . . . . . . . . . . . 80
4.6 Applications of CAM in O-Marketplace context . . . . . . . . . . . . 81
4.6.1 CAM-based matchmaking method for O- Marketplace . . . . 81
4.6.1.1 The proposed approach for matchmaking method . 81
4.6.1.2 Matchmaking context . . . . . . . . . . . . . . . . 82
4.6.1.3 Matchmaking algorithm . . . . . . . . . . . . . . . 83
4.6.2 CAM-based multi-cloud application portability . . . . . . . . 85
4.6.2.1 The proposed approach for multi-cloud application
portability . . . . . . . . . . . . . . . . . . . . . . 85
viii
4.6.2.2 The proposed method for auto-updating multi-cloud
application blueprint . . . . . . . . . . . . . . . . . 87
4.6.2.3 View updating program . . . . . . . . . . . . . . . 89
4.6.3 CAM-based method for auto-repairing multi-cloud marketplace
application . . . . . . . . . . . . . . . . . . . . . . . . . . . 93
4.6.3.1 The proposed approach for auto-repairing multi-cloud
application . . . . . . . . . . . . . . . . . . . . . . 93
4.6.3.2 Procedure of multi-cloud application auto-repairing 94
4.6.3.3 Re-deploying and re-configuring CAM-based cloud
application . . . . . . . . . . . . . . . . . . . . . . 95
4.7 Discussions of CAM . . . . . . . . . . . . . . . . . . . . . . . . . . 96
4.7.1 The role of CAM in O-Marketplace model . . . . . . . . . . 96
4.7.2 The role of CAM in cloud application development . . . . . . 97
4.8 Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 98
Chapter 5. CONCLUSION AND PERSPECTIVES 99
5.1 Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 99
5.2 Future works . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 103
BIBLIOGRAPHY . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 105
LIST OF PUBLICATIONS . . . . . . . . . . . . . . . . . . . . . . . . . . 115
ix
ABBREVIATIONS
API Application Programing Interface
AWS Amazone Web Services
BXs Bidirectional Transformations
CAM Composable Application Model
CAM-D CAM-based Description Method
CDMI Cloud Data Management Interface
CRM Customer Relationship Management
CSB Cloud Service Brokerage
CSP Cloud Service Provider
DB Database
EC2 Elastic Computing Cloud
I/O Input/Output
IaaS Infrastructure as a Service
IP Internet Protocol
IT Information Technology
JSON Java Script Object Notation
OCCI Open Cloud Computing Interface
OS Operation System
OVF Open Virtualization Format
PaaS Platform as a Service
QoS Quality of Service
RDBMS Relational Database Management System
REST Representational State Transfer
S3 Amazon Simple Storage Service
SaaS Software as a Service
SALSA Settling and Launching Service Applications
SLA Service Level Agreement
SQL Structured Query Language
TOSCA Topology Ochestration Specification for Cloud Application
VM Virtual Machine
XML Extensible Markup Language
YAML Yet Another Markup Language
x
LIST OF TABLES
2.1 Cloud Providers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
3.1 Existing Cloud Marketplaces . . . . . . . . . . . . . . . . . . . . . . 36
3.2 The operation mechanism of O-Marketplace . . . . . . . . . . . . . . 46
5.1 The comparison between CAM-D and TOSCA Specification . . . . . . 102
xi
LIST OF FIGURES
1.1 The potential for vendor lock-in risks is exacerbated in the cloud (source
[59]). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
2.1 Cloud Service Model (source [84]). . . . . . . . . . . . . . . . . . . 13
2.2 Single cloud architecture. . . . . . . . . . . . . . . . . . . . . . . . . 15
2.3 Multi-cloud architecture. . . . . . . . . . . . . . . . . . . . . . . . . 18
2.4 Processes in a CSB platform (source [52]). . . . . . . . . . . . . . . 23
2.5 High level architecture of Cloud Broker Service (source [20]). . . . . 23
2.6 TOSCA Service Template overview (source [50]). . . . . . . . . . . . 28
2.7 Multi application levels and multi deployment stacks (source [48]). . . 29
2.8 SALSA Architecture (source [48]). . . . . . . . . . . . . . . . . . . . 30
3.1 Simple cloud service delivery method. . . . . . . . . . . . . . . . . . 37
3.2 Cloud service delivery method through Cloud Brokerage. . . . . . . . 38
3.3 Cloud service delivery method through the private cloud marketplace. 39
3.4 Cloud service delivery method through cloud marketplace owned by
the third party. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40
3.5 The proposed multi-cloud service delivery method. . . . . . . . . . . 41
3.6 O-Marketplace Model. . . . . . . . . . . . . . . . . . . . . . . . . . 43
3.7 Actors of O-Marketplace. . . . . . . . . . . . . . . . . . . . . . . . . 45
3.8 O-Marketplace Ecosystem . . . . . . . . . . . . . . . . . . . . . . . 47
4.1 Composable Application Model. . . . . . . . . . . . . . . . . . . . . 54
4.2 Component types of CAM. . . . . . . . . . . . . . . . . . . . . . . . 55
4.3 The formal definition of multi-component cloud software. . . . . . . . 58
4.4 Base component. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59
4.5 Cloud software stack. . . . . . . . . . . . . . . . . . . . . . . . . . . 61
4.6 Cloud software composition. . . . . . . . . . . . . . . . . . . . . . . 62
4.7 Cloud Platform. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63
4.8 CAM-based Multi-cloud Application Template . . . . . . . . . . . . . 65
4.9 General Structure of a Cloud Software Component Template . . . . . 66
xii
4.10 Simple Software Component Template . . . . . . . . . . . . . . . . . 67
4.11 Software Stack Component Template . . . . . . . . . . . . . . . . . . 68
4.12 Software Composition Template . . . . . . . . . . . . . . . . . . . . 69
4.13 CAM-based Platform Service Template . . . . . . . . . . . . . . . . . 70
4.14 Port Signature . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 71
4.15 Wordpress Application modeled by CAM. . . . . . . . . . . . . . . . 75
4.16 Wordpress Application Description Template . . . . . . . . . . . . . . 76
4.17 Wordpress Application Description Templates . . . . . . . . . . . . . 77
4.18 Wordpress Application specification . . . . . . . . . . . . . . . . . . 77
4.19 Wordpress Application graph . . . . . . . . . . . . . . . . . . . . . . 78
4.20 TOSCA-based Description of WordPress Application. . . . . . . . . . 79
4.21 Deploying Wordpress Application on multi-cloud. . . . . . . . . . . . 80
4.22 Wordpress Application deployment process by SALSA. . . . . . . . . . 81
4.23 Matchmaking context of O-Marketplace. . . . . . . . . . . . . . . . . 82
4.24 Auto-updating cloud application’s Blueprint process. . . . . . . . . . 88
4.25 The core of Blueprint Update System. . . . . . . . . . . . . . . . . . 88
4.26 TOSCA-based specification of new platform component for WordPress
Application. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 89
4.27 Conceptual model of TOSCA Template. . . . . . . . . . . . . . . . . 90
4.28 Synchronizing “Node Template” by BXs. . . . . . . . . . . . . . . . . 90
4.29 Update strategy for the view ViewNodeTemplate (Putback transforma-
tion). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 92
4.30 Forward transformation of the view ViewNodeTemplate. . . . . . . . . 92
4.31 Procedure for auto-repairing multi-cloud application. . . . . . . . . . 95
xiii
C HAPTER 1
INTRODUCTION
In this chapter, current limitations are pointed out and the research road-map is
built up. After introducing the research context, the motivation and the research issues
throughout this thesis are introduced. Then, the objectives as well as scopes of studies
are emphasized. Next, contributions of this thesis are summarized in order to give a
clear view of the achievements. Finally, the structure of thesis is presented.
1.1 Context
Cloud computing is the latest technology utilized to deliver on-demand services
over internet. It is undoubtedly affecting the way business is conducted and is empow-
ering a new generation of products and services. Cloud computing provides computing
resources, middleware and (web-based) software on-demand. This model helps cus-
tomers saving costs and allows access to the cloud services such as Infrastructure as
a Service (IaaS), Platform as a Service (PaaS), Software as a Service (SaaS). In our
works, we are especially interested in ways delivering SaaS to consumers.
Currently, a popular cloud service model assists cloud consumers in finding SaaS
is cloud marketplace. Most cloud providers offer lists of cloud service bundles with
clear information and prices. It is easy for consumers to retrieve the cloud services
they need from a catalogue of a certain cloud provider. There are some well-known
cloud marketplaces such as AWS Marketplace1 , Google Apps 2 , IBM Marketplace3 .
Basically, in this model, cloud marketplaces are owned by particular cloud providers
to provide SaaS developed by themselves on their proprietary cloud platforms. On
the other hand, the emergence and rapid development of open source cloud technolo-
gies such as OpenStack 4 , Eucalyptus5 , CloudStack6 , etc.; open standards such as
1
https://aws.amazon.com/marketplace/
2
https://developer.google.com/apps-marketplace/
3
http://www.ibm.com/marketplace/
4
https://www.openstack.org/
5
https://www.eucalyptus.cloud/
6
https://cloudstack.apache.org/
1
Open Cloud Computing Interface7 (OCCI), Open Virtualization Format8 (OVF), Cloud
Data Management Interface9 (CDMI), etc.; and open source PaaS such as Open Shift10
, Cloud Foundry11 , which bring great opportunities for cloud software development
without having to depend on proprietary technology platforms. Thanks to that, the
number of applications independently developed by third parties have been increasing.
So consumers have more and more consumption options to meet their demands.
In general, most of SaaS are closely tied to the technical infrastructures of their
owners. This leads to the problem of tying consumers and application developers into
the separate infrastructures of cloud ecosystems. This is the cause of vendor lock-in
problem [6, 8, 57, 59, 75, 82] in cloud computing, which is characterized by expen-
sive and time-consuming migration of application and data to alternative providers
[57, 58]. For example, Figure 1.1 highlights UK businesses are concerned about hav-
ing corporate data locked-in to a single cloud provider where an enterprise is using
cloud to perform essential business activities to keep operations running [59]. Cloud
vendor locks customers in several ways: (i) by developing his own platforms featuring
proprietary web, command-line, and programming interfaces; (ii) by using proprietary
standards or private architectures that lack interoperability with other cloud systems;
(iii) by licensing the cloud software under exclusive conditions. Thus, vendor lock-in
deters organizations adopting cloud technology. Beside, the main functionality of ex-
isting cloud marketplaces is limited to the brokerage of cloud resources and payment
procedures. These limitations have been inhibiting the growth of the cloud market.
In fact, a well-implemented multi-cloud strategy is a productive and flexible solu-
tion at a lower cost. The cloud and SaaS market as a whole is growing and changing
towards multi-cloud for years. The best-known cloud service providers are Amazon
Web Services (AWS), Microsoft Azure and Google Cloud Platform (GCP). They pro-
vide the cloud infrastructures on which various SaaS providers can host and deliver
their solutions to their customers. Large, individual SaaS providers such as Sales-
force also enjoy a high profile. In addition, there are a large number of lesser-known
providers that provide the cloud infrastructure for SaaS, individual SaaS solutions, or
both. There are a number of good reasons that pursue a multi-cloud strategy12 :
7
http://occi-wg.org/
8
https://www.dmtf.org/standards/ovf/
9
https://www.snia.org/cdmi/
10
https://www.openshift.com/
11
https://www.cloudfoundry.org/
12
https://blog.seeburger.com/the-advantages-and-challenges-of-a-multi-cloud-strategy/
2
Figure 1.1: The potential for vendor lock-in risks is exacerbated in the cloud (source
[59]).
• First, a multi-cloud strategy allows consumers to access the very specific ca-
pabilities they are lacking. Each cloud provider has their own strengths and
weaknesses so consumers select and deploy the best market solution for their
particular task, works best with a multi-cloud strategy.
• Second, a multi-cloud strategy helps consumers not to depend entirely on one
single cloud service provider, the likelihood of a service outage or severe decline
in performance due to a catastrophic event is reduced.
• Third, a multi-cloud strategy helps companies scale their software and IT re-
source needs to meet a particular need on a short-term, saving costs.
• Fourth, a multi-cloud strategy can helps customers to benefit from the lively
competition between the various SaaS and other cloud service providers and the
resultingly strong competition on price.
• Fifth, a multi-cloud strategy protects against possible vendor lock-in by SaaS
providers. Resources can be distributed across multiple cloud providers, which
avoids dependency on a single supplier. In addition, the strong competition in the
3
market means that some SaaS providers try to make switching from competitors’
offerings to their own as easy as possible for those wanting or willing to switch.
In our view, it is possible to evolve multi-cloud marketplace model and multi-cloud
application model to reduce vendor lock-in if efficiently leveraging the outstanding
advantages of the multi-cloud environment.
1.2 Thesis research issues and motivation
1.2.1 Research issues
So far, the existing service delivery models such as Direct Cloud Service Delivery,
Cloud Brokerage, and Cloud Marketplace have been making important contributions
to the distribution of the cloud services. These models not only facilitate cloud con-
sumers to approach cloud services quickly and conveniently, but also effectively sup-
port cloud providers to bring directly cloud services to consumers. Nevertheless, the
limitations of existing cloud service delivery models have been hindering the growth
rate of the cloud service market such as monopoly, less competitiveness, Quality of
Service monitoring, etc. The fact that, cloud market is dominated and controlled by
giants although some cloud solutions based on open source technologies that can offer
pretty good cloud solutions. Most cloud providers have been building proprietary SaaS
platforms where their applications are hosted in a SaaS business model and establish-
ing a series of restrictions for their cloud platforms. Hence, these proprietary platforms
prevent applications offered by different vendors which cannot easily host on the plat-
forms offered by others, and the cloud software is developed with their tools will be
coupled to the libraries and services provided by each cloud provider. This opens up
the well-known issue: vendor lock-in. As a result, cloud developers are often locked
into specific technological ecosystems. Cloud software is often developed to consume
resource provisioned by an underlying cloud platform in a specific way. This is also
reflected in the heterogeneity of the APIs implementing some description models (e.g.
proprietary operations, specific provisioning scenarios, etc.). This limitation has been
unsolved even if the emergence of cloud platforms based on the orchestration of open
source technologies.
To overcome vendor lock-in problem, the viable ideal for cloud application is men-
tioned in [44] by J. Guillén, [11] by G. Baryannis, and [47] by S. Kolb. They argued
that cloud application could be decomposed into components that can easily be devel-
4
oped and distributed across heterogeneous cloud platforms. Beside, the multi-cloud
approach is a groundbreaking solution that promises to bring potential values and cre-
ate a change in the nature of the cloud service market. Multi-cloud brings benefits such
as avoiding vendor lock-in, cost savings, performance optimization, etc. Perhaps the
most attractive benefit for some organizations is the ability to avoid vendor lock-in.
However, the lack of standard for defining multi-cloud application model has not yet
been resolved.
Heading to contribute for cloud market evolution, from our view, multi-cloud appli-
cation model and multi-cloud marketplace have to evolve to deal with these limitations
of existing cloud service delivery models. The main goal of our studies is to develop a
new multi-cloud marketplace model which has a special mechanism to reduce vendor
lock-in and a component-based cloud application model by which a cloud applica-
tion is made up from independent components and spread across various clouds. Such
proposed multi-cloud application model is not only capable of describing the gen-
eral structure of multi-cloud application but also suitable for multi-cloud brokerage
method. The advanced ecosystem facilitates developers could be free to develop cloud
software and are not tightly coupled to any cloud platform without being pressured into
the private standardization. Beside, cloud providers have to adopt their cloud platform
services to meet the requirements of cloud software components. Whereby an active
competitive mechanism is created, and consumers can approach cloud applications at
reasonable prices for their demands filtered by an effective matchmaking orchestrator.
To achieve this goal, key issues have to be tackled as follows: Multi-cloud mar-
ketplace model and Multi-cloud application model. The practicality of these model
is reinforced by their applications in some studies: Matchmaking method of multi-
cloud marketplace application, Multi-cloud application portability, Method for auto-
repairing multi-cloud application.
1.2.2 Motivation
As mentioned above, the “Research issues”, this sub-section highlight the key
issues having to resolve as follows:
• Lack of multi-cloud marketplace model: existing cloud marketplaces provide
cloud applications that could only reside on single cloud. So vendor lock-in is
still maintained. It can be solved by a multi-cloud marketplace model owned the
multi-cloud service delivery method.
5
HANOI UNIVERSITY OF SCIENCE AND TECHNOLOGY
HUYNH HOANG LONG
RESEARCHING MULTI-CLOUD MARKETPLACE MODEL
DOCTORAL DISSERTATION OF INFORMATION SYSTEMS
Hanoi - 2022
MINISTRY OF EDUCATION AND TRAINING
HANOI UNIVERSITY OF SCIENCE AND TECHNOLOGY
HUYNH HOANG LONG
RESEARCHING MULTI-CLOUD MARKETPLACE MODEL
Major: Information Systems
Code: 9480104
DOCTORAL DISSERTATION OF INFORMATION SYSTEMS
SUPERVISORS:
1. Ph.D. NGUYEN HUU DUC
2. Assoc.Prof. LE TRONG VINH
Hanoi - 2022
DECLARATION OF AUTHORSHIP
I hereby declare that this thesis is my original work and it has been written by me
in its entirety. I confirm that:
• This work was done wholly during in Ph.D. student at Hanoi University of Sci-
ence and Technology.
• Where any part of this thesis has previously been submitted at Hanoi University
of Science and Technology or any other institution, this has been clearly stated.
• Where I have consulted the published work of others, this is always clearly at-
tributed.
• Where I have quoted from the work of others, the source is always given. With
the exception of such quotations, this thesis is entirely my own work.
• I have acknowledged all main sources of help.
• Where the thesis is based on work done by myself jointly with others, I have
made exactly what was done by others and what I have contributed myself.
Hanoi, February 22th 2022
Supervisors Ph.D. Student
i
ACKNOWLEDGEMENT
My dissertation would not have finished without the support of my supervisors,
family, co-authors, and colleagues. I am grateful to all those people who supported
and inspired me while facing academic and personal challenges.
My supervisors. I would like to pay the deepest gratitude to my first supervisor
Dr. Nguyen Huu Duc for offering me a great environment, plenty of opportunities,
and freedom to be creative. Working with him marked an auspicious beginning to my
doctoral upbringing. In critical moments, he has been available to provide sincere and
determined opinions, helping me make the right decisions. I also thank my second
supervisor, Assoc. Prof. Le Trong Vinh for his advice, encouragements and guidance
throughout my Ph.D study. His experiences and insights are immensely meaningful for
me in my works. I am grateful to them for devoting their precious time to discussing
research ideas, proofreading, and explaining how to write good research papers. I
would like to thank them for encouraging my research and empowering me to grow as
a research scientist.
My family. I am grateful to my parents for their limitless love and my parents
brought me up with great values of life, including humility and patience. They always
wish I could get Ph.D degree. Without their sacrifices and guidance, my education
would have been impossible. I also thank my grandmother for her advice in every
aspect of life. My success is also theirs.
My co-authors. Many thanks to my co-authors in our works. They had valuable
comments for my works. Special thanks to Prof. Zhenjiang Hu and Assoc. Prof.
Huynh Quyet Thang for giving me an internship trip at National Institute of Informat-
ics, Japan. Prof. Hu and members of Tsumina Lab warmly welcomed me into their lab
and offered the helpful collaboration in research. Particularly, Van Dang (Ph.D student
at NII) and I achieved a successful combination, our paper was accepted by SOMET
2019. I also thank Mr Le Duc Hung (Ph.D student at TU Wien) for supporting me to
implement component-based cloud software on multi-cloud.
My colleagues. Many thanks to my colleagues from Department of Information
System, School of Information and Communication Technology, Hanoi University of
Science and Technology. Particularly, Assoc. Prof. Nguyen Thi Kim Anh and As-
soc. Prof. Nguyen Binh Minh for providing such a stimulating and friendly working
ii
atmosphere. It is fortunate for me to study in an active environment.
Thank you all!
Hanoi, February 22th 2022
Ph.D. Student
Huynh Hoang Long
iii
ABSTRACT
Cloud computing have been an effective delivery model for distributing computing
that enables the delivery of applications as services over Internet, as well as platform-
and infrastructure-level computing resources. It has been increasingly used by busi-
nesses, organizations and individuals as a cost-effective IT solution. Currently, con-
sumers can approach cloud services through several existing service delivery methods
in a convenient way as follows: Direct cloud service delivery, Cloud Brokerage, and
Cloud Marketplace. However, these cloud service delivery models have many limi-
tations on cloud service product information, quality of service, monopoly, competi-
tiveness, etc. These problems have been damaging to the benefits of cloud consumers
having to pay higher than the real value of cloud services. In addition, different com-
mercial cloud providers impose different application architectures that tend to lock
consumers into their services and do not want to allow the direct competition with oth-
ers. This is the cause of the well-known issue: vendor lock-in. In economics, vendor
lock-in, also known as proprietary lock-in or customer lock-in, makes a customer
dependent on a vendor for products and services, unable to use another vendor without
substantial switching costs [82]. Because they cannot easily move to another cloud
provider in the future without experiencing issues such as high costs, legal constraints,
technical incompatibilities [59].
For example, when a consumer buys WordPress Application on Bitnami, he is
first provided two deployment offering options: single-tier and multi-tier. Then he
is provided several options to launch WordPress Application: Amazon web services,
Google cloud platform, and Azure. WordPress Application can only be deployed on
one of these three services. There are two machines that are similar on paper as they
both have four cores. Amazon VM offers more memory, but the price is very simi-
lar. In fact, Amazon VM offers almost twice the blended compute capacity over 24
hours than its Google cloud equivalent but database technology of Google is quite
better. In the first case, if a consumer has been using Google Cloud and he spots a
great cloud service pricing from Amazon. He is not allowed to move cloud service
running on Google Cloud to Amazon. Another reason is because cloud technologies
are incompatible between Amazon and Google. In the second case, it is impossible
if WordPress App Server is hosted on Amazon and WordPress Database is hosted on
iv
Google Cloud to leverage the benefits of two cloud providers. Taking advantage of it
is not going to be easy because before he know it, he will be locked into single cloud
provider. This challenge can be overcome if the WordPress App Server and Wordpress
Database could be spread across two cloud providers to benefit from each provider’s
best technology and less VM capacity (cheaper but meets the need). More effectively,
WordPress components should be described in an open standard so that other providers
than those mentioned above can offer cloud services at competitive prices and better
capacities, and its components could be easily ported to other cloud.
To deal with vendor lock-in problem, multi-cloud is the effective approach because
a multi-cloud strategy enables consumers to select any cloud service to meet the re-
quirements of a particular application or workload as well as porting cloud software
to another cloud. In this way, we have an interesting ideal about a multi-cloud service
delivery model that facilitates to distribute Software as a Service (SaaS) across various
clouds as well as liberates cloud developers from being tied to proprietary technology
ecosystems. To turn our idea into reality, we sketch O-Marketplace Model (multi-
cloud marketplace model) and define Composable Application Model (component-
based cloud application model). To demonstrate the practicality of two proposed
model, research works are focused on as follows:
(i) O-Marketplace Model, after analyzing the limitations of existing cloud service
delivery methods, a multi-cloud service delivery method is proposed to overcome
these limitations, and a promising multi-cloud marketplace model is built up.
(ii) Composable Application Model, we first build up its concept and its description
method, then the experimentation is conducted by transform into TOSCA speci-
fication to evaluate the feasibility of the proposed multi-cloud application model.
Finally, relying on Composable Application Model and O-Marketplace context,
some issues of cloud computing are tackled to prove the practicality of two pro-
posed model such as: matchmaking for multi-cloud marketplace application,
multi-cloud application portability, multi-cloud application auto-repairing.
Keywords: Cloud computing, Vendor lock-in, multi-cloud environment, multi-
cloud marketplace, multi-cloud service delivery, multi-cloud application, matchmak-
ing, multi-cloud application portability, multi-cloud application auto-repairing, Com-
posable Application Model, O-Marketplace, Blueprint.
v
CONTENTS
DECLARATION OF AUTHORSHIP . . . . . . . . . . . . . . . . . . . . . i
ACKNOWLEDGEMENT . . . . . . . . . . . . . . . . . . . . . . . . . . . ii
ABSTRACT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . iv
CONTENTS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . vi
ABBREVIATIONS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . x
LIST OF TABLES . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xi
LIST OF FIGURES . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xii
Chapter 1. INTRODUCTION 1
1.1 Context . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1
1.2 Thesis research issues and motivation . . . . . . . . . . . . . . . . . 4
1.2.1 Research issues . . . . . . . . . . . . . . . . . . . . . . . . . 4
1.2.2 Motivation . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
1.2.3 Thesis objectives . . . . . . . . . . . . . . . . . . . . . . . . 7
1.3 Thesis contributions . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
1.3.1 O-Marketplace Model . . . . . . . . . . . . . . . . . . . . . 9
1.3.2 Composable Application Model . . . . . . . . . . . . . . . . 9
1.4 Thesis outline . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
Chapter 2. BACKGROUND 12
2.1 Cloud Computing . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
2.1.1 Overview of Cloud computing . . . . . . . . . . . . . . . . . 12
2.1.2 Cloud environment classification . . . . . . . . . . . . . . . . 15
2.1.2.1 Single-cloud environment . . . . . . . . . . . . . . 15
2.1.2.2 Multi-cloud environment . . . . . . . . . . . . . . 17
2.1.3 The advantages of multi-cloud environment . . . . . . . . . . 18
2.2 Existing cloud service delivery models . . . . . . . . . . . . . . . . . 21
2.2.1 Cloud service brokerage . . . . . . . . . . . . . . . . . . . . 21
2.2.2 Cloud marketplace . . . . . . . . . . . . . . . . . . . . . . . 24
2.3 Related technologies . . . . . . . . . . . . . . . . . . . . . . . . . . 27
vi
2.3.1 Topology and Orchestration Specification for Cloud Applica-
tion - TOSCA . . . . . . . . . . . . . . . . . . . . . . . . . . 27
2.3.2 Settling and Launching Service Applications - SALSA . . . . 28
2.4 Related works . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31
2.4.1 Approaches for cloud application . . . . . . . . . . . . . . . 31
2.4.2 Approaches for cloud application description . . . . . . . . . 31
2.4.3 Approaches for matchmaking cloud services . . . . . . . . . 32
2.4.4 Approaches for cloud portability . . . . . . . . . . . . . . . . 33
2.4.5 Approaches for cloud application repairing . . . . . . . . . . 34
2.5 Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34
Chapter 3. O-MARKETPLACE 35
3.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35
3.2 Existing methods for delivering cloud services . . . . . . . . . . . . . 36
3.2.1 Simple cloud service delivery method . . . . . . . . . . . . . 36
3.2.2 Cloud service delivery through Cloud Brokerage . . . . . . . 38
3.2.3 Cloud service delivery through Cloud Marketplace . . . . . . 39
3.3 O-Marketplace Model . . . . . . . . . . . . . . . . . . . . . . . . . . 41
3.3.1 The proposed cloud service delivery method for multi-cloud
marketplace . . . . . . . . . . . . . . . . . . . . . . . . . . . 41
3.3.2 Overall structure of O-Marketplace . . . . . . . . . . . . . . 42
3.3.3 The operation mechanism of O-Marketplace . . . . . . . . . 44
3.4 The novel approach in SaaS provisioning of
O-Marketplace . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47
3.5 The feasibility of O-Marketplace Model . . . . . . . . . . . . . . . . 49
3.6 The goals of O-Marketplace . . . . . . . . . . . . . . . . . . . . . . 49
3.7 Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50
Chapter 4. COMPOSABLE APPLICATION MODEL 52
4.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52
4.2 General concept of CAM . . . . . . . . . . . . . . . . . . . . . . . . 54
4.2.1 Cloud Application . . . . . . . . . . . . . . . . . . . . . . . 54
4.2.2 Cloud Software . . . . . . . . . . . . . . . . . . . . . . . . . 55
4.2.3 Cloud Platform . . . . . . . . . . . . . . . . . . . . . . . . . 56
4.3 Simple Definition for CAM . . . . . . . . . . . . . . . . . . . . . . . 57
vii
4.3.1 Matching definition . . . . . . . . . . . . . . . . . . . . . . . 57
4.3.2 Abstract model of CAM . . . . . . . . . . . . . . . . . . . . 58
4.3.2.1 Multi-component cloud software model . . . . . . 58
4.3.2.2 Base Component . . . . . . . . . . . . . . . . . . . 59
4.3.2.3 Simple Component . . . . . . . . . . . . . . . . . 60
4.3.2.4 Cloud Software Stack . . . . . . . . . . . . . . . . 60
4.3.2.5 Cloud Software Composition . . . . . . . . . . . . 62
4.3.2.6 Cloud Platform . . . . . . . . . . . . . . . . . . . 63
4.4 Description Templates of CAM . . . . . . . . . . . . . . . . . . . . . 64
4.4.1 CAM-based Multi-cloud Application Description Template . 65
4.4.2 General Structure of Cloud Software Component Template . . 66
4.4.3 Simple Software Component Template . . . . . . . . . . . . 67
4.4.4 Cloud Software Stack Template . . . . . . . . . . . . . . . . 68
4.4.5 Cloud Software Composition Template . . . . . . . . . . . . 69
4.4.6 Platform Service Template . . . . . . . . . . . . . . . . . . . 70
4.5 Experimentation of CAM . . . . . . . . . . . . . . . . . . . . . . . . 71
4.5.1 Overview of CAM-D to TOSCA Specification Transformation
Method . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 71
4.5.1.1 Flattening algorithm . . . . . . . . . . . . . . . . . 72
4.5.1.2 Mapping to TOSCA . . . . . . . . . . . . . . . . . 75
4.5.2 Case Study . . . . . . . . . . . . . . . . . . . . . . . . . . . 75
4.5.2.1 CAM-Based Wordpress Application Description . . 75
4.5.2.2 Transforming Wordpress Description Templates to
TOSCA-Based specification . . . . . . . . . . . . . 78
4.5.2.3 Deploying Wordpress Application on multi-cloud by
SALSA . . . . . . . . . . . . . . . . . . . . . . . 80
4.6 Applications of CAM in O-Marketplace context . . . . . . . . . . . . 81
4.6.1 CAM-based matchmaking method for O- Marketplace . . . . 81
4.6.1.1 The proposed approach for matchmaking method . 81
4.6.1.2 Matchmaking context . . . . . . . . . . . . . . . . 82
4.6.1.3 Matchmaking algorithm . . . . . . . . . . . . . . . 83
4.6.2 CAM-based multi-cloud application portability . . . . . . . . 85
4.6.2.1 The proposed approach for multi-cloud application
portability . . . . . . . . . . . . . . . . . . . . . . 85
viii
4.6.2.2 The proposed method for auto-updating multi-cloud
application blueprint . . . . . . . . . . . . . . . . . 87
4.6.2.3 View updating program . . . . . . . . . . . . . . . 89
4.6.3 CAM-based method for auto-repairing multi-cloud marketplace
application . . . . . . . . . . . . . . . . . . . . . . . . . . . 93
4.6.3.1 The proposed approach for auto-repairing multi-cloud
application . . . . . . . . . . . . . . . . . . . . . . 93
4.6.3.2 Procedure of multi-cloud application auto-repairing 94
4.6.3.3 Re-deploying and re-configuring CAM-based cloud
application . . . . . . . . . . . . . . . . . . . . . . 95
4.7 Discussions of CAM . . . . . . . . . . . . . . . . . . . . . . . . . . 96
4.7.1 The role of CAM in O-Marketplace model . . . . . . . . . . 96
4.7.2 The role of CAM in cloud application development . . . . . . 97
4.8 Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 98
Chapter 5. CONCLUSION AND PERSPECTIVES 99
5.1 Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 99
5.2 Future works . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 103
BIBLIOGRAPHY . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 105
LIST OF PUBLICATIONS . . . . . . . . . . . . . . . . . . . . . . . . . . 115
ix
ABBREVIATIONS
API Application Programing Interface
AWS Amazone Web Services
BXs Bidirectional Transformations
CAM Composable Application Model
CAM-D CAM-based Description Method
CDMI Cloud Data Management Interface
CRM Customer Relationship Management
CSB Cloud Service Brokerage
CSP Cloud Service Provider
DB Database
EC2 Elastic Computing Cloud
I/O Input/Output
IaaS Infrastructure as a Service
IP Internet Protocol
IT Information Technology
JSON Java Script Object Notation
OCCI Open Cloud Computing Interface
OS Operation System
OVF Open Virtualization Format
PaaS Platform as a Service
QoS Quality of Service
RDBMS Relational Database Management System
REST Representational State Transfer
S3 Amazon Simple Storage Service
SaaS Software as a Service
SALSA Settling and Launching Service Applications
SLA Service Level Agreement
SQL Structured Query Language
TOSCA Topology Ochestration Specification for Cloud Application
VM Virtual Machine
XML Extensible Markup Language
YAML Yet Another Markup Language
x
LIST OF TABLES
2.1 Cloud Providers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
3.1 Existing Cloud Marketplaces . . . . . . . . . . . . . . . . . . . . . . 36
3.2 The operation mechanism of O-Marketplace . . . . . . . . . . . . . . 46
5.1 The comparison between CAM-D and TOSCA Specification . . . . . . 102
xi
LIST OF FIGURES
1.1 The potential for vendor lock-in risks is exacerbated in the cloud (source
[59]). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
2.1 Cloud Service Model (source [84]). . . . . . . . . . . . . . . . . . . 13
2.2 Single cloud architecture. . . . . . . . . . . . . . . . . . . . . . . . . 15
2.3 Multi-cloud architecture. . . . . . . . . . . . . . . . . . . . . . . . . 18
2.4 Processes in a CSB platform (source [52]). . . . . . . . . . . . . . . 23
2.5 High level architecture of Cloud Broker Service (source [20]). . . . . 23
2.6 TOSCA Service Template overview (source [50]). . . . . . . . . . . . 28
2.7 Multi application levels and multi deployment stacks (source [48]). . . 29
2.8 SALSA Architecture (source [48]). . . . . . . . . . . . . . . . . . . . 30
3.1 Simple cloud service delivery method. . . . . . . . . . . . . . . . . . 37
3.2 Cloud service delivery method through Cloud Brokerage. . . . . . . . 38
3.3 Cloud service delivery method through the private cloud marketplace. 39
3.4 Cloud service delivery method through cloud marketplace owned by
the third party. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40
3.5 The proposed multi-cloud service delivery method. . . . . . . . . . . 41
3.6 O-Marketplace Model. . . . . . . . . . . . . . . . . . . . . . . . . . 43
3.7 Actors of O-Marketplace. . . . . . . . . . . . . . . . . . . . . . . . . 45
3.8 O-Marketplace Ecosystem . . . . . . . . . . . . . . . . . . . . . . . 47
4.1 Composable Application Model. . . . . . . . . . . . . . . . . . . . . 54
4.2 Component types of CAM. . . . . . . . . . . . . . . . . . . . . . . . 55
4.3 The formal definition of multi-component cloud software. . . . . . . . 58
4.4 Base component. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59
4.5 Cloud software stack. . . . . . . . . . . . . . . . . . . . . . . . . . . 61
4.6 Cloud software composition. . . . . . . . . . . . . . . . . . . . . . . 62
4.7 Cloud Platform. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63
4.8 CAM-based Multi-cloud Application Template . . . . . . . . . . . . . 65
4.9 General Structure of a Cloud Software Component Template . . . . . 66
xii
4.10 Simple Software Component Template . . . . . . . . . . . . . . . . . 67
4.11 Software Stack Component Template . . . . . . . . . . . . . . . . . . 68
4.12 Software Composition Template . . . . . . . . . . . . . . . . . . . . 69
4.13 CAM-based Platform Service Template . . . . . . . . . . . . . . . . . 70
4.14 Port Signature . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 71
4.15 Wordpress Application modeled by CAM. . . . . . . . . . . . . . . . 75
4.16 Wordpress Application Description Template . . . . . . . . . . . . . . 76
4.17 Wordpress Application Description Templates . . . . . . . . . . . . . 77
4.18 Wordpress Application specification . . . . . . . . . . . . . . . . . . 77
4.19 Wordpress Application graph . . . . . . . . . . . . . . . . . . . . . . 78
4.20 TOSCA-based Description of WordPress Application. . . . . . . . . . 79
4.21 Deploying Wordpress Application on multi-cloud. . . . . . . . . . . . 80
4.22 Wordpress Application deployment process by SALSA. . . . . . . . . . 81
4.23 Matchmaking context of O-Marketplace. . . . . . . . . . . . . . . . . 82
4.24 Auto-updating cloud application’s Blueprint process. . . . . . . . . . 88
4.25 The core of Blueprint Update System. . . . . . . . . . . . . . . . . . 88
4.26 TOSCA-based specification of new platform component for WordPress
Application. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 89
4.27 Conceptual model of TOSCA Template. . . . . . . . . . . . . . . . . 90
4.28 Synchronizing “Node Template” by BXs. . . . . . . . . . . . . . . . . 90
4.29 Update strategy for the view ViewNodeTemplate (Putback transforma-
tion). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 92
4.30 Forward transformation of the view ViewNodeTemplate. . . . . . . . . 92
4.31 Procedure for auto-repairing multi-cloud application. . . . . . . . . . 95
xiii
C HAPTER 1
INTRODUCTION
In this chapter, current limitations are pointed out and the research road-map is
built up. After introducing the research context, the motivation and the research issues
throughout this thesis are introduced. Then, the objectives as well as scopes of studies
are emphasized. Next, contributions of this thesis are summarized in order to give a
clear view of the achievements. Finally, the structure of thesis is presented.
1.1 Context
Cloud computing is the latest technology utilized to deliver on-demand services
over internet. It is undoubtedly affecting the way business is conducted and is empow-
ering a new generation of products and services. Cloud computing provides computing
resources, middleware and (web-based) software on-demand. This model helps cus-
tomers saving costs and allows access to the cloud services such as Infrastructure as
a Service (IaaS), Platform as a Service (PaaS), Software as a Service (SaaS). In our
works, we are especially interested in ways delivering SaaS to consumers.
Currently, a popular cloud service model assists cloud consumers in finding SaaS
is cloud marketplace. Most cloud providers offer lists of cloud service bundles with
clear information and prices. It is easy for consumers to retrieve the cloud services
they need from a catalogue of a certain cloud provider. There are some well-known
cloud marketplaces such as AWS Marketplace1 , Google Apps 2 , IBM Marketplace3 .
Basically, in this model, cloud marketplaces are owned by particular cloud providers
to provide SaaS developed by themselves on their proprietary cloud platforms. On
the other hand, the emergence and rapid development of open source cloud technolo-
gies such as OpenStack 4 , Eucalyptus5 , CloudStack6 , etc.; open standards such as
1
https://aws.amazon.com/marketplace/
2
https://developer.google.com/apps-marketplace/
3
http://www.ibm.com/marketplace/
4
https://www.openstack.org/
5
https://www.eucalyptus.cloud/
6
https://cloudstack.apache.org/
1
Open Cloud Computing Interface7 (OCCI), Open Virtualization Format8 (OVF), Cloud
Data Management Interface9 (CDMI), etc.; and open source PaaS such as Open Shift10
, Cloud Foundry11 , which bring great opportunities for cloud software development
without having to depend on proprietary technology platforms. Thanks to that, the
number of applications independently developed by third parties have been increasing.
So consumers have more and more consumption options to meet their demands.
In general, most of SaaS are closely tied to the technical infrastructures of their
owners. This leads to the problem of tying consumers and application developers into
the separate infrastructures of cloud ecosystems. This is the cause of vendor lock-in
problem [6, 8, 57, 59, 75, 82] in cloud computing, which is characterized by expen-
sive and time-consuming migration of application and data to alternative providers
[57, 58]. For example, Figure 1.1 highlights UK businesses are concerned about hav-
ing corporate data locked-in to a single cloud provider where an enterprise is using
cloud to perform essential business activities to keep operations running [59]. Cloud
vendor locks customers in several ways: (i) by developing his own platforms featuring
proprietary web, command-line, and programming interfaces; (ii) by using proprietary
standards or private architectures that lack interoperability with other cloud systems;
(iii) by licensing the cloud software under exclusive conditions. Thus, vendor lock-in
deters organizations adopting cloud technology. Beside, the main functionality of ex-
isting cloud marketplaces is limited to the brokerage of cloud resources and payment
procedures. These limitations have been inhibiting the growth of the cloud market.
In fact, a well-implemented multi-cloud strategy is a productive and flexible solu-
tion at a lower cost. The cloud and SaaS market as a whole is growing and changing
towards multi-cloud for years. The best-known cloud service providers are Amazon
Web Services (AWS), Microsoft Azure and Google Cloud Platform (GCP). They pro-
vide the cloud infrastructures on which various SaaS providers can host and deliver
their solutions to their customers. Large, individual SaaS providers such as Sales-
force also enjoy a high profile. In addition, there are a large number of lesser-known
providers that provide the cloud infrastructure for SaaS, individual SaaS solutions, or
both. There are a number of good reasons that pursue a multi-cloud strategy12 :
7
http://occi-wg.org/
8
https://www.dmtf.org/standards/ovf/
9
https://www.snia.org/cdmi/
10
https://www.openshift.com/
11
https://www.cloudfoundry.org/
12
https://blog.seeburger.com/the-advantages-and-challenges-of-a-multi-cloud-strategy/
2
Figure 1.1: The potential for vendor lock-in risks is exacerbated in the cloud (source
[59]).
• First, a multi-cloud strategy allows consumers to access the very specific ca-
pabilities they are lacking. Each cloud provider has their own strengths and
weaknesses so consumers select and deploy the best market solution for their
particular task, works best with a multi-cloud strategy.
• Second, a multi-cloud strategy helps consumers not to depend entirely on one
single cloud service provider, the likelihood of a service outage or severe decline
in performance due to a catastrophic event is reduced.
• Third, a multi-cloud strategy helps companies scale their software and IT re-
source needs to meet a particular need on a short-term, saving costs.
• Fourth, a multi-cloud strategy can helps customers to benefit from the lively
competition between the various SaaS and other cloud service providers and the
resultingly strong competition on price.
• Fifth, a multi-cloud strategy protects against possible vendor lock-in by SaaS
providers. Resources can be distributed across multiple cloud providers, which
avoids dependency on a single supplier. In addition, the strong competition in the
3
market means that some SaaS providers try to make switching from competitors’
offerings to their own as easy as possible for those wanting or willing to switch.
In our view, it is possible to evolve multi-cloud marketplace model and multi-cloud
application model to reduce vendor lock-in if efficiently leveraging the outstanding
advantages of the multi-cloud environment.
1.2 Thesis research issues and motivation
1.2.1 Research issues
So far, the existing service delivery models such as Direct Cloud Service Delivery,
Cloud Brokerage, and Cloud Marketplace have been making important contributions
to the distribution of the cloud services. These models not only facilitate cloud con-
sumers to approach cloud services quickly and conveniently, but also effectively sup-
port cloud providers to bring directly cloud services to consumers. Nevertheless, the
limitations of existing cloud service delivery models have been hindering the growth
rate of the cloud service market such as monopoly, less competitiveness, Quality of
Service monitoring, etc. The fact that, cloud market is dominated and controlled by
giants although some cloud solutions based on open source technologies that can offer
pretty good cloud solutions. Most cloud providers have been building proprietary SaaS
platforms where their applications are hosted in a SaaS business model and establish-
ing a series of restrictions for their cloud platforms. Hence, these proprietary platforms
prevent applications offered by different vendors which cannot easily host on the plat-
forms offered by others, and the cloud software is developed with their tools will be
coupled to the libraries and services provided by each cloud provider. This opens up
the well-known issue: vendor lock-in. As a result, cloud developers are often locked
into specific technological ecosystems. Cloud software is often developed to consume
resource provisioned by an underlying cloud platform in a specific way. This is also
reflected in the heterogeneity of the APIs implementing some description models (e.g.
proprietary operations, specific provisioning scenarios, etc.). This limitation has been
unsolved even if the emergence of cloud platforms based on the orchestration of open
source technologies.
To overcome vendor lock-in problem, the viable ideal for cloud application is men-
tioned in [44] by J. Guillén, [11] by G. Baryannis, and [47] by S. Kolb. They argued
that cloud application could be decomposed into components that can easily be devel-
4
oped and distributed across heterogeneous cloud platforms. Beside, the multi-cloud
approach is a groundbreaking solution that promises to bring potential values and cre-
ate a change in the nature of the cloud service market. Multi-cloud brings benefits such
as avoiding vendor lock-in, cost savings, performance optimization, etc. Perhaps the
most attractive benefit for some organizations is the ability to avoid vendor lock-in.
However, the lack of standard for defining multi-cloud application model has not yet
been resolved.
Heading to contribute for cloud market evolution, from our view, multi-cloud appli-
cation model and multi-cloud marketplace have to evolve to deal with these limitations
of existing cloud service delivery models. The main goal of our studies is to develop a
new multi-cloud marketplace model which has a special mechanism to reduce vendor
lock-in and a component-based cloud application model by which a cloud applica-
tion is made up from independent components and spread across various clouds. Such
proposed multi-cloud application model is not only capable of describing the gen-
eral structure of multi-cloud application but also suitable for multi-cloud brokerage
method. The advanced ecosystem facilitates developers could be free to develop cloud
software and are not tightly coupled to any cloud platform without being pressured into
the private standardization. Beside, cloud providers have to adopt their cloud platform
services to meet the requirements of cloud software components. Whereby an active
competitive mechanism is created, and consumers can approach cloud applications at
reasonable prices for their demands filtered by an effective matchmaking orchestrator.
To achieve this goal, key issues have to be tackled as follows: Multi-cloud mar-
ketplace model and Multi-cloud application model. The practicality of these model
is reinforced by their applications in some studies: Matchmaking method of multi-
cloud marketplace application, Multi-cloud application portability, Method for auto-
repairing multi-cloud application.
1.2.2 Motivation
As mentioned above, the “Research issues”, this sub-section highlight the key
issues having to resolve as follows:
• Lack of multi-cloud marketplace model: existing cloud marketplaces provide
cloud applications that could only reside on single cloud. So vendor lock-in is
still maintained. It can be solved by a multi-cloud marketplace model owned the
multi-cloud service delivery method.
5