Interact: ServiceMesh und MultiCloud demystified – Teil1

Inhaltsverzeichnis
Idee, Motivation und Hintergrund
Jeder spricht über „Mutlicloud“ und will „jeden Workload an jeder Location“ betreiben. Wir sprechen nicht nur darüber – wir tun es auch! Im letzten Blog Post zum Thema Cloud Native App Journey „Interact“ sind wir auf dieses Thema eingegangen.
Dieser Blog Post geht direkt auf das Thema „Interact“ und die Umsetzung über ServiceMesh, ServiceDiscovery und „Multi Cloud|Plattform“-Connectivity ein
Aber erst einmal der Reihe nach:
Sicherlich ist es sinnvoll einen Workload dort zu platzieren, wo er „am besten“ aufgehoben ist. Wenn wir „die Cloud“ mit einen „Hotel“ vergleichen ist der heutige Standard oftmals Kubernetes. Kubernetes ist das Betriebssystem für Applikationen in der Cloud und ermöglicht state-of-the Art Betrieb von Applikationen und die Abbildung deren Life-Cycle.
Aber nicht alle Applikationen sind per-se containerisiert oder gar Microservices. Des weiteren stellen sich viele, grundsätzliche Fragen. Denn die zentrale, bzw. Herausforderung ist, dass alle Applikationen – vor allem die modernen – mit anderen Applikationen kommunizieren müssen – über diverse Plattformen hinweg.
Welche wesentlichen Fragen stellen sich:
An dieser Stelle landet man bei den Themen: Service Mesh & Service Discovery
Globale galaktische Herausforderung
Wolke. Container. Kubernetes. Mikrodienste. Heben und verschieben. Re-Faktor, Re-Architekt. Cloud-native App-Reise. Das ist alles toll und es sind Technologien, die uns viel Wertvolles bringen können – sofern wir sie richtig einsetzen.
Es ist aber völliger Unsinn, wenn wir den Leuten für jede neue Technologie sagen, Ihr müsst Eurer Zeug umbauen – oder sogar komplett neu bauen. Das vernichtet Synergie. Alles muss mit Sinn, Verstand und einer dazugehörenden Portion Pragmatismus geschehen.
Und das sagen wir als Technologen.
Fangen wir einmal ganz weit vorne an – worum geht es in der heutigen IT?
Entwicklung von Monolithen hin zu “Cloud Native Applikationen”
Wie hat alles angefangen?
Mit einzelnen, physikalischen Servern

Darauf folgten Virtuelle Maschinen (und darauf dynamische VMs – z.B. mit OpenNebula, Terraform, AWS EC2, usw.)

Und darauf dann die noch kleineren, kurzlebigen Container

Und daraus bestehen die ganzen Flotten von Microservices

Welche Herausforderungen sind entstanden?
Etwas technischer an Hand eines simplen Beispiels dargestellt:
Die (internen) Funktionsaufrufe innerhalb eines Monolithen wandern nun als Remote Procedure Call (RPC) über ein Netzwerk:
Und Netzwerke sind ja bekanntlich super sicher und stabil – vor allem in der Cloud und zwischen Datacentern. NICHT.
Dazu kommen Herausforderungen wie “Multi Plattform” – oder “Multi Cloud”
Die Services eines Kubernetes Clusters sollen mit Bare-Metal Servern, VMs, Containern oder Serverless Functions / Cloud Services kommunizieren können
Wie verbindet man all diese unterschiedlichen Plattformen untereinander?
Die wesentlichen, technischen Herausforderungen:
Damit haben wir schon die wesentlichen Grundlagen und Features eines Service Mesh grob umrissen.
Im Detail werden wir diese Punkte und Fragestellungen in den folgenden Blog Posts klären.






