Method, formalization, and algorithms to split topology models for distributed cloud application deployments

Abstract

For automating the deployment of applications in cloud environments, a variety of technologies have been developed in recent years. These technologies enable to specify the desired deployment in the form of deployment models that can be automatically processed by a provisioning engine. However, the deployment across several clouds increases the complexity of the provisioning. Using one deployment model with a single provisioning engine, which orchestrates the deployment across the clouds, forces the providers to expose low-level APIs to ensure the accessibility from outside. In this paper, we present an extended version of the split and match method to facilitate the division of deployment models to multiple models which can be deployed by each provider separately. The goal of this approach is to reduce the information and APIs which have to be exposed to the outside. We present a formalization and algorithms to automate the method. Moreover, we validate the practical feasibility by a prototype based on the TOSCA standard and the OpenTOSCA ecosystem.

This is a preview of subscription content, access via your institution.

Fig. 1
Fig. 2
Fig. 3
Fig. 4
Fig. 5
Fig. 6

Notes

  1. 1.

    https://www.chef.io/chef/.

  2. 2.

    https://www.docker.com/.

  3. 3.

    https://github.com/OpenTOSCA.

  4. 4.

    It is called “declarative” in contrast to “imperative” deployment modeling requiring defined workflows.

  5. 5.

    http://alien4cloud.github.io/.

  6. 6.

    https://cloudify.co/.

  7. 7.

    https://github.com/eclipse/winery.

