CAM-D: A description method for multi-cloud marketplace application

Abstract: Multi-cloud Marketplace facilitates to create a

diverse ecosystem for cloud software and cloud resource

services provided by many stakeholders. To leverage the

advantage of multi-cloud environment, cloud application could

be a composition of software components which are able to

be distributed across various cloud providers. So the cloud

application is therefore a complex system. Consequently, an

important key problem remained in research is to define

multi-cloud application in a particular form and to construct

his description. In this paper, we particularly focus on

developing a description method that can be taken to tackle

the lack of description for multi-cloud application by designing

description templates for CAM which was developed in

[1][2][3], called CAM-D. A completed application description

can be synthesized from individual component descriptions.

Our experimentation is expressed through the transformation

of CAM-D template to TOSCA specification illustrated by case

study. In addition, we also develop an flattening algorithm to

assist in mapping to TOSCA

CAM-D: A description method for multi-cloud marketplace application trang 1

Trang 1

CAM-D: A description method for multi-cloud marketplace application trang 2

Trang 2

CAM-D: A description method for multi-cloud marketplace application trang 3

Trang 3

CAM-D: A description method for multi-cloud marketplace application trang 4

Trang 4

CAM-D: A description method for multi-cloud marketplace application trang 5

Trang 5

CAM-D: A description method for multi-cloud marketplace application trang 6

Trang 6

CAM-D: A description method for multi-cloud marketplace application trang 7

Trang 7

CAM-D: A description method for multi-cloud marketplace application trang 8

Trang 8

CAM-D: A description method for multi-cloud marketplace application trang 9

Trang 9

CAM-D: A description method for multi-cloud marketplace application trang 10

Trang 10

Tải về để xem bản đầy đủ

pdf 11 trang xuanhieu 4340
Bạn đang xem 10 trang mẫu của tài liệu "CAM-D: A description method for multi-cloud marketplace application", để tải tài liệu gốc về máy hãy click vào nút Download ở trên

Tóm tắt nội dung tài liệu: CAM-D: A description method for multi-cloud marketplace application

