Hinweis: Dieser Blogbeitrag stammt aus der Zeit vor dem Zusammenschluss und wurde von ARS realisiert – heute Teil von ATVANTAGE. Unsere Erfahrung bleibt – nur unser Name hat sich geändert. Hier finden Sie weitere Informationen rund um die Fusion.

Lesezeit: 4 Minuten

 

Infrastructure as Code (IaC)


Moderne Softwaresysteme zeichnen sich durch ihre Fähigkeit zur Skalierung und ihre Robustheit aus und werden zunehmend für Cloud- und Multi-Cloud-Infrastrukturen entwickelt. Diese Art von Software basiert auf einer Vielzahl von unterschiedlichen Infrastrukturressourcen, deren effizientes Management eine immer größere Herausforderung darstellt.

Infrastructure as Code hat eine Technologie etabliert, mit der die Konfiguration und Verwaltung von Cloud-Infrastrukturen auf dieselbe Weise wie der Anwendungscode verwaltet werden können. Das bedeutet, dass die Konfiguration wie Quellcode in einem Quellcode-Verwaltungssystem (normalerweise in einem Git-Repository) gespeichert wird und als Quelle für weitere Automatisierungsprozesse auf Basis von CI/CD-Pipelines oder GitOps-Bereitstellungen dient. Diese innovative Methode ermöglicht eine effiziente und skalierbare Verwaltung der Infrastruktur und sorgt für eine nahtlose Integration in den Entwicklungsprozess.

Alle Cloud-Anbieter stellen in der ein oder anderen Form Tools für IaC bereit - hier ein paar populäre Beispiele:

  • AWS CloudFormation
  • Azure Resource Manager
  • GCP Deployment Manager

Aufgrund der komplizierten Syntax und ihrer begrenzten Leistungsfähigkeit werden sie jedoch fast nicht verwendet. Das ist einer der Gründe, warum sich Terraform so schnell als Standard für diesen Einsatzzweck entwickelt hat.

Terraform adressiert zwei wesentliche Schwächen nativer Cloud-Tools:

  • Komplexität - Die Verwendung der HCL-Sprache in Terraform ist sehr einfach und intuitiv
  • Portabilität – Terraform bietet eine Abstraktionsebene, die den Umgang mit Multi-Cloud Szenarien erheblich vereinfacht

Als Terraform eingeführt wurde, gab es kaum Alternativen und im Laufe der Zeit haben sich darüber hinaus auch unsere Anforderungen geändert.

Zwei neue IaC-Tools sind angetreten, um die neuen Herausforderungen anzunehmen und Schwächen von Terraform zu beheben:

  • Pulumi
  • Crossplane

Pulumi ist eine Open Source Plattform, die gängige Programmiersprachen (TypeScript, Go, .NET, Python, and Java) und Markup Sprachen (YAML, CUE) verwendet, um die Einschränkungen der HCL-Syntax in Terraform zu umgehen. Allerdings geht damit einher, dass der Code komplexer wird und nicht so leicht lesbar und verständlich ist.

Auch Crossplane ist Open Source, jedoch unterscheidet es sich dadurch, dass es ein Projekt der CNCF ist und auf der Kubernetes Control Plane basiert.

Bereitstellung von Infrastruktur mithilfe der Kubernetes-API

Soll die Cloud-Infrastruktur mit einem einfachen Yaml-Dateimanifest bereitgestellt werden, wie in Kubernetes?

Nachstehend ein Beispiel für die EKS-Cluster-Bereitstellung in AWS mithilfe des Claim-Konstrukts in Crossplane:

 

Angenommen, man bevorzugt Azure AKS statt EKS. Was muss geändert werden, um diese Plattform zu unterstützen?

Es ist in der Tat sehr einfach: Durch die Auswahl eines anderen Clusternamens können wir die EKS-Zusammensetzung durch AKS ersetzen.

 

Auf die gleiche einfache Art und Weise kann man fast jede Ressource in der Multi-Cloud mithilfe einer ähnlichen, sehr einfachen Yaml-Datei bereitstellen.

Wie funktioniert Crossplane?

Schauen wir uns das CNCF-Inkubationsprojekt Crossplane  genauer an.

Crossplane nutzt die Leistung der Kubernetes-API, um eine umfassende Infrastruktur in der Cloud bereitzustellen. Das Tool automatisiert die Synchronisierung mehrerer Umgebungen und ermöglicht die Überwachung des aktuellen Zustands der Infrastruktur. Darüber hinaus erkennt und behebt es automatisch Abweichungen in der Konfiguration.

Crossplane basiert auf vier wesentlichen Konzepten, die es zu einer leistungsstarken Lösung machen:

  1. Packages - Crossplane ermöglicht die Erweiterung seiner Funktionalität durch den Bau und die Integration neuer Packages.
  2. Providers - Es ermöglicht die Bereitstellung von Infrastrukturressourcen von externen Anbietern.
  3. Managed Resources - Crossplane verwendet Kubernetes Custom Resources, um die Eigenschaften der Infrastruktur darzustellen und zu verwalten.
  4. Composite Resources - Es unterstützt die Erstellung individueller Ressourcen basierend auf den Custom Resource Definitions (CRDs) von Kubernetes.

Diese Konzepte tragen dazu bei, dass Crossplane eine flexible und umfassende Lösung für die Bereitstellung und Verwaltung von Cloud-Infrastrukturen ist. Durch die Integration neuer Packages können zusätzliche Funktionen hinzugefügt werden, während die Nutzung der Kubernetes-API eine nahtlose Integration mit der bestehenden Infrastruktur ermöglicht. Mit Crossplane können Unternehmen die Komplexität der Infrastrukturverwaltung reduzieren und gleichzeitig die Flexibilität und Skalierbarkeit verbessern.

Um auf die Kubernetes-API zugreifen zu können, benötigen wir einen Kubernetes-Cluster. Dies kann entweder ein verwalteter Kubernetes-Cluster in der Cloud oder eine lokale Installation von Kubernetes mit einem Tool wie Rancher oder Orbstack sein. Wichtig ist eine Control Plane, die die Funktionalität der Kubernetes-API unterstützt.

Eine übersichtliche Aufzählung der notwendigen Schritte sieht wie folgt aus:

  1. Crossplane im Kubernetes-Cluster installieren (z. B. mit Helm-Chart)
  2. Installation des Providers für die entsprechende Cloud-Plattform sowie die Konfiguration der Zugangsdaten für diese Plattform
  3. Erstellen einer Custom Resource Definition (CRD), um eine neue Kubernetes-Ressource für die Cloud-Infrastruktur zu definieren
  4. Erstellen einer Komposition für den erforderlichen Cloud-Anbieter

Details sind in folgendem GitHub Projekt nachzulesen.

Sobald all dies vorhanden ist, ist es möglich, Cloud-Ressourcen mithilfe einer einfachen Yaml-Datei zu erstellen. Durch eine solche Struktur können wir die Komplexität der Cloud-Infrastruktur vollständig verbergen und nur die minimalen Informationen zur Verfügung stellen, die für die Bereitstellung der benötigten Ressourcen erforderlich sind. Dadurch beschränken sich die Ops-Tätigkeiten auf eine möglichst einfache Definition der Infrastruktur, die vom gesamten Entwicklerteam leicht verstanden und übernommen werden kann.
 

Die Rolle von Operations (Betrieb)

Tauchen wir etwas tiefer in die Ops-Rolle ein.

Normalerweise ist es die Aufgabe des Betriebs, die Infrastruktur zu definieren, da umfangreiche spezifische Kenntnisse über die verschiedenen Cloud-Angebote erforderlich sind. Im Rahmen der Ops-Arbeit erstellen die Software-Ingenieure dann die Crossplane-Artefakte, mit denen sie die Eigenschaften der Ressourcen beschreiben, die für die Bereitstellung der Software auf der definierten Cloud-Infrastruktur erforderlich sind.

Im Falle der ManageKubernetes CRD handelt es sich dabei um folgende Eigenschaften:

  • Cluster-ID
  • Kubernetes-Version
  • Bereitstellungsregion
  • Knotengröße
  • Anzahl der Knoten

Die CRD Definition ist eine Standard-Kubernetes Erweiterung, welche die Erweiterung von Kubernetes-APIs ermöglicht.

Eine besondere Herausforderung für die Ops-Rolle sind jedoch die Crossplane Compositions. Diese Templates ermöglichen es, mehrere verwaltete Ressourcen in einem einzigen Objekt zu bündeln. Dadurch entstehen größere und komplexere, aber auch wiederverwendbare Ressourcen. Diese stellen eine komfortable Lösung dar, um mit den verschiedenen Cloud-Anbietern in einem Multi-Cloud-Szenario umzugehen und gleichzeitig die Komplexität zu reduzieren.

 
Fazit

Es ist erstrebenswert, die Infrastruktur in der gleichen Weise zu verwalten wie die Softwareentwicklung, indem man den Infrastrukturcode parallel zum Anwendungscode verwaltet. Obwohl es ein Standardtool namens Terraform gibt, das von den meisten Unternehmen verwendet wird, weist es einige Schwächen auf und stößt bei speziellen Anforderungen in Multi-Cloud- und Kubernetes-Umgebungen an seine Grenzen. In der heutigen Zeit benötigen wir vermehrt Tools, die ähnlich wie die Kubernetes-API funktionieren. Wir möchten gerne definieren, was wir benötigen, und die Umsetzung der Infrastruktur Kubernetes überlassen. Das Tool sollte kontinuierlich den gewünschten Zustand der eingesetzten Infrastruktur überwachen und uns bei der Erkennung von Änderungen und Reparaturen unterstützen. Die gute Nachricht ist, dass es mit Crossplane ein solches Tool gibt, das von der CNCF entwickelt wird. Wir hoffen, dass dieser kurze Einblick dazu ermutigt, das Crossplane-Projekt als möglichen Ersatz für Terraform genauer in Betracht zu ziehen.

Blogautor

Andrzej Kozlowski
Senior Cloud Engineer ARS Computer und Consulting GmbH

Mit uns arbeiten

Sie suchen einen Partner, der nicht nur berät, sondern mit Ihnen gemeinsam gestaltet? Ob Strategie, Technologie oder Umsetzung – wir unterstützen Sie entlang der gesamten digitalen Wertschöpfungskette. Lernen Sie unsere Leistungen kennen und finden Sie genau den Einstieg, der zu Ihren Zielen passt.

Bei uns arbeiten

Du willst nicht nur abwarten, was als nächstes passiert, sondern es mitgestalten? Dann bist du bei uns genau richtig. Wir suchen Menschen mit Haltung, Leidenschaft und Lust auf Wirkung – Entwickler:innen, Strateg:innen, Consultants und Kreative, die mit uns digitale Lösungen vorantreiben möchten.

Blog 02.02.24

So kommt Ordnung in den Infrastructure as Code-Werkzeugkaste

Ordnung im IaC-Dschungel: Welches Tool passt? Dieser Artikel gibt Überblick über die wichtigsten Werkzeuge für Infrastructure as Code.

Blog 07.09.23

Platform as a Service vs. Infrastructure as a Service

Die Cloud-Transformation stellt Sie vor die Frage: Platform as a Service oder Infrastructure as a Service? Beitrag über Vor- und Nachteile von PaaS und IaaS.

CLOUDPILOTS, Google Workspace, G Suite, Google Cloud, GCP, MeisterTask, MindMeister, Freshworks, Freshdesk, Freshsales, Freshservice, Looker, VMware Engine
Service

Cloud Infrastructure Assessment

Mit CLOUDPILOTS rasend schnell zu Ergebnissen in der Cloud. Trefft voll transparente und datenbasierte Entscheidungen, um Eure IT-Infrastruktur zu modernisieren.

Frau schaut sich am Tablet die No-Code/Low-Code Studie an
Wissen

No-Code / Low-Code Studie 2022

Die neue No-Code / Low-Code Studie 2022 ist da! ? Erfahren Sie die aktuellen Trend aus dem Markt. Jetzt informieren und die Studie kostenlos downloaden! ?

Blog 05.06.25

Was ist Cloud Infrastructure Entitlement (CIEM)?

CIEM erklärt: So verwalten Sie Cloud-Berechtigungen sicher und effizient – Unterschiede zu IAM & PAM, Vorteile und Einsatzbereiche.

View of the PUMA Headquarters in Herzogenaurach
Referenz

PUMA: Plattform für Low-Code/No-Code-Lösungen

Dank der Microsoft Power Platform setzt PUMA auf flexible, skalierbare Businessprozesse, die sich ohne großen Aufwand erstellen, erweitern und zentral im Center of Excellence steuern lassen.

Diverse people in spacious office while discussing work questions
Leistung

SOC as a Service

