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

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.

[1]  Claus Pahl,et al.  Software Architecture for the Cloud - A Roadmap Towards Control-Theoretic, Model-Based Cloud Architecture , 2015, ECSA.

[2]  René Peinl,et al.  ClouNS - a Cloud-Native Application Reference Model for Enterprise Architects , 2016, 2016 IEEE 20th International Enterprise Distributed Object Computing Workshop (EDOCW).

[3]  Waldemar Karwowski,et al.  Swarm Based System for Management of Containerized Microservices in a Cloud Consisting of Heterogeneous Servers , 2017, ISAT.

[4]  Dmitry Namiot,et al.  On micro-services architecture , 2014 .

[5]  Nane Kratzke Smuggling Multi-cloud Support into Cloud-native Applications using Elastic Container Platforms. , 2017, CLOSER 2017.

[6]  Dana Petcu,et al.  Building an interoperability API for Sky computing , 2011, 2011 International Conference on High Performance Computing & Simulation.

[7]  Laura Ricci,et al.  Cloud Federations in Contrail , 2011, Euro-Par Workshops.

[8]  Jörg Domaschka,et al.  Experiences from building a cross-cloud orchestration tool , 2016, CrossCloud@EuroSys.

[9]  René Peinl,et al.  The Docker Ecosystem Needs Consolidation , 2015, CLOSER.

[10]  Danilo Ardagna,et al.  An Approach for the Development of Portable Applications on PaaS Clouds , 2013, CLOSER.

[11]  Pooyan Jamshidi,et al.  Migrating to Cloud-Native Architectures Using Microservices: An Experience Report , 2015, ESOCC Workshops.

[12]  Dana Petcu,et al.  Portability in clouds: approaches and research opportunities , 2014, Scalable Comput. Pract. Exp..

[13]  Nane Kratzke,et al.  Understanding cloud-native applications after 10 years of cloud computing - A systematic mapping study , 2017, J. Syst. Softw..

[14]  Sam Newman,et al.  Building Microservices , 2015 .

[15]  Romain Rouvoy,et al.  A Federated Multi-cloud PaaS Infrastructure , 2012, 2012 IEEE Fifth International Conference on Cloud Computing.

[16]  Craig A. Knoblock,et al.  A Survey of Digital Map Processing Techniques , 2014, ACM Comput. Surv..

[17]  Rajkumar Buyya,et al.  Auto-Scaling Web Applications in Clouds , 2018, ACM Comput. Surv..

[18]  Randy H. Katz,et al.  Mesos: A Platform for Fine-Grained Resource Sharing in the Data Center , 2011, NSDI.

[19]  Hui Song,et al.  Using Adaptation Plans to Control the Behavior of Models@runtime , 2015, Models@run.time.

[20]  Nane Kratzke,et al.  Investigation of Impacts on Network Performance in the Advance of a Microservice Design , 2016, CLOSER.

[21]  Nikos Loutas,et al.  Cloud4SOA: A Semantic-Interoperability PaaS Solution for Multi-cloud Platform Management and Portability , 2013, ESOCC.

[22]  Rajkumar Buyya,et al.  Interconnected Cloud Computing Environments , 2014, ACM Comput. Surv..

[23]  Blesson Varghese,et al.  Cloud Services Brokerage: A Survey and Research Roadmap , 2015, 2015 IEEE 8th International Conference on Cloud Computing.

[24]  Frank Leymann,et al.  Cloud Computing Patterns: Fundamentals to Design, Build, and Manage Cloud Applications , 2014 .

[25]  Frank Leymann,et al.  Cloud Computing Patterns , 2014, Springer Vienna.

[26]  Benoit Hudzia,et al.  Future Generation Computer Systems Optimis: a Holistic Approach to Cloud Service Provisioning , 2022 .

[27]  Antonio Brogi,et al.  TOSCA in a Nutshell: Promises and Perspectives , 2014, ESOCC.

[28]  Rajkumar Buyya,et al.  Inter‐Cloud architectures and application brokering: taxonomy and survey , 2014, Softw. Pract. Exp..

[29]  Nane Kratzke,et al.  How to Operate Container Clusters more Efficiently? Some Insights Concerning Containers, Software-Defined-Networks, and their sometimes Counterintuitive Impact on Network Performance , 2015 .

[30]  N CalheirosRodrigo,et al.  Interconnected Cloud Computing Environments , 2014 .

[31]  Claus Pahl,et al.  Benchmark requirements for microservices architecture research , 2017 .