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
Trang 1
Trang 2
Trang 3
Trang 4
Trang 5
Trang 6
Trang 7
Trang 8
Trang 9
Trang 10
Tải về để xem bản đầy đủ
Tóm tắt nội dung tài liệu: 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:
- cam_d_a_description_method_for_multi_cloud_marketplace_appli.pdf