Was ist Terraform?

SAP on Azure_ Cloud Motion_Was ist Terraform?

Terrafom ist ein Werkzeug für die effiziente und sichere Provisionierung von einzelnen Ressourcen bis hin zu komplexen Infrastrukturen. Dabei kann Terraform alle gängigen Cloudanbieter und Inhouse Lösungen ansteuern.

 

Die Konfigurationen der Ressourcen werden in Dateien gespeichert. Gewünschte Änderungen werden durch Terraform in einem Ausführungsplan generiert, verprobt und erst im Anschluss umgesetzt. Damit kann man vorab sicherstellen, welche abhängigen Ressourcen ebenfalls geändert werden. 

 

Dabei ist Terrraform in der Lage Low- sowie High-Level Komponenten zu provisionieren. Unter Low Level Komponenten versteht man Serverinstanzen, Storage und Netzwerk. High-Level Komponenten sind DNS Einträge oder auch SaaS Features.

 

5 technische Business Cases die mit Terraform möglich sind….

Infrastructure as code verwenden

 

Terraform bietet mit der HashiCorp Configuration Language eine Codesprache an, um Ressourcen und Infrastrukturen zu planen, betreiben und zu ändern. Ebenfalls wird der Status der Komponenten gespeichert und die Änderungen können einfach nachvollzogen werden. Um wertvolle Zeit bei der Entwicklung von zusätzlichen Ressourcen und Infrastrukturen zu sparen, kann der Code für weitere Projekte wiederverwendet werden.

 

Multi-Cloud Deployment durchführen

 

Die Umsetzungen von Multi-Cloud-Implementierungen ist eine große Herausforderung, da viele bestehende Tools für das Infrastrukturmanagement Cloud-spezifisch sind. Terraform ist Cloud unabhängig und ermöglicht es, mit einer einzigen Konfiguration mehrere Anbieter zu verwalten und übergreifende Abhängigkeiten zu handhaben. Dies vereinfacht die Verwaltung und Orchestrierung und hilft beim Aufbau großer Multi-Cloud-Infrastrukturen.

 

Bereitstellungszeit von Ressourcen verkürzen

 

Klassisch werden die VMs und die Ressourcen über das Portal zusammenn geklickt. Bei komplexen Landschaften kann das Tage dauern und sind zudem fehleranfällig. Mit Terraform kann die vollständige Bereitstellung von Ressourcen in wenigen Minuten durchgeführt werden. Ebenfalls können mehrere Cloud-Services auf standardisierte Weise bereigestellt werden. 

 

Entwicklungskosten reduzieren

 

Mit Terraform kann das Wissen, wie ein Service  oder eine Ressource aufgebaut und skaliert werden soll, in einer Konfiguration „kodifiziert“ werden. Terraform-Konfigurationen können innerhalb einer Organisation geteilt werden, so dass die Teams die Konfiguration als Blackbox nutzen und Terraform als Tool zur Verwaltung ihrer Dienste einsetzen können.

 

Self-Services

 

Bei größeren Unternehmen wird es für ein zentrales Betriebsteam schwierig, eine große und wachsende Infrastruktur zu verwalten. Stattdessen wird es attraktiver, eine „Self-Serve“-Infrastruktur zu erstellen, die es den Produktteams ermöglicht, ihre eigene Infrastruktur mithilfe von Tools zu verwalten, die vom zentralen Betriebsteam bereitgestellt werden.

 

5 technische Funktionen die mit Terraform möglich sind….

 

Windows Domainjoin durchführen

Terraform kann einen Domainjoin durchführen. Das hat den Vorteil, dass man sich direkt nach der Provisionierung einer neuen VM mit einem Domainadminuser anmelden und die Nacharbeiten für das System abschließen kann.

 

Passwörter und Secrets ablegen

 

Terrafrom kann Kennwörter generieren und diese in einen KeyVault von Azure schreiben. Damit wird gewährleistet, dass die Kennwörter für den Loginuser nicht nativ im Code dargestellt wird und diese nur berechtigte User im Zugriff haben.

 

WebService deployen

 

Mit Terrafrom ist es möglich eine VM mit einem aktiven WebServer wie z.B.: dem Ngix auszurollen. Damit kann man sehr agil auf ändernde Testszenarien des Fachbereichs reagieren und mehrmals mit dem identischen Code ein Testszenario bereitstellen

 

Firewallregeln aktivieren

 

Mit Terraform kann man einmalig Firewallregeln definieren und über die NetworkSecurityGroups über alle relevanten Ressourcengruppen aktivieren. Damit spart man sich den zeitlichen Aufwand pro Ressourcengroup die identischen Regeln einzustellen.

 

VM Backup Policy verteilen

 

Mit Terraform kann man die konfigurierte BackupPolicy in kürzester Zeit verteilen und damit sicherstellen, dass alle Vm Ressourcen auch ordnungsgemäß im Backup enthalten sind.