Implementierung einer Hybrid Cloud Kubernetes Entwicklung mit Tanzu TAP

Adam Kirschstein
8. Februar 2024
Lesezeit: 8 min
Implementierung einer Hybrid Cloud Kubernetes Entwicklung mit Tanzu TAP

Einleitung und Problemstellung

Die digitale Transformation schreitet auch im Jahr 2024 voran. Viele Unternehmen stehen vor der Herausforderung, ihre veralteten IT-Infrastrukturen anzupassen, um sie flexibler und effizienter zu gestalten. Die Idee, von einer bestehenden On-Premise-Architektur auf Hybrid-Cloud- oder Multi-Cloud-Lösungen umzusteigen, erscheint vielen mittelständischen Unternehmen zwar attraktiv, stellt sie jedoch gleichzeitig vor komplexe Herausforderungen. Die strategische Migration erfordert ein sorgfältig koordiniertes Vorgehen des Managements, um die vielfältigen Vorteile der neuen Umgebung voll auszuschöpfen. Gleichzeitig ist es entscheidend, auf die Bedürfnisse der Entwickler und Systemadministratoren einzugehen, die täglich mit der neuen Plattform arbeiten müssen. Ohne eine sorgfältig durchdachte Lösung kann sich eine zunehmende Komplexität entwickeln, die die Arbeitsbedingungen für alle Beteiligten erschwert.

Ein Schlüsselaspekt für einen erfolgreichen Übergang besteht darin, eine einheitliche Entwicklungsplattform zu schaffen, die über die grundlegenden Fähigkeiten von Kubernetes hinausgeht. Für unser Projekt suchten wir nach einer leistungsstarken, Cloud-agnostischen Plattform, die eine nahtlose Integration verschiedener Code-Repositories, IDEs und Frameworks ermöglicht, um Anwendungen einfach und effizient in Dev. oder Prod. Umgebungen in Kubernetes zu deployen. Dadurch können Entwicklerteams sich verstärkt auf die Entwicklung und Qualitätssicherung von Anwendungen konzentrieren, statt alltäglich Brände in der Cloudinfrastruktur zu fixen. Das Portal sollte nicht nur die wichtigsten Monitoring-, Sicherheits- und Backup-Tools abdecken, sondern auch die Notwendigkeit vermeiden, komplexe Helm-Charts und YAML-Dateien für jede Umgebung neu zu definieren. Ziel ist es somit, eine konsistente, übergreifende Lösung für alle Cloud-Umgebungen bereitzustellen, umso verschieden Workloads sicher, simpel und schnell auszurollen. 

In unserer Success-Story präsentieren wir, wie wir bei evoila diese Herausforderung gemeistert haben. Wir demonstrieren die erfolgreiche Implementierung der VMware Tanzu Application Platform als Entwicklungsplattform in einer Hybrid-Cloud-Umgebung, die aus einem VMware Cluster sowie EKS in AWS und AKS in Azure besteht.

Diese Geschichte gliedert sich in vier Kapitel: Von dem Projektverlauf, den Möglichkeiten die TAP bietet, die Bereitstellung der benötigten AKS-Infrastruktur in Azure mit Terraform bis hin zu der Installation von TAP.

Projektverlauf

Unser Ansatz bei der Umsetzung dieses ambitionierten Projekts basierte auf konkreten, strategischen Zielen. Eine Schlüsselkomponente für die Sicherstellung des Projekterfolgs war die firmenweite Zusammenarbeit: Wir haben unsere Kompetenzen in den Bereichen Cloud-Native, Microsoft und VMware gebündelt, um die Vorteile der jeweiligen Cloud-Umgebungen zu nutzen und Best Practices miteinander zu teilen.

Durch Sprints, regelmäßige Austauschformate und präzise Reportings sorgten wir für Transparenz und Effizienz in jedem Schritt des Projekts. Die Nutzung einer einheitlichen Tool-Landschaft förderte zusätzlich die reibungslose Kommunikation und Arbeitsabläufe innerhalb unseres Teams.

