Matchmaking for multi-cloud marketplace application
Abstract: Software as a Service has been developing according to the trend that leverages the advantage of multi-Cloud environment to avoid vendor lock-in problem. To consume cloud resource provided by various providers, cloud software should be decomposed into components which can be deployed across different clouds. Ideally, components of a componentbased cloud software are independently developed and offered through multi-cloud marketplace. To bring the highest benefit to consumers, there should be an efficient cost strategy for finding a group of compatible cloud platforms for their cloud softwares. In this paper, after redefining and developing simple formal definition for Composable Application Model (CAM), we present a matchmaking method that could be useful for verifying the correctness of software composition as well as for checking the correct deployment of a software composition on specified cloud platforms. As an illustration, we experimentally transform the cloud application model achieved by our matchmaking method into TOSCA-based specification template, which is known as a standard representation for multi-cloud applications
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: Matchmaking for multi-cloud marketplace application
ce template. It is very efficient in software Wordpress App PHP Container Wordpress DB Apache Server Ubuntu VM On Openstack Ubuntu VM On Flexiant MySQL RDBMS Wordpress App Stack Wordpress Composition Group of Cloud platforms for Wordpress software Wordpress DB Stack Apache Stack Figure 8. Wordpress Application represented in CAM. provisioning, deployment and management of cloud appli- cation. It enhances the portability of cloud application and has been supported by many partners like IBM, Reb Hat, Cisco, Citrix, EMC, etc. Since TOSCA is currently a mature standard with a lot of supporting tools for designing and orchestration. In this paper, we select this standard as a target of the translation to demonstrate the feasibility of our proposed composable application model. 1) Method Overview: The major differences between CAM specification and TOSCA specification are: • TOSCA specification represents a complete blueprint of a cloud application system including the software and the cloud infrastructure/platform parts while CAM separates these two parts into independent entities. • TOSCA expresses the internal structure of a cloud service by a topology template which is a graph repre- senting software/hardware components (as nodes), and relationship among these components (as edges). CAM represents a cloud application in a nested manner. Thus, we design the translation from a CAM specification to TOSCA specification in a process of the following steps: • First, we combine the cloud software and its com- patible platform group into a single form of CAM specification. • Second, we flatten the nested structure of the CAM specification into a graph representation. Nodes of the graph correspond to simple components and platform, and edges of the graph represent the relationships among simple components and platforms. This transla- tion is done recursively based on the nested structure 39 Research and Development on Information and Communication Technology Simple components: - Apache Server: type: software preqs: [Linux] pcaps: [Apache] - PhP Container: type: software preqs: [Apache] pcaps: [PhP, Apache] - WordpressApp: type: software preqs: [Apache, PhP] sreqs: [WordpressDB] - MySQLDB: type: software preqs: [Linux] pcaps: [MySQL] - WordpressDB: type: software preqs: [MySQL] scaps: [WordpressDB] Stacks: - PhP-Apache Stack: type: stack top: PhP Container base: Apache Server preqs: [Linux] pcaps: [Apache, PhP] - WordpressApp Stack: type: stack top: WordpressApp base: Php-Apache Stack preqs: [Linux] sreqs: [WordpressDB] - WordpressDB Stack: type: stack top: WordpressDB base: MySQLDB preqs: [Linux] scaps: [WordpressDB] Compositions: - Wordpress Composition: type: composition first: WordpressApp Stack second: WordpressDB Stack preqs: - [Linux] - [Linux] Platforms: - UbuntuVM on Openstack: Type: os provider: OpenStack pcaps: [Linux] - UbuntuVM on Flexiant: Type: os provider: Flexiant pcaps: [Linux] Wordpress Application: software: Wordpress Composition platforms: [UbuntuVM, UbuntuVM] Figure 9. Wordpress application specification. of CAM specification. The relationships are derived from the specifications of stacks and compositions. • Finally, we map the resulting graph into TOSCA topology template. Here, the most cryptic part is that we have to map each node of the graph to a node template of TOSCA, and each edge of the graph to a relationship template of TOSCA. The following sub-section demonstrating this process in a particular example – the Wordpress application. 2. Experiment with Wordpress Application A typical Wordpress application is represented in CAM as shown in Figure 8. The specification of the Wordpress application is written in YAML as shown in Figure 9. We temporary ignore all implementation details of the cloud software components but only focus on the specification of their requirements and capabilities. If a property of a component is missed from the specification, we consider the value of this property is null or empty. In the second step of the translation process, we flat- ten the Wordpress Application into a graph representation which is depicted in Figure 10. This translation ignores the specifications of requirements and capabilities of software stacks and software compositions. They are only used for verifying the correctness of the combination and for check- ing the compatibility between the software composition and its underlying platforms. Finally, we map the graph representation to TOSCA topology template as shown in the following XML code: Nodes: - Apache Server: type: SimpleComponent preqs: [Linux] pcaps: [Apache] - PhP Container: type: SimpleComponent preqs: [Apache] pcaps: [PhP, Apache] - WordpressApp: type: SimpleComponent preqs: [Apache, PhP] sreqs: [WordpressDB] - MySQLDB: type: SimpleComponent preqs: [Linux] pcaps: [MySQL] - WordpressDB: type: SimpleComponent preqs: [MySQL] scaps: [WordpressDB] - UbuntuVMonOpenStack: provider: OpenStack pcaps: [Linux] - UbuntuVMonFlexiant: provider: Flexiant pcaps: [Linux] Relationships: - from: WordpressApp to: PhP Container type: host-on - from: PhP Container to: Apache Server type: host-on - from: Apache Server to: UbuntuVMonOpenStack type: host-on - from: WordpressDB to: MySQLRDBMS type: host-on - from: MySQLRDBMS to: UbuntuVMonFlexiant type: host-on - from: WordpressApp to: WordpressDB type: connect-to Figure 10. Wordpress application graph. <ns2: Definitions id=”Wordpress” xmlns:ns2=”http :// docs. oasis−open.org/ tosca /ns/2011/12” name=”Wordpress”> <ns2:RelationshipTemplate id=”WordpressApp HostOn PHPContainer” type=”HOSTON”> <ns2:RelationshipTemplate id=”PHPContainer HostOn ApacheServer” type=”HOSTON”> <ns2:RelationshipTemplate id=”ApacheServer HostOn UbuntuVM” type=”HOSTON”> <ns2:RelationshipTemplate id=”WordpressDB HostOn MySQLDB” type=”HOSTON”> <ns2:RelationshipTemplate id=”MySQLDB HostOn UbuntuVM” type=”HOSTON”> <ns2:RelationshipTemplate id=”WordpressApp ConnectTo WordpressDB” type=”CONNECTTO”> 40 Vol. 2019, No. 1, September ... ... ... ... ... ... <ns2:ArtifactTemplate id=”Artifact 93f8753b−17ab−43c5−8f11−e3ec98fe3224” type=”sh”> ... ... As seen in the code above, all nodes of the graph are mapped to Node Template of TOSCA, implementa- tion 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. Although CAM has not been fully developed, this demonstration has proved the feasibility of the proposal with distinct advantages. V. CONCLUSION In this study, we present a matchmaking method that supports to find suitable cloud platforms, whose profiles registered in a multi-cloud marketplace, to multi-component cloud software. The goal of this work is to verify compat- ibility among the components within a component-based cloud application, as well as between the components and their underlying runtime platforms. To implement this idea, firstly, we redefine Composable Application Model (CAM) that organizes multi-component cloud software in a nested structure. Secondly, we develop an abstract model of CAM which only covers the inter-dependency of the components. We proposed validation rules for the CAM components based on that type of dependency. Thirdly, We proposed matchmaking algorithm which is the core of brokerage mechanism of multi-cloud marketplace. Finally, our proposal is validated by experimenting a transformation from a specification of CAM into TOSCA specification. To sum up, our work creates an effective brokerage mechanism to retrieve optimal compatible platform so- lutions for a specific multi-cloud software according to consumer’s demand in the context of O-Marketplace. This result is a premise for our future research related to Service Level Agreement (SLA) in multi-cloud environment [24]. ACKNOWLEDGEMENT This work is supported by Hanoi University of Science and Technology under Project “Energy-aware workflow service in cloud computing environment”, No. T2017-PC- 077. Simulations and technical realization were achieved on the hardware equipment at the Center for Data and Computation Technology, Hanoi University of Science and Technology. We would like to thank all colleagues and domain experts for collaborations and consultations. REFERENCES [1] A. Nayyar, Handbook of Cloud Computing, 04 2019. [2] J. Guille´n, J. Miranda, J. M. Murillo, and C. Canal, “A service-oriented framework for developing cross cloud mi- gratable software,” Journal of Systems and Software, pp. 2294–2308, 2013. [3] G. Baryannis, P. Garefalakis, K. Kritikos, K. Magoutis, A. Papaioannou, 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), 2013, pp. 13–20. [4] G. Copil, D. Moldovan, H.-L. Truong, and S. Dustdar, “Multi-level elasticity control of cloud services,” in Service- Oriented Computing, S. Basu, C. Pautasso, L. Zhang, and X. Fu, Eds. Berlin, Heidelberg: Springer Berlin Heidelberg, 2013, pp. 429–436. [5] D. Garlan, R. T. Monroe, and D. Wile, “Acme: Architectural description of component-based systems,” in Foundations of Component-Based Systems, G. T. Leavens and M. Sitaraman, Eds. Cambridge University Press, 2000, pp. 47–68. [6] B. Wallace, “A hole for every component, and every com- ponent in its hole,” Existential Programming, 2010. [7] Mcllroy and M. Douglas, “Mass produced software compo- nents,” Scientific Affairs Division, NATO, p. 79, 1969. [8] R. Niekamp, “Software component architecture,” Gestio´n de Congresos - CIMNE/Institute for Scientific Computing, p. 4, 2011. [9] 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. [10] H.-L. Huynh, H.-D. Nguyen, V.-T. Le, and D.-H. Le, “To- wards the cloud marketplace for multi-cloud infrastructures,” in 18th Vietnam National Conference: Selected issues of information technology and communication, 2015. [11] S. Kolb and G. Wirtz, “Towards application portability in platform as a service,” in Proceedings - IEEE 8th Interna- tional Symposium on Service Oriented System Engineering, SOSE 2014, 2014. [12] C. Zeng, X. Guo, W. Ou, and D. Han, “Cloud computing service composition and search based on semantic,” in Cloud Computing, M. G. Jaatun, G. Zhao, and C. Rong, Eds. 41 Research and Development on Information and Communication Technology Berlin, Heidelberg: Springer Berlin Heidelberg, 2009, pp. 290–300. [13] B. I. Zilci, M. Slawik, and A. Ku¨pper, “Cloud service matchmaking using constraint programming,” in 2015 IEEE 24th International Conference on Enabling Technologies: Infrastructure for Collaborative Enterprises, June 2015, pp. 63–68. [14] S. K. Garg, S. Versteeg, and R. Buyya, “SMICloud: A framework for comparing and ranking cloud services,” in 2011 Fourth IEEE International Conference on Utility and Cloud Computing, Dec 2011, pp. 210–218. [15] F. DAndria, S. Bocconi, J. G. Cruz, J. Ahtes, and D. Zeginis, “Cloud4SOA: Multi-cloud application management across PaaS offerings,” in 2012 14th International Symposium on Symbolic and Numeric Algorithms for Scientific Computing, Sep. 2012, pp. 407–414. [16] S. Garcı´a-Go´mez, M. Jime´nez-Gan˜a´n, Y. Taher, C. Momm, F. Junker, J. Bı´ro´, A. Menychtas, V. Andrikopoulos, and S. Strauch, “Challenges for the comprehensive management of cloud services in a PaaS framework,” Scalable Comput- ing: Practice and Experience, vol. 13, 2012. [17] W. Elshareef, H. A. Ali, and A. Y. Haikal, “A matchmaking strategy of mixed resource on cloud computing environ- ment,” International Journal OF Scientific and Technology Research, vol. 4, 2015. [18] 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, April 2010, pp. 414–421. [19] 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), 2012, p. 18–27. [20] “OpenStack HEAT URL,” accessed: 2019-04-26. [Online]. Available: https://docs.openstack.org/heat/latest [21] “Juju Charms URL,” accessed: 2019-04-26. [Online]. Available: https://jujucharms.com [22] K. Saatkamp, U. Breitenbu¨cher, O. Kopp, and F. Ley- mann, “Topology splitting and matching for multi-cloud deployments,” in Service-Oriented Computing-ICSOC 2017 Workshops, 2017, pp. 379–383. [23] OASIS, “Topology and orchestration specification for cloud applications version 1.0,” Organization for the Advacement of Structured Information Standards, 2013. [24] D. Kourtesis, K. Bratanis, A. Friesen, Y. Verginadis, A. J. H. Simons, A. Rossini, A. Schwichtenberg, and P. Gouvas, “Brokerage for quality assurance and optimisation of cloud services: An analysis of key requirements,” in Service- Oriented Computing – ICSOC 2013 Workshops, A. R. Lo- muscio, S. Nepal, F. Patrizi, B. Benatallah, and I. Brandic´, Eds. Cham: Springer International Publishing, 2014, pp. 150–162. Huynh Hoang Long received B.Sc. de- gree from Nhatrang University in 2008 and M.Sc. degree from Hanoi University of Science and Technology in 2012. His research interest includes cloud computing. Nguyen Huu Duc received Ph.D. de- gree in Computer Science from Japan Ad- vanced Institute of Science and Technology (JAIST), Japan, in 2006. He is currently the director of the Center for Data and Com- putation Technologies, Hanoi University of Science and Technology. His main research topics include com- piler construction, high performance computing, distributed sys- tems and big data. Le Trong Vinh received Ph.D. degree in Computer Science from Japan Ad- vanced Institute of Science and Technol- ogy (JAIST), Japan, in 2006. He is cur- rently Associate Professor and the director of the Center for Information Technology and Communication, University of Science, Vietnam National University, Hanoi. His main research topics include theory of algorithms, com- puter networks. 42
File đính kèm:
- matchmaking_for_multi_cloud_marketplace_application.pdf