Kubernetes und Terraform als Schlüsseltechnologien IT-Infrastrukturen transformieren flexibel mit Multicloud-Strategie

Ein Gastbeitrag von Manuel Sauter* 5 min Lesedauer

Anbieter zum Thema

Dynamisch und wirtschaftlich effizient – so wünschen sich Unternehmen ihre IT-Infrastruktur. Public Clouds versprechen, diese Anforderungen zu erfüllen. Einerseits. Andererseits wollen oder müssen Organisationen häufig Teile ihrer IT weiterhin selbst verwalten – On-Premises oder in einer privaten Cloud. Doch wie lassen sich der Multicloud-Betrieb erfolgreich implementieren?

Noch setzen viele Firmen zunächst auf eine Single-Cloud-Lösung, Multicloud-Strategien werden aber die Zukunftsmodelle sein: Kubernetes und Terraform sind da die Schlüsseltechnologien.(Bild:  knssr - stock.adobe.com)
Noch setzen viele Firmen zunächst auf eine Single-Cloud-Lösung, Multicloud-Strategien werden aber die Zukunftsmodelle sein: Kubernetes und Terraform sind da die Schlüsseltechnologien.
(Bild: knssr - stock.adobe.com)

Dafür wurden vielerorts Hybrid-Cloud-Konzepte entwickelt, die Public und Private vereinen. Das volle Potenzial der Cloud in Sachen Skalierbarkeit und Flexibilität lässt sich jedoch nur mit einer Multicloud-Strategie realisieren. Das erkennen immer mehr Unternehmen, wie Umfragen zeigen: Laut dem „Flexera 2024 State of the Cloud Report“ gaben 89 Prozent der weltweit befragten Unternehmen an, dass sie eine Multicloud-Strategie verfolgen.

Mehrere Clouds, mehr Möglichkeiten

Dabei steht der Begriff Multicloud für die gleichzeitige Nutzung von Cloud-Diensten mehrerer Anbieter. So kombinieren Unternehmen und andere Organisationen Public-Cloud-Services von Amazon Web Services (AWS), Microsoft Azure oder Google Cloud miteinander, oft auch mit Private-Cloud-Angeboten bei Dienstleistern und im eigenen Rechenzentrum. Dieses Vorgehen ermöglicht es, die jeweils am besten geeigneten Technologien für spezifische Anforderungen zu nutzen.

Beispielszenario serverlose Dienste in der Produktentwicklung: Wenn es um komplizierte Berechnungen geht, die häufiger hintereinander ausgeführt werden, ist „AWS Lambda“ performanter und damit kostengünstiger als „Azure Functions“. Andererseits ist Azure besser in weitverbreitete Anwendungen wie Office 365 und andere Windows-basierte Anwendungen integriert.

Das bietet Geschwindigkeitsvorteile für Workloads, die auf Windows-basierten virtuellen Maschinen laufen. Auch die Frage, in welchen geografischen Regionen Services laufen, kann die Leistungsmerkmale und Kosten einzelner Dienste und damit die Wahl der bestmöglichen Option für bestimmte Workloads beeinflussen.

Plattformunabhängige Tools: die Basis für die agile Multicloud-Architektur

In dem erwähnten Beispielszenario etwa würde eine Windows Applikation in Azure regelmäßig einen Lambda-Service in AWS anstoßen, der bestimmte Berechnungen durchführt und das Ergebnis in eine Datenbank speichert, von wo die Daten bei Bedarf von der Azure-Applikation abgerufen werden. Damit die Latenz der Applikation so gering wie möglich bleibt, wird diese Datenbank selbst ebenfalls in Azure aufgesetzt. Um solche Szenarien zu planen, umzusetzen und bei Bedarf auf andere Cloud-Anbieter zu übertragen, benötigen Unternehmen plattform­übergreifende Technologien und Tools.

