Terraform,
(nicht nur) laut Gartner der de-facto Standard für Infrastructure as Code
(nicht nur) laut Gartner der de-facto Standard für Infrastructure as Code
Management Summary
Es gibt eine Reihe von bekannten Unternehmen, deren Erfolg maßgeblich von der Agilität in der IT beeinflusst wird. Ein prominentes Beispiel ist Amazon, wo nach eigenen Aussagen durchschnittlich alle 11,7 Sekunden eine Applikation deployed wird - zwangsläufig während des laufenden Betriebs.
Im Gegensatz hierzu sind manuelle System-Updates in Wartungsfenstern mit mehreren Wochen Vorlaufzeit und manuellen IT-Prozessen die gelebte Praxis vieler Behörden und Unternehmen. Aus der Sicht des Bitkom “muss die Digitalisierung auch in der öffentlichen Verwaltung zügig und konsequent vorangetrieben werden”.
Ein Schlüssel zum Erfolg hierbei ist die durchgängige Automatisierung der IT-Prozesse nach dem Vorbild der bekannten Public Cloud Provider.
Für die vollständig automatisierte Bereitstellung nahezu beliebiger IT-Infrastruktur hat sich Infrastructure as Code (IaC) mit HashiCorp Terraform auch für Gartner in den letzten Jahren zum Quasi-Standard entwickelt. Mit IaC wird die Bereitstellung von IT-Infrastruktur in jeder Art von Cloud wie Software programmiert und nicht mehr manuell konfiguriert. Die Bereitstellung einer einzigen Virtuellen Maschine (VM) kann ohne Infrastructure as Code mehrere Tage benötigen. Mit Terraform und IaC stehen dagegen innerhalb von 3 Minuten neben der VM auch noch die ebenfalls benötigte Datenbank, der Load Balancer und die Firewall zur Verfügung, und gleichzeitig werden auch noch sämtliche Governance-Vorgaben automatisiert eingehalten, da diese als Policy as Code innerhalb von Terraform hinterlegt sind.
Einleitung
Die digitale Transformation hat als Strategie für die digitale Verwaltung auch den Öffentlichen Bereich erreicht. Der Bitkom schreibt hierzu: “Wenn der Staat aber die Regeln einer sich digital transformierenden Gesellschaft und Wirtschaft setzt, muss die Digitalisierung auch in der öffentlichen Verwaltung zügig und konsequent vorangetrieben werden. Digitale Verwaltungsprozesse müssen aus Nutzer-Sicht gedacht und gestaltet werden”. Auch aufgrund der hohen Sicherheitsanforderungen, die in Deutschland maßgeblich vom BSI geprägt werden, ist dem Öffentlichen Bereich bisher die Nutzung der bekannten Public Clouds (Amazon Web Services, Microsoft Azure, Google Cloud Platform …) fast immer verwehrt. Aber bekanntlich ist die Cloud kein Ort, sondern ein Betriebsmodell, das natürlich auch als Private Cloud innerhalb von Behörden realisiert werden kann. Konsequent zu Ende gedacht bedeutet dies, dass die IT im Öffentlichen Bereich von ITIL-Gatekeeping zu DevOps-Spitzenleistungen mit verteilten Self-Service-Prozessen entwickelt werden muss. Dies bedeutet einen Wandel von der
Kostenoptimierung zur Geschwindigkeitsoptimierung und von manuellen, ticket-basierten Prozessen zur schnellen Bereitstellung von On-Demand-Diensten mit flexibler Skalierbarkeit.
Die wichtigste Änderung bei diesem Wechsel ist der Wandel von einer „statischen“ zu
einer „dynamischen“ Infrastruktur – von der Konfiguration und Verwaltung eines fixen IT-Bestands hin zu Bereitstellung, Absicherung, Verknüpfung und Betrieb von dynamischen On-Demand-Ressourcen.
Das Betriebsmodell ändert sich hierzu bei der Bereitstellung von IT-Infrastruktur wie folgt: auf Infrastrukturebene wird aus dem Betrieb auf dedizierten Servern oder virtuellen Maschinen mit beschränktem Umfang eine dynamische Umgebung. Mit dieser können Behörden und Unternehmen problemlos auf steigenden oder sinkenden Bedarf durch Hoch- bzw. Herunterskalieren Tausender Server reagieren. Hierzu hat sich Infrastructure as Code (IaC) mit HashiCorp Terraform auch für Gartner in den letzten Jahren zum Quasi-Standard entwickelt. Mit IaC wird die Bereitstellung von IT-Infrastruktur in jeder Art von Cloud wie Software programmiert und nicht mehr manuell konfiguriert. Terraform schafft die Infrastruktur für jegliche Anwendungen, mit einer stetig wachsenden Palette von Infrastruktur-Komponenten verschiedenster Anbieter für alle Arten von Cloud Plattformen.
Infrastructure as Code mit HashiCorp Terraform
Das erste Ziel von Shared Services für die Infrastrukturbereitstellung besteht darin, reproduzierbare Infrastruktur automatisiert mittels Infrastructure as Code zu ermöglichen. So können DevOps-Teams im Rahmen von CI/CD-Workflows
Ressourcen planen und bereitstellen, indem sie durchgängig vertraute Tools verwenden. DevOps-Teams können Terraform-Templates erstellen, welche die Konfigurationen von Diensten einer oder mehrerer Cloud-Plattformen enthalten. Dabei hilft es, dass Terraform mit allen wichtigen Konfigurationsmanagement-Tools integriert ist. Außerdem lässt sich Terraform um Dienste vieler Drittanbieter erweitern, etwa um Überwachungstools, APM-Systeme (Application Performance Monitoring),
Sicherheits-Tools, DNS, Content Delivery Networks etc. Einmal definierte Vorlagen können nach Bedarf automatisiert bereitgestellt werden. So wird Terraform zur Lingua franca und zum übergreifenden Workflow für Teams, die Ressourcen über Private und Public Clouds hinweg bereitstellen.
Für eine Self-Service-IT erspart die Abkopplung der Vorlagenerstellung von der Bereitstellung enorm viel Zeit bis zum Go-Live einer Anwendung, weil die Entwickler nicht länger auf eine Betriebsgenehmigung zu warten brauchen, solange sie eine bereits genehmigte Vorlage verwenden.
Compliance und Management
Die meisten Teams müssen außerdem verschiedene Compliance-Richtlinien berücksichtigen, z.B. hinsichtlich des Infrastrukturtyps oder der Art der Nutzung. Hierzu ist in Terraform das Policy as Code Framework Sentinel integriert.
Die ebenfalls als Code definierte Sentinel-Policy sorgt automatisiert für die Einhaltung der notwendigen Compliance und Governance, ohne dass hierzu eine Änderung des Team-Workflows nötig wäre.
Ohne die automatisierten Policies in HashiCorp Sentinel müssen die Organisationen auf einen ticket-basierten Review-Prozess zurückgreifen, um Änderungen zu genehmigen. Die Folge ist, dass Entwickler teilweise wochenlang warten müssen, um Infrastruktur bereitzustellen, wodurch diese Methode zum Engpass wird. Policy as Code ermöglicht die Lösung dieses Problems durch die Loslösung der Policy-Definition von der Durchsetzung.
Zentralisierte Teams kodifizieren Policies als Policy as Code und setzen auf diese Weise Sicherheit, Compliance und betriebliche Best Practices als Teil des neuen Cloud Betriebsmodells um. Die automatisierte Umsetzung von Policies während der Bereitstellung von IT-Infrastruktur stellt die Konformität von Änderungen sicher und vermeidet Engpässe in Form von manuellen Prüfungen.
HashiCorp Vault ist weltweit bei einer Vielzahl von Behörden im Einsatz, beispielsweise bei Services Australia (mit 34.000 Mitarbeitern eine der drei größten Behörden in Australien), einer europäischen Steuerbehörde sowie einer europäischen Polizeibehörde.
Weitere Informationen
2-Minuten-Video: Anwendungsfälle für HashiCorp Terraform im Öffentlichen Bereich: https://youtu.be/JqfLd9ookuk
Die Funktionen von HashiCorp Terraform auf einen Blick: https://www.hashicorp.com/products/terraform/pricing
Whitepaper: Terraform als Teil des Cloud Betriebsmodells: https://www.hashicorp.com/resources/unlocking-the-cloud-operating-model-security
HashiCorp Vault Anwendungsfälle selbst ausprobieren:
Terraform Recommended Practices: https://www.terraform.io/docs/cloud/guides/recommended-practices/index.html