TORCH: a TOSCA-Based Orchestrator of Multi-Cloud Containerised Applications

Abstract

The growth in the number and types of cloud-based services offered to IT customers is supported by the constant entry of new actors in the market and the consolidation of disruptive technologies such as AI, Big Data and Micro-services. From the customer’s perspective, in a market landscape where the cloud offer is highly diversified due to the presence of multiple competing service providers, picking the service that best accommodate their specific needs is a critical challenge. Once the choice is made, so called “cloud orchestration tools” (orchestrators) are required to take care of the customer application’s life-cycle. While big players offer their customers proprietary orchestrators, in the literature quite a number of open-source initiatives have launched multi-cloud orchestrators capable of transparently managing applications on top of the most representative cloud platforms. In this paper, we propose TORCH, a TOSCA-based framework for the deployment and orchestration of cloud applications, both classical and containerised, on multiple cloud providers. The framework assists the cloud customer in defining application requirements by using standard specification models. Unlike other multi-cloud orchestrators, adopts a strategy that separates the provisioning workflow from the actual invocation of proprietary cloud services API. The main benefit is the possibility to add support to any cloud platforms at a very low implementation cost. In the paper, we present a prototypal implementation of TORCH and showcase its interaction with two different container-based cluster platforms. Preliminary performance tests conducted on a small-scale test-bed confirm the potential of TORCH.

Data Availability

Data sharing not applicable to this article as no datasets were generated or analysed during the current study