Zwar stellen die großen Hyperscaler standardmäßig Schnittstellen für den Datenaustausch mit den jeweils anderen Plattformen bereit. Doch die Planung und Steuerung von Prozessen in Multicloud-Infrastrukturen von Ende zu Ende erfordert eine Cloud-Abstraktionsschicht, die eine einheitliche Schnittstelle für Anwendungen schafft. Sie ist die Voraussetzung dafür, dass Unternehmen ihre Workloads unabhängig von den spezifischen Anforderungen einzelner Cloud-Umgebungen verschieben können.

Das ist beispielsweise dann gefragt, wenn in Internet-of-Things-Prozessen (IoT) Daten aus unterschiedlichsten Quellen zusammengeführt und schnell analysiert werden müssen. Etwa beim autonomen Fahren. Dazu später mehr.

Kubernetes bringt Schwung ins Applikationsmanagement

Wichtige Werkzeuge für Aufbau und Betrieb des kompletten Stacks einer anbieterunabhängigen Multicloud-Infrastruktur sind „Kubernetes“ und „Terraform“. Mit dem Open-Source-Container-Orchestrierungssystem Kubernetes lassen sich Anwendungen automatisiert skalieren, verwalten und bereitstellen – unabhängig davon, auf welcher Cloud-Plattform sie ausgeführt werden. So kann ein Unternehmen verschiedene Microservices, die auf unterschiedlichen Cloud-Plattformen wie AWS, Google Cloud und Azure gehostet werden, mit Kubernetes in einem einheitlichen Cluster verwalten.

Die Verteilung der Workloads auf mehrere Cloud-Anbieter trägt dazu bei, eine hohe Verfügbarkeit und Ausfallsicherheit zu gewährleisten. Bei Ausfall eines Anbieters, schlechter Verbindung oder Ausschöpfung pauschal abgerechneter Datenvolumina kann Kubernetes als Verwaltungsinstanz die Workloads automatisch auf andere Anbieter umleiten, um die Qualität der Services zu sichern und Kosten zu optimieren.

Terraform: Infrastructure as Code für maximale Kontrolle

Für den Aufbau einer Infrastruktur für solche Kubernetes-basierten Applikationsumgebungen empfiehlt sich der Einsatz von Terraform. Mit dem Open-Source-Tool für Infrastructure as Code (IaC) lassen sich Infrastrukturressourcen wie virtuelle Maschinen, Netzwerke und Datenbanken durch deklarative Konfigurationsdateien definieren und verwalten. Das hat mehrere Vorteile.

Jetzt Newsletter abonnieren

Täglich die wichtigsten Infos zu Cloud Computing

Mit Klick auf „Newsletter abonnieren“ erkläre ich mich mit der Verarbeitung und Nutzung meiner Daten gemäß Einwilligungserklärung (bitte aufklappen für Details) einverstanden und akzeptiere die Nutzungsbedingungen. Weitere Informationen finde ich in unserer Datenschutzerklärung. Die Einwilligungserklärung bezieht sich u. a. auf die Zusendung von redaktionellen Newslettern per E-Mail und auf den Datenabgleich zu Marketingzwecken mit ausgewählten Werbepartnern (z. B. LinkedIn, Google, Meta).

Aufklappen für Details zu Ihrer Einwilligung

Zunächst spart IaC mit Terraform Zeit. Anstatt manuell Infrastrukturressourcen zu erstellen und zu verwalten, beschreiben die IT- oder Cloud-Architekten den gewünschten Endzustand ihrer Infrastruktur in der Konfigurationssprache „Hashicorp Configuration Language“ (HCL) und speichern sie als Konfigurationsdateien. Terraform kümmert sich dann um die Erstellung, Änderung und Löschung der Ressourcen, um den so beschriebenen Zustand zu erreichen. Und das nicht nur einmal. Bei Bedarf reicht ein kurzer Befehl, um ein exaktes Abbild der Infrastruktur neu zu erstellen.

