Beliebte Suchanfragen

Cloud Native

DevOps

IT-Security

Agile Methoden

Java

//

Crossplane: Eine Lösung für hybride Cloud-Herausforderungen?

12.5.2023 | 2 Minuten Lesezeit

Crossplane ist ein plattformübergreifendes Kontrollsystem (Control-Plane), das das Management von Cloud-Ressourcen vereinfachen und automatisieren soll. Das Tool ermöglicht es, verschiedene Cloud-Provider und lokale Ressourcen, z. B. Kubernetes-Cluster, als einheitliche Infrastruktur zu verwalten.

Das Hauptproblem, das Crossplane löst, ist die Herausforderung, verschiedene Cloud-Provider und lokale Ressourcen zu integrieren und zu automatisieren. In einer zunehmend hybriden Cloud-Umgebung ist es schwierig, die Komplexität und Heterogenität der Cloud-Infrastruktur zu managen. Crossplane stellt eine einheitliche API und einheitliche Tools zur Verfügung, um verschiedene Cloud-Provider und lokale Ressourcen effizient zu verwalten.

Realisiert wird das durch das Verwenden von Composite Resource Definitions (CRD) und damit der Kubernetes-API. Und man ahnt es bereits: Damit das Ganze funktioniert, braucht man ein Kubernetes-Cluster als Management-Cluster (ein minikube ist ausreichend). Ich nutze also Crossplane, um Ressourcen in der Public-Cloud ähnlich zu konfigurieren, wie ich es auch mit Pods und Services in Kubernetes mache. Ist man dadurch, dass man Kubernetes und nicht AWS CloudFormation/CDK, GCP Deployment Manager oder Azure Resource Manager nutzt, auch direkt nicht mehr an den Anbieter gebunden? Wohl kaum, schließlich unterscheiden sich die Services der Cloud-Provider teils deutlich – und auch mit Crossplane werden Services provisioniert, nicht abstrakte Patterns. Das ist ein Ansatz, den beispielsweise dapr.io verfolgt.

Interessant wird Crossplane so insbesondere in Verbindung mit einer Developer-Plattform. So können die CRDs inklusive Composite und Managed Resources von den Plattform Engineers detailliert konfiguriert und für die Anwendungsentwickler bereitgestellt werden. Diese nutzen dann nur noch die aus dem Kubernetes-Ökosystem bekannten Claims, um die bereitgestellten Ressourcen, zum Beispiel Datenbanken oder Load Balancer, in ihrer Anwendung zu nutzen. Crossplane bietet schon eine Reihe von vordefinierten Ressourcen in Form von Providern, zum Beispiel für die drei großen Cloud-Anbieter. Diese Provider laufen als schlanker Container im Management-Cluster.

Ich nutze also Kubernetes, um Services zu provisionieren. Das klingt nach einem ziemlichen Overkill. Wenn man Kubernetes schon nutzt, kann das Sinn ergeben, da man kein anderes IaC-Tool (z. B. Terraform, Pulumi, CDK) lernen muss. Man bleibt bei der Kubernetes-API, die inzwischen als Industrie-Standard gesehen werden kann. Wenn man Kubernetes noch nicht hat, bekommt man mit Crossplane dann eben jenen Standard statt eine weitere IaC-API. Die Frage, ob das die bessere Alternative ist, muss jeder für sich selbst entscheiden.

Neben dem Provisionieren von Services in einem Hybrid-Cloud-Szenario wird für Crossplane inzwischen auch der bereits beschriebene Plattform-Engineering-Ansatz verstärkt in den Fokus gesetzt. Aktuell ist die Technologie eher bei den Early Adoptern zu finden und es gibt in der API auch immer nochmal größere, meist non-breaking, Änderungen. Aber mit diesen Änderungen gelingt vielleicht noch eine erfolgreiche Positionierung im Bereich Platform Engineering.

Dieser Artikel erschien am 21.04.2023 im Rahmen des codecentric-Innovations-Newsletters. Wenn ihr immer direkt über die neusten IT-Trends und -Techniken informiert sein wollt, könnt ihr den Newsletter hier abonnieren.

Beitrag teilen

Gefällt mir

0

//

Weitere Artikel in diesem Themenbereich

Entdecke spannende weiterführende Themen und lass dich von der codecentric Welt inspirieren.

//

Gemeinsam bessere Projekte umsetzen.

Wir helfen deinem Unternehmen.

Du stehst vor einer großen IT-Herausforderung? Wir sorgen für eine maßgeschneiderte Unterstützung. Informiere dich jetzt.

Hilf uns, noch besser zu werden.

Wir sind immer auf der Suche nach neuen Talenten. Auch für dich ist die passende Stelle dabei.