References

  1. 1.

    Marston, S., Li, Z., Bandyopadhyay, S., Zhang, J., Ghalsasi, A.: Cloud computing, -the business perspective. Decis. Support. Syst. 51(1), 176 (2011). https://doi.org/10.1016/j.dss.2010.12.006

    Article  Google Scholar 

  2. 2.

    Dikaiakos, M. D., Katsaros, D., Mehra, P., Pallis, G., Vakali, A.: Cloud Computing: Distributed Internet Computing for IT and Scientific Research. IEEE Internet Computing 13 (5), 10 (2009). https://doi.org/10.1109/MIC.2009.103

    Article  Google Scholar 

  3. 3.

    Flexera: Flexera 2020 State of the cloud report. https://info.flexera.com/SLO-CM-REPORT-State-of-the-Cloud-2020. Last accessed on 18-06-2020 (2020)

  4. 4.

    Duan, Y., Fu, G., Zhou, N., Sun, X., Narendra, N. C., Hu, B.: Everything as a Service (XaaS) on the Cloud: Origins, current and future trends. In: 8th International Conference on Cloud Computing. https://doi.org/10.1109/CLOUD.2015.88, pp 621–628 (2015)

  5. 5.

    Ranjan, R., Benatallah, B., Dustdar, S., Papazoglou, M. P.: Cloud resource orchestration programming: Overview, issues, and directions. IEEE Internet Computing 19, 46 (2015). https://doi.org/10.1109/MIC.2015.20

    Article  Google Scholar 

  6. 6.

    Baur, D., Seybold, D., Griesinger, F., Tsitsipas, A., Hauser, C. B., Domaschka, J.: Cloud Orchestration Features: Are Tools Fit for Purpose?. In: 2015 IEEE/ACM 8th International Conference on Utility and Cloud Computing, UCC, 2015. https://doi.org/10.1109/UCC.2015.25, pp 95–101 (2015)

  7. 7.

    Bousselmi, K., Brahmi, Z., Gammoudi, M. M.: Cloud services orchestration: A comparative study of existing approaches. In: IEEE 28th International Conference on Advanced Information Networking and Applications Workshops, (WAINA 2014). https://doi.org/10.1109/WAINA.2014.72, pp 410–416 (2014)

  8. 8.

    Ferry, N., Rossini, A., Chauvel, F., Morin, B., Solberg, A.: Towards model-driven provisioning, deployment, monitoring, and adaptation of multi-cloud systems. In: 2013 IEEE Sixth International Conference on Cloud Computing. https://doi.org/10.1109/CLOUD.2013.133, pp 887–894 (2013)

  9. 9.

    Petcu, D.: Consuming resources and services from multiple clouds. Journal of Grid Computing 12(2), 321 (2014). https://doi.org/10.1007/s10723-013-9290-3

    Article  Google Scholar 

  10. 10.

    Petcu, D., Vasilakos, A.: Portability in Clouds: Approaches and Research Opportunities. Scalable Computing: Practice and Experience 15(3), 251 (2014). https://doi.org/10.12694/scpe.v15i3.1019

    Article  Google Scholar 

  11. 11.

    Ferry, N., Rossini, A.: CloudMF: Model-driven management of multi-cloud applications. ACM Tran. Internet Technol 18(2), 16 (2018). https://doi.org/10.1145/3125621

    Article  Google Scholar 

  12. 12.

    OASIS: Cloud application management for platforms version 1.1. http://docs.oasis-open.org/camp/camp-spec/v1.1/camp-spec-v1.1.html. Last accessed on 15-02-2017 (2014)

  13. 13.

    OASIS: Topology and orchestration specification for cloud applications version 1.0. http://docs.oasis-open.org/tosca/TOSCA/v1.0/os/TOSCA-v1.0-os.html. Last accessed on 10-04-2018 (2013)

  14. 14.

    Bellendorf, J., Mann, Z.Á.: Cloud topology and orchestration using TOSCA: A systematic literature review. In: Kritikos, K., Plebani, P., de Paoli, F. (eds.) Service-Oriented and Cloud Computing, pp 207–215. Springer International Publishing (2018), https://doi.org/10.1007/978-3-319-99819-0_16

  15. 15.

    Pahl, C.: Containerization and the PaaS Cloud. IEEE Cloud Computing 2(3), 24 (2015). https://doi.org/10.1109/MCC.2015.51

    Article  Google Scholar 

  16. 16.

    Ruan, B., Huang, H., Wu, S., Jin, H.: A performance study of containers in cloud environment. In: Wang, G., Han, Y., Martínez Pérez, G. (eds.) Advances in Services Computing, pp 343–356. Springer International Publishing (2016), https://doi.org/10.1007/978-3-319-49178-3_27

  17. 17.

    Docker Inc.: Docker Swarm. https://docs.docker.com/engine/swarm/. Last accessed on 25-06-2020

  18. 18.

    C.N.C. Foundation. Kubernetes. https://kubernetes.io/. Last accessed on 25-06-2020

  19. 19.

    Apache Software Foundation. Mesos. http://mesos.apache.org/. Last accessed on 25-06-2020

  20. 20.

    Calcaterra, D., Cartelli, V., Di Modica, G., Tomarchio, O.: Exploiting BPMN features to design a fault-aware TOSCA orchestrator. In: Proceedings of the 8th International Conference on Cloud Computing and Services Science (CLOSER 2018) (Funchal-Madeira (Portugal)). https://doi.org/10.5220/0006775605330540, pp 533–540 (2018)

  21. 21.

    Calcaterra, D., Cartelli, V., Di Modica, G., Tomarchio, O.: Implementation of a fault aware cloud service provisioning framework. In: 2018 IEEE 6th International Conference on Future Internet of Things and Cloud (FiCloud). https://doi.org/10.1109/FiCloud.2018.00010, pp 9–16 (2018)

  22. 22.

    Calcaterra, D., Di Modica, G., Mazzaglia, P., Tomarchio, O.: Enabling container cluster interoperability using a TOSCA orchestration framework. In: Proceedings of the 10th International Conference on Cloud Computing and Services Science (CLOSER 2020), pp 127–137 (2020), https://doi.org/10.5220/0009410701270137

  23. 23.

    Weerasiri, D., Barukh, M. C., Benatallah, B., Sheng, Q. Z., Ranjan, R.: Taxonomy and survey of cloud resource orchestration techniques. ACM Comput. Surv. 50(2), 26:1 (2017). https://doi.org/10.1145/3054177

    Article  Google Scholar 

  24. 24.

    Amazon. CloudFormation. https://aws.amazon.com/cloudformation/. Last accessed on 25-06-2020

  25. 25.

    Flexera software. Cloud management platform. https://www.flexera.com/products/agility/cloud-management-platform.htmlhttps://www.flexera.com/products/agility/cloud-management-platform.htmlhttps://www.flexera.com/products/agility/cloud-management-platform.html. Last accessed on 25-06-2020

  26. 26.

    RedHat. CloudForms. https://access.redhat.com/products/red-hat-cloudforms. Last accessed on 25-06-2020

  27. 27.

    IBM. Cloud Orchestrator. https://www.ibm.com/us-en/marketplace/deployment-automation. Last accessed on 25-06-2020

  28. 28.

    OpenStack. Heat. https://wiki.openstack.org/wiki/Heat. Last accessed on 25-06-2020

  29. 29.

    GigaSpaces Technologies. Cloudify. https://cloudify.co/. Last accessed on 25-06-2020

  30. 30.

    Red Hat. Ansible. https://www.ansible.com/. Last accessed on 25-06-2020

  31. 31.

    Chef. Chef. https://www.chef.io/. Last accessed on 25-06-2020

  32. 32.

    Puppet. Puppet. https://puppet.com/. Last accessed on 25-06-2020

  33. 33.

    SaltStack Inc. Salt. https://www.saltstack.com/. Last accessed on 25-06-2020

  34. 34.

    Morris, K.: Infrastructure as Code: Managing Servers in the Cloud, 1st edn. O’Reilly Media, Inc, Newton (2016)

    Google Scholar 

  35. 35.

    HashiCorp. Terraform. https://www.terraform.io/. Last accessed on 25-06-2020

  36. 36.

    OASIS: Web services business process execution language version 2.0. https://www.oasis-open.org/committees/wsbpel/. Last accessed on 10-04-2018 (2007)

  37. 37.

    OMG: Business Process Model and Notation (BPMN 2.0). http://www.omg.org/spec/BPMN/2.0/. Last accessed on 10-04-2018 (2011)

  38. 38.

    Vargas-Santiago, M., Hernández, S.E.P., Rosales, L.A.M., Kacem, H.H.: Survey on web services fault tolerance approaches based on checkpointing mechanisms. JSW 12(7), 507 (2017). https://doi.org/10.17706/jsw.12.7.507-525

    Article  Google Scholar 

  39. 39.

    Kolb, S., Wirtz, G.: Towards application portability in platform as a service. In: IEEE 8th International symposium on service oriented system engineering, pp. 218–229. https://doi.org/10.1109/SOSE.2014.26 (2014)

  40. 40.

    Oberle, K., Fisher, M.: ETSI CLOUD - Initial standardization requirements for cloud services. In: Proceedings of the 7th International Conference on Economics of Grids, Clouds, Systems, and Services, GECON’10, pp. 105–115. https://doi.org/10.1007/978-3-642-15681-6_8. Springer (2010)

  41. 41.

    Apache software foundation. Brooklyn. https://brooklyn.apache.org/. Last accessed on 25-06-2017

  42. 42.

    OASIS: TOSCA Simple Profile in YAML Version 1.3. http://docs.oasis-open.org/tosca/TOSCA-Simple-Profile-YAML/v1.3http://docs.oasis-open.org/tosca/TOSCA-Simple-Profile-YAML/v1.3. Last accessed on 26-02-2020 (2020)

  43. 43.

    Soltesz, S., Pötzl, H., Fiuczynski, M.E., Bavier, A., Peterson, L.: Container-based operating system virtualization: A scalable, high-performance alternative to hypervisors. In: Proceedings of the 2nd ACM SIGOPS/EuroSys European conference on computer systems 2007, EuroSys ’07, pp. 275–287. https://doi.org/10.1145/1272996.1273025 (2007)

  44. 44.

    Singh, S., Singh, N.: Containers & Docker: Emerging roles & future of Cloud technology. In: 2nd International Conference on Applied and Theoretical Computing and Communication Technology (iCATccT), pp 804–807 (2016), https://doi.org/10.1109/ICATCCT.2016.7912109

  45. 45.

    Docker Inc. Docker. https://www.docker.com/. Last accessed on 25-06-2020

  46. 46.

    Sysdig: Sysdig 2019 container usage report. https://sysdig.com/blog/sysdig-2019-container-usage-report/. Last accessed: 2019-12-23 (2019)

  47. 47.

    Cloud native computing foundation. containerd. https://containerd.io/. Last accessed on 25-06-2020

  48. 48.

    Cloud native computing foundation. CRI-O. https://cri-o.io/. Last accessed on 25-06-2020

  49. 49.

    Apache Software Foundation. Mesos Containerizer. http://mesos.apache.org/documentation/latest/mesos-containerizer/http://mesos.apache.org/documentation/latest/mesos-containerizer/. Last accessed on 25-06-2020

  50. 50.

    Mesosphere Inc. Marathon. https://mesosphere.github.io/marathon/. Last accessed on 25-06-2020

  51. 51.

    OpenStack. Magnum. https://wiki.openstack.org/wiki/Magnum. Last accessed on 25-06-2020

  52. 52.

    FastConnect. Alien4Cloud. https://alien4cloud.github.io/. Last accessed on 25-06-2020

  53. 53.

    Apache Software Foundation. ARIA TOSCA. https://ariatosca.incubator.apache.org/. Last accessed on 25-06-2020

  54. 54.

    Carrasco, J., Cubo, J., Durán, F., Pimentel, E.: Bidimensional cross-cloud management with TOSCA and Brooklyn. In: 2016 IEEE 9th International Conference on Cloud Computing (CLOUD), pp 951–955 (2016), https://doi.org/10.1109/CLOUD.2016.0143

  55. 55.

    Cloudsoft. Clocker. http://www.clocker.io/. Last accessed on 25-06-2020

  56. 56.

    Apache Software Foundation. Stratos. https://stratos.apache.org/. Last accessed on 25-06-2020

  57. 57.

    Kiss, T., Kacsuk, P., Kovacs, J., Rakoczi, B., Hajnal, A., Farkas, A., Gesmier, G., Terstyanszky, G.: MiCADO—Microservice-based cloud application-level dynamic orchestrator. Futur. Gener. Comput. Syst. 94, 937 (2019). https://doi.org/10.1016/j.future.2017.09.050

    Article  Google Scholar 

  58. 58.

    Brogi, A., Rinaldi, L., Soldani, J.: Tosker: A synergy between tosca and docker for orchestrating multicomponent applications. Software: Practice and Experience 48(11), 2061 (2018). https://doi.org/10.1002/spe.2625

    Article  Google Scholar 

  59. 59.

    Bogo, M., Soldani, J., Neri, D., Brogi, A.: Component-aware orchestration of cloud-based enterprise applications, from TOSCA to Docker and Kubernetes. Software: Practice and Experience 50 (9), 1793–1821 (2020). https://doi.org/10.1002/spe.2848

    Article  Google Scholar 

  60. 60.

    Kehrer, S., Blochinger, W.: TOSCA-based container orchestration on Mesos. Comput. Sci. Res. Dev. 33(3), 305 (2018). https://doi.org/10.1007/s00450-017-0385-0

    Article  Google Scholar 

  61. 61.

    Weerasiri, D., Benatallah, B., Barukh, M.C.: Process-driven configuration of federated cloud resources. In: Renz, M., Shahabi, C., Zhou, X., Cheema, M.A. (eds.) Database Systems for Advanced Applications, pp 334–350. Springer International Publishing, Cham (2015), https://doi.org/10.1007/978-3-319-18120-2_20

  62. 62.

    Mietzner, R., Leymann, F.: A self-service portal for service-based applications. In: 2010 IEEE International Conference on Service-Oriented Computing and Applications (SOCA), pp 1–8 (2010), https://doi.org/10.1109/SOCA.2010.5707165

  63. 63.

    Breitenbücher, U., Endres, C., Képes, K., Kopp, O., Leymann, F., Wagner, S., Wettinger, J., Zimmermann, M.: The opentosca ecosystem - concepts & tools. In: European space project on smart systems, big data, future internet - Towards serving the grand societal challenges - volume 1: EPS Rome 2016,. INSTICC, pp 112–130. SciTePress (2016), https://doi.org/10.5220/0007903201120130

  64. 64.

    Baur, D., Domaschka, J.: Experiences from building a cross-cloud orchestration tool. In: Proceedings of the 3rd Workshop on CrossCloud Infrastructures & Platforms, CrossCloud ’16, pp. 4:1–4:6. https://doi.org/10.1145/2904111.2904116. ACM (2016)

  65. 65.

    Baur, D., Seybold, D., Griesinger, F., Masata, H., Domaschka, J.: A provider-agnostic approach to multi-cloud orchestration using a constraint language. In: 18th IEEE/ACM International Symposium on Cluster, Cloud and Grid Computing (CCGRID), pp 173–182 (2018), https://doi.org/10.1109/CCGRID.2018.00032

  66. 66.

    Pham, L. M., Tchana, A., Donsez, D., de Palma, N., Zurczak, V., Gibello, P.: Roboconf: A hybrid cloud orchestrator to deploy complex applications. In: IEEE 8th International Conference on Cloud Computing, pp 365–372 (2015), https://doi.org/10.1109/CLOUD.2015.56

  67. 67.

    Caballer, M., Zala, S., García, Á. L., Moltó, G., Fernández, P.O., Velten, M.: Orchestrating complex application architectures in heterogeneous clouds. Journal of Grid Computing 16(1), 3 (2018). https://doi.org/10.1007/s10723-017-9418-y

    Article  Google Scholar 

  68. 68.

    Salomoni, D., Campos, I., Gaido, L., et al.: INDIGO-DataCloud: a platform to facilitate seamless access to e-infrastructures. Journal of Grid Computing 16(3), 381 (2018). https://doi.org/10.1007/s10723-018-9453-3

    Article  Google Scholar 

  69. 69.

    Ardagna, D., Di Nitto, E., Mohagheghi, P., Mosser, S., Ballagny, C., D’Andria, F., Casale, G., Matthews, P., Nechifor, C., Petcu, D., Gericke, A., Sheridan, C.: MODAClouds: a model-driven approach for the design and execution of applications on multiple clouds. In: 4th International Workshop on Modeling in Software Engineering (MISE), pp 50–56 (2012), https://doi.org/10.1109/MISE.2012.6226014

  70. 70.

    Di Nitto, E., Matthews, P., Petcu, D., Solberg, A.: Model-driven Development and Operation of Multi-cloud Applications: The MODAClouds approach. Springer International Publishing, Berlin (2017)

    Google Scholar 

  71. 71.

    Brogi, A., Carrasco, J., Cubo, J., D’Andria, F., Ibrahim, A., Pimentel, E., Soldani, J.: SeaClouds: Seamless adaptive multi-cloud management of service-based applications. In: 17th Conferencia Iberoamericana en Software Engineering (CIbSE 2014), pp 95–108 (2014)

  72. 72.

    Brogi, A., Fazzolari, M., Ibrahim, A., Soldani, J., Wang, P., Carrasco, J., Cubo, J., Duran, F., Pimentel, E., Di Nitto, E., D’Andria, F.: Adaptive management of applications across multiple clouds: the SeaClouds approach. CLEI Electronic Journal 18, 2 (2015). https://doi.org/10.19153/cleiej.18.1.1

    Article  Google Scholar 

  73. 73.

    Kopp, O., Binz, T., Breitenbücher, U., Leymann, F.: Winery – a modeling tool for TOSCA-based cloud applications. In: Basu, S., Pautasso, C., Zhang, L., Fu, X. (eds.) Service-Oriented Computing. https://doi.org/10.1007/978-3-642-45005-1_64, pp 700–704. Springer, Berlin (2013)

  74. 74.

    Binz, T., Breitenbücher, U., Haupt, F., Kopp, O., Leymann, F., Nowak, A., Wagner, S., OpenTOSCA –, A: Runtime for TOSCA-Based Cloud Applications, pp 692–695. Springer, Berlin (2013)

    Google Scholar 

  75. 75.

    Breitenbücher, U., Binz, T., Kopp, O., Leymann, F.: Vinothek - A self-service portal for TOSCA. In: Herzberg, N., Kunze, M. (eds.) Proceedings of the 6th Central-European Workshop on Services and their Composition, ZEUS 2014, Potsdam, Germany, February 20-21, 2014, CEUR Workshop Proceedings, vol. 1140, pp 69–72. CEUR-WS.org (2014)

  76. 76.

    Kopp, O., Binz, T., Breitenbücher, U., Leymann, F.: BPMN4TOSCA: A Domain-Specific Language to Model Management Plans for Composite Applications, pp 38–52. Springer, Berlin (2012). https://doi.org/10.1007/978-3-642-33155-8_4

    Google Scholar 

  77. 77.

    Breitenbücher, U., Binz, T., Képes, K., Kopp, O., Leymann, F., Wettinger, J.: Combining declarative and imperative cloud application provisioning based on TOSCA. In: 2014 IEEE International Conference on Cloud Engineering. https://doi.org/10.1109/IC2E.2014.56, pp 87–96 (2014)

  78. 78.

    Wettinger, J., Binz, T., Breitenbücher, U., Kopp, O., Leymann, F.: Streamlining cloud management automation by unifying the invocation of scripts and services based on TOSCA. Int. J. Organ. Collect. Intell. 4(2), 45 (2014). https://doi.org/10.4018/ijoci.2014040103

    Article  Google Scholar 

