Advertisement

About the Complexity to Transfer Cloud Applications at Runtime and How Container Platforms Can Contribute?

Conference paper
Part of the Communications in Computer and Information Science book series (CCIS, volume 864)

Abstract

Cloud-native applications are often designed for only one specific cloud infrastructure or platform. The effort to port such kind of applications into a different cloud is usually a laborious one time exercise. Modern Cloud-native application architecture approaches make use of popular elastic container platforms (Apache Mesos, Kubernetes, Docker Swarm). These kind of platforms contribute to a lot of existing cloud engineering requirements. This given, it astonishes that these kind of platforms (already existing and open source available) are not considered more consequently for multi-cloud solutions. These platforms provide inherent multi-cloud support but this is often overlooked. This paper presents a software prototype and shows how Kubernetes and Docker Swarm clusters could be successfully transfered at runtime across public cloud infrastructures of Google (Google Compute Engine), Microsoft (Azure) and Amazon (EC2) and further cloud infrastructures like OpenStack. Additionally, software engineering lessons learned are derived and some astonishing performance data of the mentioned cloud infrastructures is presented that could be used for further optimizations of IaaS transfers of Cloud-native applications.

Keywords

Cloud-native application Multi-cloud Elastic platform Container Portability Transferability MAPE AWS GCE Azure OpenStack Kubernetes Docker Swarm 

Notes

Acknowledgements

This research is funded by German Federal Ministry of Education and Research (13FH021PX4). I would like to thank Peter Quint, Christian Stüben, and Arne Salveter for their hard work and their contributions to the Project Cloud TRANSIT. Additionally I would like to thank the practitioners Mario-Leander Reimer and Josef Adersberger from QAWare for inspiring discussions and contributions concerning cloud-native application stacks.

Supplementary material

