Abstract
Most of existing production-ready deployment automation technologies enable declaratively specifying the target deployment for a multi-service application, which can then be automatically enforced. Each technology however relies on a different deployment modelling language, hence hampering the portability of an application deployment from one technology to another. The Essential Deployment Metamodel (EDMM) was hence developed to enable specifying an application deployment in a technology-agnostic manner, in a way that specified deployments can be automatically transformed in the technology-specific deployment artifacts enabling to deploy them with one of the 13 most prominent production-ready deployment technologies. However, not every deployment specified as EDMM model can be executed by all of these deployment technologies, e.g., Kubernetes can actually deploy applications only if their services are containerized. For this reason, this paper introduces the EDMM Tailoring Support System (EDMM TSS), which enables determining whether an application deployment can be deployed with a target technology and if this is not the case, recommending and applying model adaptations to enable deploying the application on the desired target technology. We also present a prototype implementation of the EDMM TSS, which is plugged in the existing EDMM Modeling and Transformation Framework. Moreover, we present a case study showcasing the overall benefits of the resulting EDMM-based deployment support system.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Notes
- 1.
- 2.
The EDMM and technology-specific sources for all the considered deployment cases are publicly available on GitHub at https://github.com/di-unipi-socc/edmm-case-studies.
References
Achilleos, A.P., et al.: The cloud application modelling and execution language. J. Cloud Comput. 8(1), 1–25 (2019). https://doi.org/10.1186/s13677-019-0138-7
Agrawal, P., Rawat, N.: DevOps: a new approach to cloud development & testing. In: 2019 International Conference on Issues and Challenges in Intelligent Computing Techniques (ICICT), vol. 1, pp. 1–4 (2019). https://doi.org/10.1109/ICICT46931.2019.8977662
Alipour, H., Liu, Y.: Model driven deployment of auto-scaling services on multiple clouds. In: 2018 IEEE International Conference on Software Architecture Companion, pp. 93–96. 2018 IEEE International Conference on Software Architecture Companion (ICSA-C 2018) (2018). https://doi.org/10.1109/ICSA-C.2018.00033
Bergmayr, A., et al.: A systematic review of cloud modeling languages. ACM Comput. Surv. 51(1) (2018). https://doi.org/10.1145/3150227
Binz, T., et al.: OpenTOSCA – a runtime for TOSCA-based cloud applications. In: Basu, S., Pautasso, C., Zhang, L., Fu, X. (eds.) ICSOC 2013. LNCS, vol. 8274, pp. 692–695. Springer, Heidelberg (2013). https://doi.org/10.1007/978-3-642-45005-1_62
Breitenbücher, U., Binz, T., Kopp, O., Leymann, F.: Pattern-based runtime management of composite cloud applications. In: Proceedings of the 3rd International Conference on Cloud Computing and Services Science (CLOSER 2013), pp. 475–482. SciTePress (2013)
Breitenbücher, U., et al.: 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, pp. 112–130 (2016). https://doi.org/10.5220/0007903201120130
Brogi, A., et al.: EU project seaclouds - adaptive management of service-based applications across multiple clouds. In: Proceedings of the 4th International Conference on Cloud Computing and Services Science, pp. 758–763. SciTePress (2014). https://doi.org/10.5220/0004979507580763
Bruneliere., H., Al-Shara., Z., Alvares., F., Lejeune., J., Ledoux., T.: A model-based architecture for autonomic and heterogeneous cloud systems. In: Proceedings of the 8th International Conference on Cloud Computing and Services Science - CLOSER, pp. 201–212. SciTePress (2018). https://doi.org/10.5220/0006773002010212
Calheiros, R.N., Ranjan, R., Beloglazov, A., De Rose, C.A.F., Buyya, R.: Cloudsim: a toolkit for modeling and simulation of cloud computing environments and evaluation of resource provisioning algorithms. Softw.: Pract. Exp. 41(1), 23–50 (2011). https://doi.org/10.1002/spe.995
Carrasco, J., Durán, F., Pimentel, E.: Trans-cloud: CAMP/TOSCA-based bidimensional cross-cloud. Comput. Stand. Interfaces 58, 167–179 (2018). https://doi.org/10.1016/j.csi.2018.01.005
Carrasco, J., Durán, F., Pimentel, E.: Live migration of trans-cloud applications. Comput. Stand. Interfaces 69, 103392 (2020). https://doi.org/10.1016/j.csi.2019.103392
Di Cosmo, R., Eiche, A., Mauro, J., Zacchiroli, S., Zavattaro, G., Zwolakowski, J.: Automatic deployment of services in the cloud with Aeolus blender. In: Barros, A., Grigori, D., Narendra, N.C., Dam, H.K. (eds.) ICSOC 2015. LNCS, vol. 9435, pp. 397–411. Springer, Heidelberg (2015). https://doi.org/10.1007/978-3-662-48616-0_28
Di Cosmo, R., et al.: Automated synthesis and deployment of cloud applications. In: Proceedings of the 29th ACM/IEEE International Conference on Automated Software Engineering, pp. 211–222. ACM (2014). https://doi.org/10.1145/2642937.2642980
Di Nitto, E., Matthews, P., Petcu, D., Solberg, A.: Model-Driven Development and Operation of Multi-Cloud Applications: The MODAClouds Approach. Springer, Cham (2017)
Docker Inc.: Compose Object. http://github.com/docker/compose-on-kubernetes (2020)
Endres, C., Breitenbücher, U., Falkenthal, M., Kopp, O., Leymann, F., Wettinger, J.: Declarative vs. imperative: two modeling patterns for the automated deployment of applications. In: Proceedings of the 9th International Conference on Pervasive Patterns and Applications, pp. 22–27. Proceedings of the 9th International Conference on Pervasive Patterns and Applications, Xpert Publishing Services (2017)
Farshidi, S., Jansen, S., de Jong, R., Brinkkemper, S.: A decision support system for cloud service provider selection problem in software producing organizations. In: 2018 IEEE 20th Conference on Business Informatics, vol. 01, pp. 139–148. 2018 IEEE 20th Conference on Business Informatics (CBI 2018) (2018). https://doi.org/10.1109/CBI.2018.00024
Guerriero, M., Garriga, M., Tamburri, D.A., Palomba, F.: Adoption, support, and challenges of infrastructure-as-code: insights from industry. In: 2019 IEEE International Conference on Software Maintenance and Evolution (ICSME), pp. 580–589 (2019). https://doi.org/10.1109/ICSME.2019.00092
Guillén, J., Miranda, J., Murillo, J.M., Canal, C.: A service-oriented framework for developing cross cloud migratable software. J. Syst. Softw. 86(9), 2294–2308 (2013). https://doi.org/10.1016/j.jss.2012.12.033
Harzenetter, L., Breitenbücher, U., Falkenthal, M., Guth, J., Krieger, C., Leymann, F.: Pattern-based deployment models and their automatic execution. In: 11th IEEE/ACM International Conference on Utility and Cloud Computing (UCC 2018), pp. 41–52. IEEE (2018). https://doi.org/10.1109/UCC.2018.00013
Harzenetter, L., Breitenbücher, U., Falkenthal, M., Guth, J., Leymann, F.: Pattern-based deployment models revisited: automated pattern-driven deployment configuration. In: Proceedings of the Twelfth International Conference on Pervasive Patterns and Applications (PATTERNS 2020), pp. 40–49. Xpert Publishing Services (2020)
Herry, H., Anderson, P., Wickler, G.: Automated planning for configuration changes. In: Proceedings of the 25th International Conference on Large Installation System Administration, pp. 57–68. Proceedings of the 25th International Conference on Large Installation System Administration, USENIX (2011)
Humble, J., Farley, D.: Continuous Delivery: Reliable Software Releases Through Build, Test, and Deployment Automation. Addison-Wesley, Boston (2010)
Kamateri, E., et al.: Cloud4SOA: a semantic-interoperability PaaS solution for multi-cloud platform management and portability. In: Lau, K.-K., Lamersdorf, W., Pimentel, E. (eds.) ESOCC 2013. LNCS, vol. 8135, pp. 64–78. Springer, Heidelberg (2013). https://doi.org/10.1007/978-3-642-40651-5_6
Khajeh-Hosseini, A., Greenwood, D., Smith, J.W., Sommerville, I.: The cloud adoption toolkit: supporting cloud adoption decisions in the enterprise. Softw.: Pract. Exp. 42(4), 447–465 (2012). https://doi.org/10.1002/spe.1072
Kirschnick, J., et al.: Towards an architecture for deploying elastic services in the cloud. Softw.: Pract. Exp. 42(4), 395–408 (2012). https://doi.org/10.1002/spe.1090
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.) ICSOC 2013. LNCS, vol. 8274, pp. 700–704. Springer, Heidelberg (2013). https://doi.org/10.1007/978-3-642-45005-1_64
Microsoft and Alibaba Cloud: Open Application Model. http://oam.dev (2020)
Morris, K.: Infrastructure as Code: Managing Servers in the Cloud, 1st edn. O’Reilly Media, Sebastopol (2016)
OAM-dev: Kubevela. http://github.com/oam-dev/kubevela (2020)
OASIS: Topology and Orchestration Specification for Cloud Applications (TOSCA) Version 1.0. http://docs.oasis-open.org/tosca/TOSCA/v1.0/TOSCA-v1.0.html (2013)
OASIS: TOSCA Simple Profile in YAML Version 1.2. http://docs.oasis-open.org/tosca/TOSCA-Simple-Profile-YAML/v1.2/os/TOSCA-Simple-Profile-YAML-v1.2-os.html (2019)
Oppenheimer, D., Ganapathi, A., Patterson, D.A.: Why do internet services fail, and what can be done about it? In: Proceedings of the 4th Conference on USENIX Symposium on Internet Technologies and Systems. Proceedings of the 4th Conference on USENIX Symposium on Internet Technologies and Systems, USENIX (2003)
Panarello, A., Breitenbücher, U., Leymann, F., Puliafito, A., Zimmermann, M.: Automating the deployment of multi-cloud applications in federated cloud environments. In: Proceedings of the 10th EAI International Conference on Performance Evaluation Methodologies and Tools, pp. 194–201. Institute for Computer Sciences, Social-Informatics and Telecommunications Engineering (ICST) (2017). https://doi.org/10.4108/eai.25-10-2016.2266363
Papazoglou, M.P., van den Heuvel, W.J.: Blueprinting the cloud. IEEE Internet Comput. 15(6), 74–79 (2011). https://doi.org/10.1109/MIC.2011.147
Shahin, M., Ali Babar, M., Zhu, L.: Continuous integration, delivery and deployment: a systematic review on approaches, tools, challenges and practices. IEEE Access 5, 3909–3943 (2017). https://doi.org/10.1109/ACCESS.2017.2685629
Shuaib, M., Samad, A., Alam, S., Siddiqui, S.T.: Why adopting cloud is still a challenge?—a review on issues and challenges for cloud migration in organizations. In: Hu, Y.-C., Tiwari, S., Mishra, K.K., Trivedi, M.C. (eds.) Ambient Communications and Computer Systems. AISC, vol. 904, pp. 387–399. Springer, Singapore (2019). https://doi.org/10.1007/978-981-13-5934-7_35
Spring: Petclinic. http://github.com/spring-projects/spring-petclinic (2021)
The Kubenetes Authors: Kompose. http://kompose.io (2020)
Wettinger, J., Andrikopoulos, V., Leymann, F., Strauch, S.: Middleware-oriented deployment automation for cloud applications. IEEE Trans. Cloud Comput. 6(4), 1054–1066 (2018). https://doi.org/10.1109/TCC.2016.2535325
Wurster, M.: EDMM in YAML specification. http://github.com/UST-EDMM/spec-yaml (2019)
Wurster, M., Breitenbücher, U., Brogi, A., Diez, F., Leymann, F., Soldani, J., Wild, K.: Automating the deployment of distributed applications by combining multiple deployment technologies. In: Proceedings of the 11th International Conference on Cloud Computing and Services Science - CLOSER, pp. 178–189. INSTICC, SciTePress (2021). https://doi.org/10.5220/0010404301780189
Wurster, M., et al.: The EDMM modeling and transformation system. In: Yangui, S., et al. (eds.) ICSOC 2019. LNCS, vol. 12019, pp. 294–298. Springer, Cham (2020). https://doi.org/10.1007/978-3-030-45989-5_26
Wurster, M., et al.: Technology-agnostic declarative deployment automation of cloud applications. In: Brogi, A., Zimmermann, W., Kritikos, K. (eds.) ESOCC 2020. LNCS, vol. 12054, pp. 97–112. Springer, Cham (2020). https://doi.org/10.1007/978-3-030-44769-4_8
Wurster, M., et al.: The essential deployment metamodel: a systematic review of deployment automation technologies. SICS Softw.-Intensive Cyber-Phys. Syst. 1, 63–75 (2019). https://doi.org/10.1007/s00450-019-00412-x
Wurster, M., Breitenbücher, U., Harzenetter, L., Leymann, F., Soldani, J.: TOSCA lightning: an integrated toolchain for transforming TOSCA light into production-ready deployment technologies. In: Herbaut, N., La Rosa, M. (eds.) CAiSE 2020. LNBIP, vol. 386, pp. 138–146. Springer, Cham (2020). https://doi.org/10.1007/978-3-030-58135-0_12
Wurster, M., Breitenbücher, U., Harzenetter, L., Leymann, F., Soldani, J., Yussupov, V.: Tosca light: bridging the gap between the TOSCA specification and production-ready deployment technologies. In: Proceedings of the 10th International Conference on Cloud Computing and Services Science - Volume 1: CLOSER, pp. 216–226. INSTICC, SciTePress (2020). https://doi.org/10.5220/0009794302160226
Author information
Authors and Affiliations
Corresponding author
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2022 Springer Nature Switzerland AG
About this paper
Cite this paper
Soldani, J., Breitenbücher, U., Brogi, A., Frioli, L., Leymann, F., Wurster, M. (2022). Tailoring Technology-Agnostic Deployment Models to Production-Ready Deployment Technologies. In: Ferguson, D., Helfert, M., Pahl, C. (eds) Cloud Computing and Services Science. CLOSER 2021. Communications in Computer and Information Science, vol 1607. Springer, Cham. https://doi.org/10.1007/978-3-031-21637-4_1
Download citation
DOI: https://doi.org/10.1007/978-3-031-21637-4_1
Published:
Publisher Name: Springer, Cham
Print ISBN: 978-3-031-21636-7
Online ISBN: 978-3-031-21637-4
eBook Packages: Computer ScienceComputer Science (R0)