Matrix Technology AG
Die matrix > Infrastructure as Code: Virtuelle Server und Co. effizient und sicher bereitstellen

Infrastructure as Code: Virtuelle Server und Co. effizient und sicher bereitstellen

matrix technology Autor Ayse Ceyda Erdogan

Ayse Ceyda Erdogan ist Teil des Cloud- und Strategy Consulting Teams von matrix technology. Die studierte Medieninformatikerin interessiert sich besonders für IT-Entwicklung von der Software bis zur Infrastruktur. Als Blog-Autorin gewährt Ayse einen Einblick in Themen an der Schnittstelle von DevOps, IT-Sicherheit und Ressourcen-Management.

Alle Beiträge des Autors

Server, Netzwerke und Speicher sind das Rückgrat jeder IT-Landschaft. In aller Regel wird diese Infrastruktur heute virtuell erzeugt, konfiguriert und in einer Cloud-Umgebung bereitgestellt. Infrastructure as Code (IaC) bietet dafür eine besonders effiziente und sichere Methode. Wir erklären, wie mit IaC nicht nur Infrastruktur, sondern auch Nutzerrechte und Policies provisioniert werden können – und wie Unternehmen davon profitieren.

Was ist Infrastructure as Code?

Infrastructure as Code ist eine Methode, um IT-Infrastruktur auf Basis von Code regelbasiert und wiederholbar bereitzustellen. Manuelles Deployen und Konfigurieren von Servern ist fehleranfällig und zeitaufwendig, wobei das Deployment von IaC zuverlässiger und schneller ist. 

Infrastruktur als Code kann auch komplexe Infrastrukturen und große IT-Architekturen mitsamt der Anpassung der darauf abgebildeten Systeme steuern. Dies führt zu einer hohen Skalierbarkeit, Wiederholbarkeit, Konsistenz und Effizienz in der Administration von IT-Infrastrukturen. Da durch IaC auch Überarbeitungen der Infrastruktur schnell und direkt ausgeführt werden können, wird die Fehleranfälligkeit reduziert und Zeit gespart. Zudem ermöglicht IaC eine bessere Nachvollziehbarkeit bei Änderungen.

IaC

 

Die Vorteile von Infrastructure as Code im Überblick

Infrastruktur als Code (IaC) ermöglicht die automatisierte Bereitstellung von Infrastrukturleistungen wie Server, Netzwerk und Speicher.

  1. Weniger manueller Aufwand: Weil die Infrastruktur via Code erzeugt wird, entfällt die manuelle Provisionierung - ganze Infrastrukturarchitekturen lassen sich skriptbasiert erstellen.
  2. Bessere Entwickler-Zusammenarbeit: Durch die Verwendung von IaC können mehrere Personen über Tools wie Azure DevOps oder GitHub an derselben Infrastruktur-Codebasis arbeiten.
  3. Weniger Fehlerquellen: Prozesse werden mit IaC automatisiert, die ansonsten mit menschlichen Fehlern behaftet sein können.
  4. Erhöhte Sicherheit: Wichtige IT Security Regeln wie Policies für das Identitäts- und Berechtigungsmanagement fließen als Teil von IaC mit. Beispielsweise die Reduzierung von High Privileged User-Rechten durch den Einsatz von ReadOnly Accounts für Administratoren.
  5. Automatisiert-regelbasierte Prozesse: Weitere Prozesse wie das Verknüpfen von Daten zur Auslastung der genutzten virtuellen Ressourcen mit den anfallenden Kosten können mittels Infrastructure as Code vereinfacht abgebildet werden. 
  6. Erkennung von bekannten Risiken: Innerhalb von Pipelines wird der Code mittels statischer Analyse auf bekannte Risiken gescannt, dadurch werden bekannte Risiken sofort erkannt. Dies erhöht die Sicherheit des gesamten Codes.

IaC plattform-übergreifend realisieren – Tool-Beispiel „Terraform“

Es gibt verschiedene Tools und Plattformen sowie zugehörige Konfigurationssprachen, um Infrastructure as Code Projekte zu realisieren. Beispiele sind Terraform mit der Konfigurationssprache HCL, AWS Cloud Formation mit TypeScript oder auch Pulumi mit verschiedenen Programmiersprachen einschließlich Python. Wir setzen in unseren Projekten häufig Terraform ein.

  • Terraform ist ein Open-Source-Tool, mit dem Infrastruktur-Ressourcen in Cloud- oder On-Premises-Umgebungen beschrieben, definiert und bereitgestellt werden können. 
  • Entwickelt wurde das Tool 2012 von HashiCorp und wird hauptsächlich von DevOps-Teams verwendet, um die Infrastruktur zu automatisieren. 
  • Terraform nutzt die eigene Konfigurationssprache HCL. Das Tool selbst ist in der Sprache Go geschrieben. 

Mit Tools wie Terraform ist es möglich, die gesamte Infrastruktur als Code zu beschreiben und zu automatisieren. Die plattformübergreifend gestalteten Tools ermöglichen es, verschiedene IaaS-Anbieter, wie Azure, AWS oder Google Cloud, sowie On-Premise Ressourcen einzubinden.

Wie setzen Unternehmen IaC erfolgreich ein?

Praxisbeispiele: Ressourcen-Provisionierung 

Infrastructure as Code erreicht eine höhere Effizienz bei der Bereitstellung und Verwaltung von Ressourcen wie virtuelle Maschinen, Netzwerke oder Datenbanken. Im Code hinterlegbar sind auch die Regeln für den Zugriff von Nutzern und Systemen.

  1. Unternehmen A nutzt den Zeitgewinn durch IaC, um die Markteinführung von Produkten und Services deutlich zu beschleunigen. Sowohl Entwickler als auch Endbenutzer können in kürzerer Zeit auf die benötigten IT-Ressourcen zugreifen und ihre Produktivität steigern.
     
  2. Unternehmen B nutzt ein externes IT-Team eines spezialisierten IT-Dienstleisters, um die Ressourcenbereitstellung mittels IaC zu realisieren. Damit kann sich die Organisation stärker auf Produktivität und Innovation konzentrieren, während gleichzeitig höchste Standards für Sicherheit erreicht werden.

Praxisbeispiele: Policy-Erzeugung über IaC

Kostenmanagement-Richtlinien
Kostenmanagement-Richtlinien werden implementiert, um sicherzustellen, dass das Budget für die Infrastruktur nicht überschritten wird. Dazu dienen verschiedene Ansätze, wie Ressourcen-Monitoring, Kapazitätsreservierung und auch die automatische Skalierung.

Zulassungsrichtlinien (Identity und Access Management, IAM)
IAM ist sehr wichtig für die IT-Sicherheit in Unternehmen. Es gewährleistet, dass nur befugte Benutzer auf Ressourcen zugreifen und diese verwalten. Nur autorisierte Personen können auf vorher definierte Daten zugreifen. Hierdurch kann eine Veränderung, Löschung oder Manipulation der Daten verhindert werden.

Netzwerk-Sicherheitsrichtlinien
Netzwerk-Sicherheitsrichtlinien schützen das Netzwerk und die Systeme im Unternehmen vor Bedrohungen und Angriffen. Ein Beispiel sind Richtlinien, die definierte Netzwerkkonfigurationen erzwingen.

Fazit: Spielräume eröffnen und Security-Lücken minimieren mit IaC

Wie unsere Zusammenstellung zeigt, ist Infrastructure as Code gerade in Verbindung mit der Nutzung verschiedener Cloud-Plattformen ein nahezu unverzichtbarer Helfer geworden. Unternehmen, die ihre Prozesse für die Bereitstellung und Konfiguration von IT-Infrastrukturen auf IaC umstellen, gewinnen Zeit, sind durch definierte Policies weniger anfällig für Cyberattacken, arbeiten messbar kosteneffizient und schaffen dringend benötigte Luft für Innovation und Produktivitätssteigerung. Wir sind gerne Ihr Ansprechpartner, wenn Sie in Ihrem Unternehmen von der Methode profitieren möchten! Nehmen Sie Kontakt auf – am besten jetzt gleich!