Elastic container platforms (ECP) like Docker Swarm, Kubernetes (k8s) and Apache Mesos have gotten more and more attention by practitioners in recent years [1]. Elastic container platforms fit very well with existing cloud-native application (CNA) architecture approaches [6]. Corresponding system designs often follow a microservice-based architecture [8, 5]. Nevertheless, the reader should be aware that the effective and elastic operation of such kind of elastic container platforms is still a question in research – although there are interesting approaches making use of bare metal [1] as well as public and private cloud infrastructures [6]. What is more, there are even more severe open issues like how to design, define and operate cloud applications on top of such container platforms. This is especially true for multi-cloud contexts. Such open issues in scheduling microservices to the cloud come along with questions regarding interoperability, application topology and composition aspects [7] as well as elastic runtime adaption aspects of that kind of cloud-native applications [2]. The combination of these three aspects (multi-cloud interoperability, application topology definition/composition and elastic runtime adaption) is – to the best of the authors’ knowledge – not solved satisfactorily so far. These three problems are often seen in isolation. In consequence topology based multi-cloud approaches often do not consider elastic runtime adaption of deployments (see [7] as research type representative). But to be honest, elastic runtime adaptive solutions focusing multi-cloud capability do not make use of topology based approaches as well (take [6] as an example). And finally, (topology-based) cloud-native applications making use of elastic runtime adaption are often inherently bound to specific cloud infrastructure services (like cloud provider specific monitoring, scaling and messaging services) making it hard to transfer these cloud applications easily to another cloud provider or even operate them across providers at the same time [5]. Furthermore, Heinrich et al. mention several research challenges and directions that come along with microservice focused monitoring and runtime adaption approaches [3]. All in all, it seems like cloud engineers (and researchers as well) just trust in picking only two out of three options.
[1]
Rajiv Ranjan,et al.
Open Issues in Scheduling Microservices in the Cloud
,
2016,
IEEE Cloud Computing.
[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]
Alan Sill,et al.
The Design and Architecture of Microservices
,
2016,
IEEE Cloud Computing.
[4]
Nane Kratzke,et al.
Understanding cloud-native applications after 10 years of cloud computing - A systematic mapping study
,
2017,
J. Syst. Softw..
[5]
Oliver Kopp,et al.
Topology Splitting and Matching for Multi-Cloud Deployments
,
2017,
CLOSER.
[6]
Carlos de Alfonso,et al.
Container-based virtual elastic clusters
,
2017,
J. Syst. Softw..
[7]
Claus Pahl,et al.
Performance Engineering for Microservices: Research Challenges and Directions
,
2017,
ICPE Companion.
[8]
Nane Kratzke.
Smuggling Multi-cloud Support into Cloud-native Applications using Elastic Container Platforms
,
2017,
CLOSER.