Ein weiterer Fokus lag auf der umfassenden Dokumentation der erreichten Meilensteine, um unseren Kunden schnell replizierbare Ergebnisse zu liefern. Dabei konnten wir unsere internen Kompetenzen im Umgang mit TAP signifikant erweitern. Das ist von wesentlicher Bedeutung, um unseren Status als führender Anbieter von Cloud-Lösungen zu festigen.

Azure Umgebung per Terraform

In diesem Kapitel beschreiben wir, wie wir eine produktionsreife AKS-Clusterumgebung für TAP aufgebaut haben, die durch Flexibilität, Sicherheit und Skalierbarkeit gekennzeichnet ist. Der Ist-Zustand vieler On-Premise-Basisinfrastruktur offenbart mehrere Herausforderungen: Begrenzte Skalierbarkeit, hohe Wartungskosten und eine geringere Flexibilität, um schnell auf veränderte Geschäftsanforderungen zu reagieren. Die Cloud-Umgebung Azure hingegen sticht als zukunftsichere IT-Landschaft hervor. Sie bietet einen umfassenden Servicekatalog, der es ermöglicht, innovative Lösungen effizient zu implementieren und dabei gleichzeitig die Betriebskosten zu optimieren.

Unser Ansatz basierte auf einer modularen Vorgehensweise, die es uns erlaubte, eine robuste Infrastruktur aufzubauen, die allen spezifischen Voraussetzungen für Tanzu TAP entsprach. Durch den Einsatz von Terraform, einem leistungsstarken Infrastruktur-als-Code-Frameworks, konnten wir die AKS-Cluster-Umgebung präzise und konsistent mit Konfigurationsdateien steuern und bereitstellen. Die Modularität unserer Terraform-Konfigurationen – einschließlich eines vorkonfigurierten Backends in Azure und optimierten Module zu Azure Ressourcen wie bspw. einem Storage Account, einem Service Prinicipal oder einer Container Registry – ermöglichte uns eine hohe Wiederverwendbarkeit zu gewährleisten. 

Terraform
Terraform

Mit Bash-Scripten, die sich auf die Azure oder Kubernetes CLI beziehen, wurden zusätzlich Netzwerkkonfigurationen automatisiert vorgenommen. Wir stellten dabei sicher, dass alle Deployments die erforderlichen Sicherheits- und Compliance-Richtlinien erfüllten, indem wir eine strikte Rollen- und Zugriffskontrolle implementierten. Nach der Testweisen Implementierung legten wir großen Wert auf das Monitoring und die Validierung der Infrastruktur. So erkannten wir bspw., dass wir den Node-Pool erweitern mussten, um die Anforderungen von 12 vCPU, 8 GB of RAM und 100 GB Speicher für TAP kostensparend zu erfüllen.

AzurePortal
AzurePortal

Installation von TAP im AKS

Das dritte Kapitel widmet sich der Installation von TAP in Azure.

Ein strategisches Projektziel der Installation war die Sicherstellung einer nahtlosen Integration und automatisierten Konfiguration aller Komponenten. 

Automatisierung
Automatisierung

Durch den Einsatz von Shell-Skripten bei kritischen Schritten, wie dem Transfer von Container-Images in der ACR und der Installation von Cluster-Essentials, konnten wir eine reibungslose Implementierung garantieren. Die Verwendung von Umgebungsvariablen und die strikte Befolgung der VMware-Dokumentation spielten dabei eine wichtige Rolle. Die Umgebungsvariablen konnten wir ähnlich zu der Implementierung von TAP im EKS bei AWS ansetzen. 

Das Management und Monitoring der Deployment-Prozesse wurden durch den Einsatz von CLI-Tools wie der Kubectl CLI und Tanzu CLI optimiert. 

Monitoring
Monitoring

Diese Tools ermöglichten es uns bei Bugs schnell einzugreifen. Die Installation von TAP war mit technischen Herausforderungen verbunden. Wir begegneten und lösten verschiedene Probleme, wie beispielsweise Architekturinkompatibilitäten und Fehlermeldungen während der Installation. Diese Erfahrungen haben nicht nur unsere Fähigkeit zur Problemlösung verbessert, sondern auch unser Verständnis für die Feinheiten der TAP-Installation auf Azure vertieft.

Namespaces
Namespaces

TAP – Cloud agnostic Development Platform

