Skip to main content

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

  • Conference paper
  • First Online:
Cloud Computing and Service Science (CLOSER 2017)

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

Included in the following conference series:

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.

This is a preview of subscription content, log in via an institution to check access.

Access this chapter

Chapter
USD 29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD 39.99
Price excludes VAT (USA)
  • Available as EPUB and PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 54.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Institutional subscriptions

Notes

  1. 1.

    To the best of the author’s knowledge there are no research papers analyzing this interesting case study. So, the reader is referred to an Wired magazine article: https://www.wired.com/2014/06/facebook-instagram/.

  2. 2.

    See https://docs.docker.com/v1.11/swarm/scheduler/filter/ (last access 15th Feb. 2017).

  3. 3.

    See https://kubernetes.io/docs/user-guide/node-selection/ (last access 15th Feb. 2017).

  4. 4.

    See https://mesosphere.github.io/marathon/docs/constraints.html (last access 15th Feb. 2017).

  5. 5.

    https://github.com/microservices-demo/microservices-demo (last access 3rd July 2017).

  6. 6.

    To get Kubernetes running in a multi-cloud scenario it is necessary to assign an additional virtual network interface with the public IP address of the node. Kubernetes provides no config options for that mode of operation! However, even these kind of obstacles can be transparently handled by drivers.

  7. 7.

    http://www.paasage.eu/ (visited 15th Feb. 2017).

  8. 8.

    In this case node termination (Azure blocking, OpenStack non-blocking).

  9. 9.

    According to the synergy 2016 Cloud Research Report http://bit.ly/2f2FsGK (visited 12th Jul. 2017).

References

  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. 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)

    Article  Google Scholar 

  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. 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. 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. 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_17

    Chapter  Google Scholar 

  7. Stine, M.: Migrating to Cloud-Native Application Architectures. O’Reilly, Sebastopol (2015)

    Google Scholar 

  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-8

    Book  Google Scholar 

  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. 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. Namiot, D., Sneps-Sneppe, M.: On micro-services architecture. Int. J. Open Inf. Technol. 2(9), 24–27 (2014)

    Google Scholar 

  12. Newman, S.: Building Microservices. O’Reilly Media, Incorporated, Sebastopol (2015)

    Google Scholar 

  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. Petcu, D., Vasilakos, A.V.: Portability in Clouds: approaches and research opportunities. Scalable Comput. Pract. Experience 15, 251–270 (2014)

    Google Scholar 

  15. Toosi, A.N., Calheiros, R.N., Buyya, R.: Interconnected Cloud computing environments. ACM Comput. Surv. 47, 1–47 (2014)

    Article  Google Scholar 

  16. Grozev, N., Buyya, R.: Inter-Cloud architectures and application brokering: taxonomy and survey. Softw. Pract. Experience 44, 369–390 (2014)

    Google Scholar 

  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. 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. 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. 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_10

    Chapter  Google Scholar 

  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. 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. 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_24

    Chapter  Google Scholar 

  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)

    Article  Google Scholar 

  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_19

    Book  Google Scholar 

  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. 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. 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_6

    Book  Google Scholar 

  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_13

    Chapter  Google Scholar 

  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. 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. 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. 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 

Download references

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.

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Nane Kratzke .

Editor information

Editors and Affiliations

Appendices

Appendix

1.1 Cluster Definition File (Intended state)

This exemplary cluster definition file defines a Swarm cluster with the intended state to be deployed in two districts provided by two providers GCE and AWS. It defines three type of user defined node types (flavors): small, med, and large. 3 master and 3 worker nodes should be deployed on small virtual machine types in district gce-europe. 10 worker nodes should be deployed on small virtual machine types in district aws-europe. The flavors small, med, large are defined in Appendix 7.

figure c

1.2 Resources File (Current state)

This exemplary resources file describes provided resources for the operated cluster. This example describes a simple one node cluster (1 master) being operated in one district (OpenStack). A security group was requested. Some data is omitted for better readability.

figure d

1.3 District Definition File (JSON)

The following and exemplary district definition defines provider specific settings and mappings. The user defined district gce-europe should be realized using the provider specific GCE zones europe-west1-b and europe-west1-c. Necessary and provider specific access settings like project identifiers, regions, and credentials are provided as well. User defined flavors (see cluster definition format above) are mapped to concrete provider specific machine types.

figure e

Credentials File (JSON)

The following and exemplary credential file provides access credentials for customer specific GCE and AWS accounts as identified by the district definition file (gce_default and aws_default).

figure f

Rights and permissions

Reprints and permissions

Copyright information

© 2018 Springer International Publishing AG, part of Springer Nature

About this paper

Check for updates. Verify currency and authenticity via CrossMark

Cite this paper

Kratzke, N. (2018). About the Complexity to Transfer Cloud Applications at Runtime and How Container Platforms Can Contribute?. In: Ferguson, D., Muñoz, V., Cardoso, J., Helfert, M., Pahl, C. (eds) Cloud Computing and Service Science. CLOSER 2017. Communications in Computer and Information Science, vol 864. Springer, Cham. https://doi.org/10.1007/978-3-319-94959-8_2

Download citation

  • DOI: https://doi.org/10.1007/978-3-319-94959-8_2

  • Published:

  • Publisher Name: Springer, Cham

  • Print ISBN: 978-3-319-94958-1

  • Online ISBN: 978-3-319-94959-8

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics