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
Ihr Erfolg ist unser Ziel

Stehen Sie vor komplexen IT-Projekten? Mit unserer Expertise bieten wir Ihnen maßgeschneiderte Lösungen. Erfahren Sie mehr.

Werde Teil unseres Teams

Wir suchen ständig nach neuen Talenten. Für dich haben wir genau die richtige Stelle. Schau dir unsere offenen Positionen an.

Noch Fragen? Wir helfen Ihnen gerne!

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.

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! ?

Referenz 31.08.23

EgeTrans – Die Zukunft von individueller Logistiksoftware

Erfahren Sie, wie EgeTrans die Zukunft der Individualsoftware auf der IBM i (AS/400) gestaltet und damit die Logistikbranche neu definiert. Ein Blick in eine innovative Welt, wo Technologie und Fortschritt sich treffen!

Blog 16.05.24

Angular 18: Das nächste Kapitel

Angular 18 bringt Leistungsverbesserungen, neue Features und Entwicklerwerkzeuge mit sich. Erfahren Sie mehr über Zoneless Angular, verbesserte Bundling-Strategien und Barrierefreiheitsverbesserungen. Entdecken Sie die Zukunft von Angular!

Blog 08.04.25

Das Ende von SAP Business ByDesign

Erfahren Sie in diesem Artikel, warum die Zukunft von SAP Business ByDesign nicht sicher ist, was mögliche Konsequenzen für Ihr Unternehmen sind und die Schritte zur Transition zur S/4HANA Cloud sind.

Event 12.03.25

catworkx auf der Atlassian Connect: Cloud Bound

Besuchen Sie catworkx auf der Atlassian Connect: Cloud Bound und erleben Sie die neuesten Innovationen in der Atlassian Cloud. Erfahren Sie, wie Sie die Herausforderungen der Teamarbeit meistern.

Infrastructure Resource Management
Kompetenz

Infrastructure Resource Management

Ob On-Premise oder in der Cloud: Mit einem modernen Infrastructure Resource Management stellen Sie Ihren Anwendungen jederzeit die richtige Menge an Ressourcen zur Verfügung.

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.

Infrastructure Resource Management
Kompetenz

Infrastructure Resource Management

Ob On-Premise oder in der Cloud: Mit einem modernen Infrastructure Resource Management stellen Sie Ihren Anwendungen jederzeit die richtige Menge an Ressourcen zur Verfügung.

Blog 28.03.24

Grafana Loki: Die nächste Generation des Log-Managements

Grafana Loki: Erfahren Sie mehr über die innovative Log-Verwaltungslösung für Cloud-native Umgebungen und deren Vorteile im Vergleich zu anderen Tools wie ElasticStack und Splunk.

Cloud-Telefonie für Unternehmen
Produkt

Google Voice - Telefonieren in der Cloud

Google Voice ist die neue Cloud-Telefonie-Lösung in Deutschland. Unabhängig vom Betriebssystem findet moderne Telefonie in der Cloud statt. Jetzt mehr erfahren!

Der heilige Gral der Cloud-Marktplätze wird vermisst
Wissen

Der heilige Gral der Cloud-Marktplätze wird vermisst

Eines der vorherrschenden Themen der diesjährigen CeBIT war Cloud IT und speziell die teils neuen B2B-Marktplätze als zentrale Vertriebsplattform für Cloud- und SaaS-Applikationen. Details erfahren Sie in diesem Blogartikel.

Blog 26.01.24

Die bevorstehende Let's Encrypt Aktualisierung

Die Welt des Internets ist ständig im Wandel, und als Online-Shopbetreiber ist es unerlässlich, mit den neuesten Entwicklungen in der Webtechnologie Schritt zu halten. In diesem Kontext rückt die bevorstehende Verlängerung der Let's Encrypt-Zertifikate, die am 30. September 2024 ansteht, in den Fokus. Die letzten Jahre waren geprägt von Anpassungen und Sicherheitsmaßnahmen, und es ist an der Zeit, einen Blick auf die bevorstehende Umstellung zu werfen.

Kompetenz 30.07.21

Code / Technologie Stacks

Wir beraten unsere Kunden zu vielen Herausforderungen und Domänen rund um Software Engineering, welche von der IT-Technik bis zur Unternehmenskultur und Geschäftsmodellen reichen.

News 12.02.24

catworkx ist HYCU-Partner

catworkx tritt dem HYCU-Partnerprogramm bei, um die SaaS-basierte Anwendungsbereitstellung für Kund:innen zu unterstützen. HYCU R-Cloud fördert das Interesse an Data Protection as a Service für Atlassian Cloud und andere SaaS-Anwendungen, um neue IT-Herausforderungen zu lösen.

Übersicht

Cloud Migration - User Transition

In diesem Training erhalten die Teilnehmer: innen eine umfassende Einführung in die neuesten Funktionen und Tools der Atlassian Cloud, die speziell auf Ihre individuellen Bedürfnisse zugeschnitten sind. Das Training findet in der Cloud-Umgebung des Kunden statt, was praxisnahe und direkt anwendbare Lerninhalte garantiert.

Ein Team von Softwareoentwicklern freut sich über die Zusammenarbeit mit TIMETOACT, die mit Hilfe von Open Source Code Auditierung für eine sichere und Compliance-konforme Softwareentwicklung gesorgt haben.
Kompetenz 20.02.25

Open Source Code Auditierung

In der heutigen Softwareentwicklung ist der Einsatz von Open Source Software (OSS) weit verbreitet. OSS bietet zahlreiche Vorteile, darunter Kosteneffizienz und schnelle Innovationszyklen.

Event Archive

Low-Code Day 2024

Erleben Sie die Zukunft der Softwareentwicklung. Mit spannenden Einblicken, Live-Demo und Fachvortrag beteiligen wir uns an der zweiten Ausgabe des Events der Low-Code Association. Treffen Sie unser Team in Hannover.

Kompetenz 23.06.22

Mit Low Code zur schnellen Lösung

Die Digitalisierung durchdringt mehr und mehr unseren Alltag und fordert gleichzeitig immer neue IT-Lösungen – ein Bedarf, den Unternehmen angesichts des Mangels qualifizierter Entwickler*innen kaum noch decken können. Low-Code gibt Antwort auf diese und weitere Herausforderungen im Digitalen Zeitalter.

Bleiben Sie mit dem TIMETOACT GROUP Newsletter auf dem Laufenden!