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.
Article PDF
Similar content being viewed by others
Explore related subjects
Discover the latest articles, news and stories from top researchers in related subjects.Avoid common mistakes on your manuscript.
Data Availability
Data sharing not applicable to this article as no datasets were generated or analysed during the current study
References
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
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
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)
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)
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
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)
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)
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)
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
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
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
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)
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)
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
Pahl, C.: Containerization and the PaaS Cloud. IEEE Cloud Computing 2(3), 24 (2015). https://doi.org/10.1109/MCC.2015.51
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
Docker Inc.: Docker Swarm. https://docs.docker.com/engine/swarm/. Last accessed on 25-06-2020
C.N.C. Foundation. Kubernetes. https://kubernetes.io/. Last accessed on 25-06-2020
Apache Software Foundation. Mesos. http://mesos.apache.org/. Last accessed on 25-06-2020
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)
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)
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
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
Amazon. CloudFormation. https://aws.amazon.com/cloudformation/. Last accessed on 25-06-2020
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
RedHat. CloudForms. https://access.redhat.com/products/red-hat-cloudforms. Last accessed on 25-06-2020
IBM. Cloud Orchestrator. https://www.ibm.com/us-en/marketplace/deployment-automation. Last accessed on 25-06-2020
OpenStack. Heat. https://wiki.openstack.org/wiki/Heat. Last accessed on 25-06-2020
GigaSpaces Technologies. Cloudify. https://cloudify.co/. Last accessed on 25-06-2020
Red Hat. Ansible. https://www.ansible.com/. Last accessed on 25-06-2020
Chef. Chef. https://www.chef.io/. Last accessed on 25-06-2020
Puppet. Puppet. https://puppet.com/. Last accessed on 25-06-2020
SaltStack Inc. Salt. https://www.saltstack.com/. Last accessed on 25-06-2020
Morris, K.: Infrastructure as Code: Managing Servers in the Cloud, 1st edn. O’Reilly Media, Inc, Newton (2016)
HashiCorp. Terraform. https://www.terraform.io/. Last accessed on 25-06-2020
OASIS: Web services business process execution language version 2.0. https://www.oasis-open.org/committees/wsbpel/. Last accessed on 10-04-2018 (2007)
OMG: Business Process Model and Notation (BPMN 2.0). http://www.omg.org/spec/BPMN/2.0/. Last accessed on 10-04-2018 (2011)
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
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)
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)
Apache software foundation. Brooklyn. https://brooklyn.apache.org/. Last accessed on 25-06-2017
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)
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)
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
Docker Inc. Docker. https://www.docker.com/. Last accessed on 25-06-2020
Sysdig: Sysdig 2019 container usage report. https://sysdig.com/blog/sysdig-2019-container-usage-report/. Last accessed: 2019-12-23 (2019)
Cloud native computing foundation. containerd. https://containerd.io/. Last accessed on 25-06-2020
Cloud native computing foundation. CRI-O. https://cri-o.io/. Last accessed on 25-06-2020
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
Mesosphere Inc. Marathon. https://mesosphere.github.io/marathon/. Last accessed on 25-06-2020
OpenStack. Magnum. https://wiki.openstack.org/wiki/Magnum. Last accessed on 25-06-2020
FastConnect. Alien4Cloud. https://alien4cloud.github.io/. Last accessed on 25-06-2020
Apache Software Foundation. ARIA TOSCA. https://ariatosca.incubator.apache.org/. Last accessed on 25-06-2020
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
Cloudsoft. Clocker. http://www.clocker.io/. Last accessed on 25-06-2020
Apache Software Foundation. Stratos. https://stratos.apache.org/. Last accessed on 25-06-2020
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
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
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
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
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
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
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
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)
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
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
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
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
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
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)
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)
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
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)
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)
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)
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
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)
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
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
Authors and Affiliations
Corresponding author
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/.
About this article
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
Received:
Accepted:
Published:
DOI: https://doi.org/10.1007/s10723-021-09549-z