References

  1. 1.
    Kratzke, N.: Smuggling multi-cloud support into cloud-native applications using elastic container platforms. In: Proceedings of the 7th International Conference on Cloud Computing and Services Science (CLOSER 2017), pp. 29–42 (2017)Google Scholar
  2. 2.
    Kratzke, N., Quint, P.C.: Understanding Cloud-native applications after 10 years of Cloud Computing - a systematic mapping study. J. Syst. Softw. 126, 1–16 (2017)CrossRefGoogle Scholar
  3. 3.
    Quint, P.C., Kratzke, N.: Taming the complexity of elasticity, scalability and transferability in Cloud Computing - Cloud-Native applications for SMEs. Int. J. Adv. Netw. Serv. 9, 389–400 (2016)Google Scholar
  4. 4.
    Kratzke, N., Peinl, R.: ClouNS - a Cloud-native applications reference model for enterprise architects. In: 8th Workshop on Service oriented Enterprise Architecture for Enterprise Engineering (SoEA4EE 2016) in Conjunction with the EDOC 2016 Conference (2016)Google Scholar
  5. 5.
    Qu, C., Calheiros, R.N., Buyya, R.: Auto-scaling Web applications in Clouds: a taxonomy and survey. CoRR abs/1609.09224 (2016)Google Scholar
  6. 6.
    Pahl, C., Jamshidi, P.: Software architecture for the Cloud – a roadmap towards control-theoretic, model-based cloud architecture. In: Weyns, D., Mirandola, R., Crnkovic, I. (eds.) ECSA 2015. LNCS, vol. 9278, pp. 212–220. Springer, Cham (2015).  https://doi.org/10.1007/978-3-319-23727-5_17CrossRefGoogle Scholar
  7. 7.
    Stine, M.: Migrating to Cloud-Native Application Architectures. O’Reilly, Sebastopol (2015)Google Scholar
  8. 8.
    Fehling, C., Leymann, F., Retter, R., Schupeck, W., Arbitter, P.: Cloud Computing Patterns: Fundamentals to Design, Build, and Manage Cloud Applications. Springer, Vienna (2014).  https://doi.org/10.1007/978-3-7091-1568-8CrossRefGoogle Scholar
  9. 9.
    Ashtikar, S., Barker, C., Clem, B., Fichadia, P., Krupin, V., Louie, K., Malhotra, G., Nielsen, D., Simpson, N., Spence, C.: Open data center alliance best practices: architecting Cloud-Aware applications Rev. 1.0 (2014)Google Scholar
  10. 10.
    Balalaie, A., Heydarnoori, A., Jamshidi, P.: Migrating to Cloud-Native architectures using microservices: an experience report. In: 1st International Workshop on Cloud Adoption and Migration (CloudWay), Taormina, Italy (2015)Google Scholar
  11. 11.
    Namiot, D., Sneps-Sneppe, M.: On micro-services architecture. Int. J. Open Inf. Technol. 2(9), 24–27 (2014)Google Scholar
  12. 12.
    Newman, S.: Building Microservices. O’Reilly Media, Incorporated, Sebastopol (2015)Google Scholar
  13. 13.
    Barker, A., Varghese, B., Thai, L.: Cloud services brokerage: a survey and research roadmap. In: 2015 IEEE 8th International Conference on Cloud Computing, pp. 1029–1032. IEEE (2015)Google Scholar
  14. 14.
    Petcu, D., Vasilakos, A.V.: Portability in Clouds: approaches and research opportunities. Scalable Comput. Pract. Experience 15, 251–270 (2014)Google Scholar
  15. 15.
    Toosi, A.N., Calheiros, R.N., Buyya, R.: Interconnected Cloud computing environments. ACM Comput. Surv. 47, 1–47 (2014)CrossRefGoogle Scholar
  16. 16.
    Grozev, N., Buyya, R.: Inter-Cloud architectures and application brokering: taxonomy and survey. Softw. Pract. Experience 44, 369–390 (2014)Google Scholar
  17. 17.
    Hindman, B., Konwinski, A., Zaharia, M., Ghodsi, A., Joseph, A.D., Katz, R.H., Shenker, S., Stoica, I.: Mesos: a platform for fine-grained resource sharing in the data center. In: 8th USENIX Conference on Networked Systems Design and Implementation (NSDI 2011), vol. 11 (2011)Google Scholar
  18. 18.
    Peinl, R., Holzschuher, F.: The Docker ecosystem needs consolidation. In: 5th International Conference on Cloud Computing and Services Science (CLOSER 2015), pp. 535–542 (2015)Google Scholar
  19. 19.
    Kratzke, N., Quint, P.C.: How to operate container clusters more efficiently? Some insights concerning containers, software-defined-networks, and their sometimes counterintuitive impact on network performance. Int. J. Adv. Netw. Serv. 8, 203–214 (2015)Google Scholar
  20. 20.
    Kratzke, N., Quint, P.-C.: Investigation of impacts on network performance in the advance of a microservice design. In: Helfert, M., Ferguson, D., Méndez Muñoz, V., Cardoso, J. (eds.) CLOSER 2016. CCIS, vol. 740, pp. 187–208. Springer, Cham (2017).  https://doi.org/10.1007/978-3-319-62594-2_10CrossRefGoogle Scholar
  21. 21.
    Aderaldo, C.M., Mendonça, N.C., Pahl, C., Jamshidi, P.: Benchmark requirements for microservices architecture research. In: Proceedings of the 1st International Workshop on Establishing the Community-Wide Infrastructure for Architecture-Based Software Engineering, ECASE 2017, Piscataway, NJ, USA, pp. 8–13. IEEE Press (2017)Google Scholar
  22. 22.
    Kratzke, N., Quint, P.C.: About automatic benchmarking of IaaS Cloud service providers for a world of container clusters. J. Cloud Comput. Res. 1, 16–34 (2015)Google Scholar
  23. 23.
    Karwowski, W., Rusek, M., Dwornicki, G., Orłowski, A.: Swarm based system for management of containerized microservices in a Cloud consisting of heterogeneous servers. In: Borzemski, L., Świątek, J., Wilimowska, Z. (eds.) ISAT 2017. AISC, vol. 655, pp. 262–271. Springer, Cham (2018).  https://doi.org/10.1007/978-3-319-67220-5_24CrossRefGoogle Scholar
  24. 24.
    Ferrer, A.J., Hernandez, F., Tordsson, J., Elmroth, E., Ali-Eldin, A., Zsigri, C., Sirvent, R., Guitart, J., Badia, R.M., Djemame, K., Ziegler, W., Dimitrakos, T., Nair, S.K., Kousiouris, G., Konstanteli, K., Varvarigou, T., Hudzia, B., Kipp, A., Wesner, S., Corrales, M., Forgo, N., Sharif, T., Sheridan, C.: OPTIMIS: a holistic approach to Cloud service provisioning. Future Gener. Comput. Syst. 28, 66–77 (2012)CrossRefGoogle Scholar
  25. 25.
    Carlini, E., Coppola, M., Dazzi, P., Ricci, L., Righetti, G.: Cloud Federations in Contrail, pp. 159–168. Springer, Heidelberg (2012).  https://doi.org/10.1007/978-3-642-29737-3_19CrossRefGoogle Scholar
  26. 26.
    Paraiso, F., Haderer, N., Merle, P., Rouvoy, R., Seinturier, L.: A federated multi-cloud PaaS infrastructure. In: 2012 IEEE Fifth International Conference on Cloud Computing, pp. 392–399. IEEE (2012)Google Scholar
  27. 27.
    Petcu, D., Craciun, C., Neagul, M., Lazcanotegui, I., Rak, M.: Building an interoperability API for Sky computing. In: 2011 International Conference on High Performance Computing & Simulation, pp. 405–411. IEEE (2011)Google Scholar
  28. 28.
    Kamateri, E., Loutas, N., Zeginis, D., Ahtes, J., D’Andria, F., Bocconi, S., Gouvas, P., Ledakis, G., Ravagli, F., Lobunets, O., Tarabanis, K.A.: Cloud4SOA: A Semantic-Interoperability PaaS Solution for Multi-cloud Platform Management and Portability, pp. 64–78. Springer, Heidelberg (2013).  https://doi.org/10.1007/978-3-642-40651-5_6CrossRefGoogle Scholar
  29. 29.
    Brogi, A., Soldani, J., Wang, P.W.: TOSCA in a Nutshell: promises and perspectives. In: Villari, M., Zimmermann, W., Lau, K.-K. (eds.) ESOCC 2014. LNCS, vol. 8745, pp. 171–186. Springer, Heidelberg (2014).  https://doi.org/10.1007/978-3-662-44879-3_13CrossRefGoogle Scholar
  30. 30.
    Rossini, A.: Cloud application modelling and execution language (CAMEL) and the PaaSage workflow. In: Advances in Service-Oriented and Cloud Computing - Workshops of ESOCC 2015, vol. 567, pp. 437–439 (2015)Google Scholar
  31. 31.
    Lushpenko, M., Ferry, N., Song, H., Chauvel, F., Solberg, A.: Using adaptation plans to control the behavior of Models@Runtime. In: Bencomo, N., Götz, S., Song, H. (eds.) MRT 2015: 10th International Workshop on Models@run.time, Co-located with MODELS 2015: 18th ACM/IEEE International Conference on Model Driven Engineering Languages and Systems, vol. 1474 of CEUR Workshop Proceedings. CEUR (2015)Google Scholar
  32. 32.
    Baur, D., Domaschka, J.: Experiences from building a cross-cloud orchestration tool. In: Proceedings of the 3rd Workshop on CrossCloud Infrastructures & Platforms, CrossCloud 2016, New York, NY, USA, pp. 4:1–4:6. ACM (2016)Google Scholar
  33. 33.
    Giove, F., Longoni, D., Yancheshmeh, M.S., Ardagna, D., Di Nitto, E.: An approach for the development of portable applications on PaaS Clouds. In: Proceedings of the 3rd International Conference on Cloud Computing and Services Science, pp. 591–601. SciTePress - Science and and Technology Publications (2013)Google Scholar

Copyright information

© Springer International Publishing AG, part of Springer Nature 2018

Authors and Affiliations

  1. 1.Center for Communication, Systems and Applications (CoSA)Lübeck University of Applied SciencesLübeckGermany

Personalised recommendations