References

  1. 1.

    Andrikopoulos V, Gómez Sáez S, Leymann F, Wettinger J (2014a) Optimal distribution of applications in the cloud. In: Proceedings of the 26th international conference on advanced information systems engineering. Springer, pp 75–90

  2. 2.

    Andrikopoulos V, Reuter A, Sáez SG, Leymann F (2014b) A GENTL approach for cloud application topologies. In: Service-oriented and cloud computing. Springer, pp 148–159

  3. 3.

    Ardagna D, Di Nitto E, Casale G, Petcu D, Mohagheghi P, Mosser S, Matthews P, Gericke A, Ballagny C, D’Andria F et al (2012) Modaclouds: a model-driven approach for the design and execution of applications on multiple clouds. In: Proceedings of the 4th international workshop on modeling in software engineering. IEEE Press, pp 50–56

  4. 4.

    Arnold W, Eilam T, Kalantar M, Konstantinou AV, Totok AA (2008) Automatic realization of SOA deployment patterns in distributed environments. In: Proceedings of the 6th international conference on service-oriented computing. Springer, pp 162–179

  5. 5.

    Bergmayr A, Breitenbücher U, Ferry N, Rossini A, Solberg A, Wimmer M, Kappel G (2018) A systematic review of cloud modeling languages. ACM Comput Surv (CSUR) 51(1):1–38

    Article  Google Scholar 

  6. 6.

    Beserra PV, Camara A, Ximenes R, Albuquerque AB, Mendonca NC (2012) Cloudstep: a step-by-step decision process to support legacy application migration to the cloud. In: 2012 IEEE 6th international workshop on the maintenance and evolution of service-oriented and cloud-based systems (MESOCA), pp 7–16

  7. 7.

    Binz T, Breitenbücher U, Haupt F, Kopp O, Leymann F, Nowak A, Wagner S (2013) OpenTOSCA—a runtime for TOSCA-based cloud applications. In: Proceedings of the 11th international conference on service-oriented computing. Springer, pp 692–695

  8. 8.

    Breitenbücher U (2016) Eine musterbasierte Methode zur Automatisierung des Anwendungsmanagements. Dissertation, Universität Stuttgart, Fakultaet Informatik, Elektrotechnik und Informationstechnik

  9. 9.

    Breitenbücher U, Binz T, Képes K, Kopp O, Leymann F, Wettinger J (2014) Combining declarative and imperative cloud application provisioning based on TOSCA. In: International conference on cloud engineering. IEEE, pp 87–96

  10. 10.

    Carrasco J, Cubo J, Pimentel E (2014) Towards a flexible deployment of multi-cloud applications based on TOSCA and CAMP. In: Proceedings of the 3rd European conference on service-oriented and cloud computing. Springer, pp 278–286

  11. 11.

    Chaisiri S, Lee BS, Niyato D (2009) Optimal virtual machine placement across multiple cloud providers. In: Proceedings of the 2009 IEEE Asia-Pacific services computing conference. IEEE, pp 103–110

  12. 12.

    Hirmer P, Breitenbücher U, Binz T, Leymann F, et al. (2014) Automatic topology completion of TOSCA-based cloud applications. In: GI-Jahrestagung, GI, vol P-251. GI, pp 247–258

  13. 13.

    Hsu HT (1975) An algorithm for finding a minimal equivalent graph of a digraph. J ACM 22(1):11–16

    MathSciNet  Article  Google Scholar 

  14. 14.

    Jamshidi P, Pahl C, Chinenyeze S, Liu X (2014) Cloud migration patterns: a multi-cloud service architecture perspective. In: Service-oriented computing—ICSOC 2014 workshops. Springer, pp 6–19

  15. 15.

    Jamshidi P, Pahl C, Mendonça NC (2017) Pattern-based multi-cloud architecture migration. Softw Pract Exp 47(9):1159–1184

    Article  Google Scholar 

  16. 16.

    Kaviani N, Wohlstadter E, Lea R (2014) Partitioning of web applications for hybrid cloud deployment. J Internet Serv Appl 5(1):1–17

    Article  Google Scholar 

  17. 17.

    Kopp O, Breitenbücher U (2017) Choreographies are key for distributed cloud application provisioning. In: Proceedings of the 9th Central-European workshop on services and their composition, CEUR-WS.org, pp 67–70

  18. 18.

    Kopp O, Binz T, Breitenbücher U, Leymann F (2013) Winery—a modeling tool for TOSCA-based cloud applications. In: Proceedings of the 11th international conference on service-oriented computing. Springer, pp 700–704

  19. 19.

    Leymann F, Fehling C, Mietzner R, Nowak A, Dustdar S (2011) Moving applications to the cloud: an approach based on application model enrichment. Int J Cooper Inf Syst 20(3):307–356

    Article  Google Scholar 

  20. 20.

    OASIS (2013) Topology and orchestration specification for cloud applications (TOSCA) Version 1.0. OASIS

  21. 21.

    Petcu D (2013) Multi-cloud: expectations and current approaches. In: Proceedings of the 2013 international workshop on multi-cloud applications and federated clouds. ACM, pp 1–6

  22. 22.

    Pfitzmann B, Joukov N (2011) Migration to multi-image cloud templates. In: Proceedings of the IEEE international conference on services computing. IEEE, pp 80–87

  23. 23.

    Saatkamp K, Breitenbücher U, Kopp O, Leymann F (2017) Topology splitting and matching for multi-cloud deployments. In: Proceedings of the 7th international conference on cloud computing and services science. SciTePress, pp 247–258

  24. 24.

    Sampaio A, Mendonça N (2011) Uni4Cloud: an approach based on open standards for deployment and management of multi-cloud applications. In: Proceedings of the 2nd international workshop on software engineering for cloud computing. ACM, pp 15–21

  25. 25.

    Subramanian T, Savarimuthu N (2016) Application based brokering algorithm for optimal resource provisioning in multiple heterogeneous clouds. Vietnam J Comput Sci 3(1):57–70

    Article  Google Scholar 

Download references

Acknowledgements

This work is partially funded by the BMWi Projects SmartOrchestra (01MD16001F) and IC4F (01MA17008G).

Author information

Affiliations

Authors

Corresponding author

Correspondence to Karoline Saatkamp.

Additional information

Publisher's Note

Springer Nature remains neutral with regard to jurisdictional claims in published maps and institutional affiliations.

Rights and permissions

Reprints and Permissions

About this article

Verify currency and authenticity via CrossMark

Cite this article

Saatkamp, K., Breitenbücher, U., Kopp, O. et al. Method, formalization, and algorithms to split topology models for distributed cloud application deployments. Computing 102, 343–363 (2020). https://doi.org/10.1007/s00607-019-00721-8

Download citation

Keywords

  • Application deployment
  • Distribution
  • Splitting
  • Multi-cloud
  • TOSCA

Mathematics Subject Classification

  • 68W01
  • 68R10
  • 05C20
  • 05C85