Download references

Acknowledgments

This work has been partially funded by University of Catania through the research project “MANGO - Piaceri 2020-2022 - Linea 2”.

Funding

Open Access funding provided by Universit degli Studi di Catania

Author information

Affiliations

Authors

Corresponding author

Correspondence to Orazio Tomarchio.

Additional information

Publisher’s Note

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

Rights and permissions

Open Access This article is licensed under a Creative Commons Attribution 4.0 International License, which permits use, sharing, adaptation, distribution and reproduction in any medium or format, as long as you give appropriate credit to the original author(s) and the source, provide a link to the Creative Commons licence, and indicate if changes were made. The images or other third party material in this article are included in the article's Creative Commons licence, unless indicated otherwise in a credit line to the material. If material is not included in the article's Creative Commons licence and your intended use is not permitted by statutory regulation or exceeds the permitted use, you will need to obtain permission directly from the copyright holder. To view a copy of this licence, visit http://creativecommons.org/licenses/by/4.0/.

Reprints and Permissions

About this article

Verify currency and authenticity via CrossMark

Cite this article

Tomarchio, O., Calcaterra, D., Di Modica, G. et al. TORCH: a TOSCA-Based Orchestrator of Multi-Cloud Containerised Applications. J Grid Computing 19, 5 (2021). https://doi.org/10.1007/s10723-021-09549-z

Download citation

Keywords

  • Cloud orchestration
  • Automated deployment and provisioning
  • Containerised applications
  • TOSCA
  • BPMN