Etwa beim Aufbau von Staging-Umgebungen, die auf verschiedenen Stufen im Software-Entwicklungsprozess benötigt werden. Dabei profitieren Unternehmen gleichzeitig davon, dass Terraform die einmal erstellte Umgebung automatisch eins zu eins kopiert. Ohne jede noch so kleine Änderung.

Das ist vor allem für die Entwicklung von Cloud-Anwendungen in stark regulierten Branchen wie Banken und Versicherungen, Luft- und Raumfahrt, bei Versorgungsunternehmen und in der Automobilindustrie essenziell. Sie profitieren außerdem von dem Umstand, dass die mit Terraform erstellten deklarativen Konfigurationsdateien gleichzeitig als lückenlose Dokumentation der Infrastruktur fungieren.

Mehr noch: Terraform überwacht auch den Status der Infrastruktur und stellt sicher, dass Abweichungen zwischen Soll- und Ist-Zustand automatisch erkannt und korrigiert werden. Und weil Terraform die Technologien von AWS, Azure, Google Cloud Platform und viele andere unterstützt, können die einmal erstellten Infrastrukturen automatisiert auf andere Plattformen übertragen werden.

Multicloud im Praxiseinsatz: effiziente Datenverarbeitung in der Automobilindustrie

Wie Unternehmen von einer Multicloud-Strategie profitieren, zeigt ein Beispiel aus der Automobilbranche. Ein Zulieferunternehmen entwickelt Algorithmen für eine Anwendung, die das Bremsverhalten autonomer Fahrzeuge steuern soll. Um die Algorithmen zu entwickeln, zu testen und zu validieren, kommen Tera- und Petabyte an Daten aus unterschiedlichsten Quellen zum Einsatz.

Beispielsweise aus Datenbanken mit Bildern und Videos von Ampeln in unterschiedlichen Ländern, zu unterschiedlichen Tageszeiten und bei verschiedenen Witterungsbedingungen, in Kombination mit Daten zur Beschaffenheit des Straßenbelags und zur Bereifung von virtuellen Testfahrzeugen. Da all diese Daten im Einsatz extrem schnell ausgewertet werden müssen, um die Bremsstärke optimal zu dosieren, kam es im Testszenario darauf an, die Latenzzeiten zu minimieren. Deshalb wählten die Entwickler zunächst eine On-Premises-Infrastruktur.

Um die permanent wachsenden Datenmengen aufzufangen, integrierte das Projektteam „AWS S3“ und „Azure Blob Storage“. Die Notwendigkeit, mehrere Anbieter einzubinden, ergab sich unter anderem daraus, dass die für den Bremsprozess relevanten Informationen aus Datenspeichern in unterschiedlichen Clouds stammen. Hinzu kommt, dass künftig möglicherweise weitere Datenquellen einzubinden sind – oder bereits bestehende Datenbanken umziehen.

Durch den Einsatz von Terraform und Kubernetes ist das Projektteam in der Lage, die Test-Workloads immer dort auszuführen, wo die relevanten Daten vorliegen. Ganz automatisch. Und die Entwickler können sich auf ihre eigentliche Aufgabe konzentrieren: Innovative Systeme für autonome Fahrzeuge entwickeln.


* Der Autor Manuel Sauter ist studierter Wirtschaftsinformatiker und arbeitet seit vielen Jahren als Software Architect bei Doubleslash. Mit langjähriger Erfahrung in der Umsetzung anspruchsvoller IT-Projekte in verschiedenen Branchen, insbesondere in der Automobilindustrie, bringt er ein tiefes Verständnis für branchenspezifische Anforderungen mit. Seine Schwerpunkte liegen in der Softwareentwicklung mit Java, ergänzt durch fundierte Expertise im Bereich Cloud Computing, insbesondere mit AWS und Terraform.

Bildquelle: Doubleslash

(ID:50296223)