Die einheitliche Übertragung von Workloads über TAP in verschiedenen Umgebungen, bildet das Herzstück unserer Hybrid- Cloud-Strategie. TAP verkörpert ein neuartiges Framework, was Entwicklern und Betreibern ermöglicht, effektiv und losgelöst von verschiedenen Cloudanbieter an der Bereitstellung von Webanwendungen zuarbeiten.

Für Entwickler transformiert TAP den traditionellen Inner-Loop. Anstatt sich auf die Konfiguration von Container-Images und das Erstellen von Kubernetes YAML-Dateien zu konzentrieren, ermöglicht TAP eine direkte und schnelle Entwicklung innerhalb einer Kubernetes Test-Umgebung. Ein exemplarisches Beispiel hierfür ist die Erstellung einer .NET Web API über einen Tanzu Application Accelerator. Durch einfache Klicks in der bevorzugten IDE (wie bspw. Visual Studio Code) oder über die TAP GUI können Entwickler neue Projekte schnell initiieren. Änderungen am Code werden sofort sichtbar, und die Anwendungen können ohne umständliche CI/CD-Pipeline-Prozesse getestet werden. Aus der Sicht des Betreibers stellt TAP eine robuste Plattform dar, die Automatisierung und Sicherheit in den Vordergrund rückt. TAP ermöglicht es, vorkonfigurierte Supply Chains zu erstellen, die automatisch auf Code-Änderungen reagieren. Diese Supply Chains umfassen Sicherheitsscans, Bildüberprüfungen und die Verwaltung von Zustimmungsregelungen. Besonders hervorzuheben ist die Möglichkeit, diverse separate Cluster für Testzwecke zu erstellen, wodurch eine klare Trennung von Entwicklungs- und Produktionsumgebungen erreicht wird. Ebenso erweist sich TAP für viele internationale Unternehmen, die sich beim Skalieren über mehrere Clouds mit komplexen Sicherheitsanforderungen auseinandersetzen, als wertvolle Lösung. TAP konsolidiert und vereinfacht Prozesse, wodurch ein hoher Sicherheitsstandard gewährleistet wird.

TAPGUI
TAPGUI

Mit TAP können sich Entwickler auf das Schreiben von Code konzentrieren – Um das zu testen, haben wir für Demonstrationszwecke eine .NET Web API zusammen mit einer MariaDB mit TAP entwickelt und in unserer Azure Kubernetes-Clusterumgebung bereitgestellt. Die Entwickler mussten hierfür keine komplexen Kubernetes-Kommandos beherrschen. Die Übertragung von Code-Updates via Git-Commit lösten automatisch Supply-Chain-Prozesse aus, die für den Build, die Sicherheitsüberprüfung und das Deployment der Anwendung sorgten.

Durch die Nutzung von TAP profitieren Teams von einer beschleunigten Time-to-Market, da die Plattform den Entwicklungsprozess vereinfacht und gleichzeitig die Sicherheit und Zuverlässigkeit der Anwendungen gewährleistet. 

Fazit

Die Reise, die wir bei evoila in eine Hybrid-Cloud Kubernetes Umgebung unternommen haben, demonstriert eindrucksvoll, wie der Einsatz innovativer Technologien wie TAP die Entwicklung und den Betrieb von Anwendungen grundlegend verbessern kann. Die Geschwindigkeit, mit der Entwicklungs- und Betriebsteams nun mit TAP agieren können, ist einzigartig. Die Isolierung und Beseitigung von Komplexitäten, die normalerweise mit Hybrid-Cloud-Umgebungen verbunden sind, hat es uns ermöglicht, schneller auf Marktveränderungen zu reagieren und die Time-to-Market zu beschleunigen. 

Wir bei evoila sind stets daran interessiert, unsere Erfahrungen mit unseren Partnern zu teilen. Wir sind in der Lage TAP auf jeder gewünschten Umgebung auszurollen und zu verwalten. Dieser Artikel ist nur ein kurzer Überblick über die vielfältigen Möglichkeiten, die daraus resultieren. Wir laden interessierte Unternehmen herzlich ein, sich mit uns in Verbindung zu setzen, um bei einer Live-Demonstration tiefer in die Materie einzutauchen.