Klassische IT-Sicherheitsmaßnahmen reichen nicht mehr aus, um alle Bedrohungen rechtzeitig zu erkennen und Gegenmaßnahmen einzuleiten. Wir bieten Ihnen ein maßgeschneidertes SOC as a Service!

Middle aged Hispanic business manager ceo using cell phone mobile app, laptop. Smiling Latin or Indian mature man businessman holding smartphone sit in office working online on gadget with copy space.
Leistung

Endpoint Management as a Service

Mit unserem holistischen Endpoint Management as a Service Ansatz verwalten Sie Ihre genutzten Endgeräte ganzheitlich und legen die Grundlage für einen sicheren, zukunftsgerichteten Modern Workplace.

Kompetenz 12.11.25

Mit Low Code zur schnellen Lösung

Die Digitalisierung prägt unseren Alltag und erfordert ständig neue IT-Lösungen – der Mangel an Entwickler:innen erschwert das. Low-Code bietet hier eine Antwort.

Jobintroduction

Code mit uns an der Zukunft – Dein IT-Praktikum wartet!

Code mit uns an der Zukunft – Dein IT-Praktikum wartet!

Teaserbild Unternehmensprozesse mit Low-Code digitalisieren
Blog 04.04.23

Unternehmensprozesse digitalisieren – am besten mit Low-Code

Auch heute geht das Digitalisieren von Unternehmensprozessen eher schleppend voran. Low-Code Plattformen von Anbietern wie Mendix können hier Abhilfe leisten.

Teaserbild zum Blogbeitrag: "Welches Low-Code-Tool ist das richtige?"
Blog 12.05.23

Welches Low-Code-Tool ist das richtige für mein Unternehmen?

Wichtige Auswahlkriterien ✅ Vergleich zwischen Anbietern wie Microsoft, Mendix, HCL und SAP ✅ Wir erleichtern Ihnen im Blog die Entscheidung!

panoramic banner. young woman using mobile smart phone for scan and payment online with family budget cost bills on desk in home office, plan money cost saving, investment, finance, expenses concept
Workshop

Low-Code Workshop mit Power Apps

In unserem Workshop lernen Sie Step-by-Step, wie Sie benutzerdefinierte Anwendungen mit Power Apps erstellen, die auf mobilen Geräten ausgeführt werden.

Service

API Economy, DevOps, Low Code & MACH

Kundenorientierte Lösungen zu den Themen API Economy, DevOps, Low Code und MACH (Microservices, API-first, Cloud-native und Headless Architecture)

Blog

Live Share für die reibungslose Kommunikation in VS Code

Mit der Microsoft Extension Live Share habt ihr die Möglichkeit, gemeinsam mit eurem Team in Visual Studio Code am selben Code zu arbeiten und mehr. Alles dazu in unserem Blogartikel!

novaCapta: Ihr Partner für die digitale Transformation mit Microsoft Technologien
Blog 23.02.15

Warum ist Inline-CSS und JavaScript-Code so schlecht?

Warum der Einsatz von Inline-CSS bzw. JavaScript-Code schlecht ist, da Dinge wie Caching, DRY-Prinzip, Wartbarkeit und Media-Queries gänzlich außer Acht gelassen werden.

Produkt

Beratung rund um IBM watsonx Code Assistant

Als IBM Platinum Business Partner sind wir für Sie da. Ob Beratung, Begleitung oder Umsetzung – mit dem gesamten Portfolio der IBM finden wir die optimale Lösung für Sie.

Verschiedene eXplain Screens
Lösung 01.03.23

eXplain – Das Tool für Code Analyse auf der IBM i & IBM Z

eXplain – Das digitale Mastermind für businesskritische Legacy-Anwendungen. ✅ Jetzt informieren und beraten lassen!

Teamarbeit mit Tasse und Tastatur
Referenz

HCL Connections und ICEC vereinen sich zu einem globalen, cl

SikaWorld 2.0 in der Schweiz – Connections und das Connections Engagement Center vereinen sich zu einem globalen, cloud-basierten Social Intranet für 15.000 User.

Event 06.05.20

Webcast: Versicherung und Data Science

Marc Bastian zeigt Ihnen ein Beispiel einer analytischen Infrastruktur für KI Anwendungsfälle, praktische Projekterfahrung und Erfolgsfaktoren.

Bleiben Sie mit dem TIMETOACT GROUP Newsletter auf dem Laufenden!