CAM-D: A description method for multi-cloud marketplace application
ub−components
39. dependencies = new−left .dependencies
⋃
new−right.dependencies
⋃
40. UpdateDependencies(c.dependencies, mappings)
42. requirements = UpdateRequirements(c.requirements , mappings)
43. capabilities = UpdateCapabilities (c . capabilities , mappings)
44. parameter−mappings = UpdateParameters(c.parameter−mappings, mappings)
45. methods = UpdateMethods(c.methods, mappings)
46. new−mappings = MakeMappings(requirements, capabilities, parameter−mappings)
47. Return (FlatCompositions(sub−components, dependencies,
48. requirements , capabilities , c . parameters , parameter−mappings, methods),
49. new−mappings)
50. End
51. End;
In this algorithm, the function AddPrefix(s,
mappings) add a component access prefix s to all
origins of mappings to avoid ambiguity. The functions
UpdateDependencies, UpdateRequirements,
UpdateCapabilities, UpdateParameters,
UpdateMethods are just used for updating all references
to the requirements/capabilities/parameters of sub-
components of the input component by the corresponding
elements of the SimpleComponent sub-components in
the target component. The function MakeMappings
just accumulates all modified mappings of requirements,
capabilities, and parameters. Due to the limitation of the
paper, we omit the presentation of these functions.
Correctness: The flattening algorithm is correct in the
following principles:
• All sub-components of a resulting flat component are
components of type SimpleComponent;
• Dependencies between the top and the base sub-
components of any SofwareStack inside the structure
of input component should be reflected in the depen-
dencies of resulting flat component.
• Dependencies between the left and the right sub-
components of any SofwareComposition inside the
structure of input component should be reflected in the
dependencies of resulting flat component.
• All mappings (requirement mappings, capability map-
pings, parameter mappings) of the input component
should be changed in the output flat component
so that they maps their original external names to
specific names of requirements/capabilities/parameters
of corresponding SimpleComponents.
The correctness of the algorithm can be easily proved by
reduction on the hierarchical structure of the input nested
component.
Complexity: The flattening algorithm is proceeded re-
cursively on the hierarchical structure of the input nested
component. Thus the complexity of the algorithm is linear
to the number of the sub-components inside that structure,
i.e. O(n) for n is the number of sub-components.
3. Mapping to TOSCA
As a result of the above flattening algorithm, a CAM-D
application will be transformed into a flat model in which
all sub-components are of type SimpleComponent.
The second step of the transformation algorithm is
to translate this flat application model together with its
undelying platforms into TOSCA topology template. The
57
Vol. 2020, No. 2, December
translations is rather simple. Each sub-components and/or
platforms will be transformed into a TOSCA node. Each
dependency among components and between a component
and a platform will be translated into a TOSCA relationship.
We do not give further details of this translation algorithm.
Instead, result from an experimentation which will be given
in the next section will demonstrate our mapping method.
IV. EXPERIMENTATION WITH CASE STUDY
In this section, we demonstrate the feasibility of CAM-D
by translating flattening description template of CAM-D
into TOSCA specification template with a case study.
1. Case Study
For validate our idea, we deploy a WordPress application
on two Clouds: OpenStack and Flexiant. We use CAM to
model Wordpress application which is depicted in Figure
16. There are five software components of cloud soft-
ware: Wordpress PHP Application, PHP Container, Apache,
Wordpress DB, MySQL covered in two stack, and two
Platform components are cloud infrastructures: OpenStack
and Flexiant. These software components modeled in three
software stack and one software composition. The CAM-D
template of Wordpress Application showed in Figure 17.
Cloud Platform A Cloud Platform B
Cloud Platforms
Network NetworkStorage Storage
UBUNTU UBUNTU
Web Server
Apache
Host on
Host onConnect to
Host on
Host on
MySQL
RDBMS
PHP Container
Apache PHP Module
Wordpress PHP
Application Wordpress
Data
Wordpress DB (Stack)
Wordpress App Software (Composition)
Wordpress Application
Wordpress Server (Stack)
Stack: 
Apache PHP
Host on
Figure 16. Wordpress Application modeled by CAM
According CAM-D, the description template of Word-
pressApplication is created based on individual descrip-
tion templates which represent for the type of CAM-
based components according to the degree of CAM.
The overview of individual description templates of
Wordpress Application is shown in Figure 18. The full
code of Wordpress Application Templates is available at
https://github.com/longlovehl/Descriptions/.
application Wordpress-Application =
software: Wordpress-Software
arguments:
platforms :
p1 : VM-Platform
arguments:
provider: "dsg@openstack"
instanceType : "000001920"
baseImage :
"a82e054f-4f01-49f9-bc4c
-77a98045739c"
p2 : VM-Platform
arguments:
provider: "dsg@flexiant"
instanceType : "000001920"
baseImage :
"a82e054f-4f01-49f9-bc4c
-77a98045739c"
dependencies:
d1:
type: HOST-ON
from: software.requirements[R1]
to: p1.capabilities[vm]
d2:
type: HOST-ON
from: software.requirements[R2]
to: p2.capabilities[vm]
end
Figure 17. Wordpress Application Description Template
2. Transforming CAM-D Template to TOSCA
Specification
To transform CAM-D Template to TOSCA specifica-
tion, we first use proposed flattening algorithm to flatten
the Wordpress Application into a graph representation.
Then, we map flattening description template of WordPress
Application into TOSCA-based specification. All nodes
of the graph are mapped to Node Template of TOSCA,
implementation details of the Node Template are omitted
from the specification for brevity. Edges of the graph are
mapped to Relationship Template. According to the original
of the edges, i.e., from a stack or from a composition, the
type of corresponding Relationship template will be given
as HOSTON or CONNECTTO. The result is showed in
Figure 19.
V. THE ADVANTAGES OF CAM-D
To evaluate the advantages of CAM-D in particular and
CAM [2][3] in general, we make a comparison between
CAM-D and TOSCA in Table I because TOSCA has been
the well-known standard. However, TOSCA specification
has not totally developed for multi-cloud application speci-
fication.
58
Vol. 2020, No. 2, December
Figure 18. The overview of Wordpress Application Description Templates
using CAM-D
TABLE I
THE COMPARISON BETWEEN CAM-D AND TOSCA SPECIFICATION
FEATURES CAM-D TOSCASpecification
Topology Nested structure Flat structure
Cloud software
portability YES NO
Component-based cloud
application description YES NO
Synthesis of component
specifications YES NO
Multi-cloud service
match-making YES NO
The above comparison showed significant differences
of CAM-D compared with TOSCA Specification. CAM-D
especially supports Cloud software portability, Component-
based cloud application description, Synthesis of component
specifications, and Multi-cloud service match-making. These
features have proved the feasibility of our proposal with
distinct advantages for cloud application development as
follows:
• A cloud application may be constructed as a distributed
system of which elements are compute servers running
specific software and located at specific cloud providers.
• Developers are free to evolve their cloud software
without any technology restriction from cloud providers.
<ns2:Definitions id="WordpressApp"
xmlns:ns2=""
name="WordpressApp">
<ns2:RelationshipTemplate id="WordpressPHP_HostOn_PHPContainer"
type="HOSTON">
...
<ns2:RelationshipTemplate id="WordpressPHP_ConnecTTo_MySQLRDBMS"
type="CONNECTTO">
dsg@openstack
000001920
a82e054f-4f01-49f9-bc4c-77a98045739c
...
dsg@flexiant
000001920
a82e054f-4f01-49f9-bc4c-77a98045739c
...
<ns2:NodeTemplate id="MySQLRDBMS" type="software" maxInstances="1"
minInstances="1">
...
...
<ns2:ArtifactTemplate id="Artifact_93f8753b-17ab-43c5-8f11-e3ec98fe3224"
type="sh">
...
...
Figure 19. TOSCA-based Description of WordPress Application
They also can develop and sell their small pieces instead
of complete software solutions.
• Enhancing the ability to reuse the cloud software
component, developers can build up an application
by just incorporating existing components of others
into their own software solution. This save cost and
time in cloud application development.
In addition, an interesting feature of CAM-D that is quite
similar to a program written in a programming language.
The application template is the main program, component
templates are procedures and arguments of a procedure can
refer to parameters of others. This is very convenient for
developer to independently develop cloud software. He could
package the software component as a “Black Box” and just
express properties to the outer ports of such component.
This is the special feature that CAM-D brings.
59
Vol. 2020, No. 2, December
VI. CONCLUSION
In this study, we build a description method (CAM-D)
that supports to describe multi-component cloud software.
To implement this idea, firstly, we define CAM-based
description templates for multi-component cloud software
modeled in a nested structure. Secondly, we develop
flattening algorithm to cover nested description to flattening
description. Thirdly, As an illustration, we experimentally
transform the description templates of CAM-D into TOSCA-
based specification templates and demonstrate this process in
a particular example – the Wordpress application. Finally, the
advantages of CAM-D is expressed. To sum up, the key of
our work is to create a uniform for multi-cloud applications.
The proposed concepts and templates can totally be applied
to multi-cloud marketplace.
REFERENCES
[1] H.-L. Huynh, H.-D. Nguyen, V.-T. Le, and T.-T. Nguyen, “A
Composable Application model for Cloud Marketplace,” Journal
of Vietnam Science and Technology, vol. 16, no. 5, pp. 40–45, 2017.
[2] H.-L. Huynh, H.-D. Nguyen, and T.-V. Le, “Matchmaking for
Multi-cloud Marketplace Application ,” Journal of Information and
Communications, vol. 2019, no. 1, pp. 31–42, 2019.
[3] H.-L. Huynh, V.-D. Tran, H.-D. Nguyen, Z. Hu, T.-V. Le, and Q.-T.
Huynh, Auto-Updating Portable Application Model of Multi-Cloud
Marketplace through Bidirectional Transformations System, pp. 11 –
24. 10 2019.
[4] H.-L. Huynh, H.-D. Nguyen, V.-T. Le, and D.-H. Le, “Towards the
cloud marketplace for Multi-cloud infrastructures,” in 18th Vietnam
National Conference: Selected issues of information technology and
communication, 2015.
[5] K. Sledziewski, B. Bordbar, and R. Anane, “A dsl-based approach to
software development and deployment on cloud,” in 2010 24th IEEE
International Conference on Advanced Information Networking and
Applications, pp. 414–421, April 2010.
[6] E. Brandtzaeg, S. Mosser, and P. Mohagheghi, “Towards CloudML, a
Model-based Approach to Provision Resources in the Clouds,” in 8th
European Conference on Modelling Foundations and Applications
(ECMFA), p. 18–27, 2012.
[7] G. Baryannis, P. Garefalakis, K. Kritikos, K. Magoutis, A. Pa-
paioannou, D. Plexousakis, and C. Zeginis, “Lifecycle management
of service-based applications on multi-clouds,” in Proceedings of
the 2013 International workshop on Multi-cloud applications and
federated clouds (Multicloud’13), pp. 13–20, 2013.
[8] G. Sousa, W. Rudametkin, and L. Duchien, “Automated setup of
multi-cloud environments for microservices applications,” in 2016
IEEE 9th International Conference on Cloud Computing (CLOUD),
pp. 327–334, 2016.
[9] N. Ferry, F. Chauvel, H. Song, A. Rossini, M. Lushpenko, and
A. Solberg, “Cloudmf: Model-driven management of multi-cloud
applications,” ACM Trans. Internet Technol., vol. 18, Jan. 2018.
[10] “OpenStack HEAT URL.” https://docs.openstack.org/heat/latest/. Ac-
cessed: 2019-04-26.
[11] “Juju Charms URL.” https://jujucharms.com/. Accessed: 2019-04-26.
[12] G. Tricomi, A. Panarello, G. Merlino, F. Longo, D. Bruneo, and
A. Puliafito, “Orchestrated multi-cloud application deployment in
openstack with tosca,” in 2017 IEEE International Conference on
Smart Computing (SMARTCOMP), pp. 1–6, 2017.
[13] J. Carrasco, J. Cubo, and E. Pimentel, “Towards a flexible deployment
of multi-cloud applications based on tosca and camp,” in Advances
in Service-Oriented and Cloud Computing (G. Ortiz and C. Tran,
eds.), (Cham), pp. 278–286, Springer International Publishing, 2015.
[14] K. Alexander, C. Lee, E. Kim, and S. Helal, “Enabling end-to-
end orchestration of multi-cloud applications,” IEEE Access, vol. 5,
pp. 18862–18875, 2017.
[15] K. Saatkamp, U. Breitenbu¨cher, O. Kopp, and F. Leymann, “Topology
Splitting and Matching for Multi-Cloud Deployments,” in Service-
Oriented Computing-ICSOC 2017 Workshops, pp. 379–383, 2017.
[16] OASIS, “Topology and Orchestration Specification for Cloud Appli-
cations Version 1.0,” Organization for the Advacement of Structured
Information Standards, 2013.
Hoang-Long Huynh received B.S (2008)
from Nhatrang University and M.S (2012)
from Hanoi University of Science and Tech-
nology, Vietnam. His research interests in
Cloud Computing.
Email: longlove1232002@yahoo.com
60
Vol. 2020, No. 2, December
Huu-Duc Nguyen received PhD degree
(2006) in Computer Science from Japan Ad-
vanced Institute of Science and Technology
(JAIST), Japan. He is currently the director
of the Center for Data and Computation
Technologies, Hanoi University of Science
and Technology. His main research topics
include compiler construction, high perfor-
mance computing, distributed systems and big data.
Email: ducnh@soict.hust.edu.vn
Trong-Vinh Le received PhD degree (2006)
in Computer Science from Japan Ad-
vanced Institute of Science and Technology
(JAIST), Japan. He is currently Associate
Professor and the director of the Center for
Information Technology and Communica-
tion, VNU University of Science. His main
research topics include theory of algorithms,
computer networks.
Email: vinhlt@gmail.com
Quyet-Thang Huynh received PhD degree
(1995) in Information and Computer Sci-
ences from Varna Technical University, Bul-
garia. He is currently Associate Professor
and the president of Hanoi University of
Science and Technology. His main research
topics include Software Quality, Software
Testing, Methods in Software Development,
Multi-Objective Optimization, Project Management, Big Data
Processing and Analytics.
Email: thanghq@soict.hust.edu.vn
61

File đính kèm:

  • pdfcam_d_a_description_method_for_multi_cloud_marketplace_appli.pdf