Aus dem Kurs: Terraform für Fortgeschrittene

Voraussetzungen und Lernziele – Tutorial zu Terraform

Aus dem Kurs: Terraform für Fortgeschrittene

Voraussetzungen und Lernziele

Bevor wir in die eigentlichen Lerninhalte einsteigen, klären wir einmal die Voraussetzungen und die Lernziele für diesen Kurs. Da sich ja um einen Terraform-Kurs für Fortgeschrittene handelt, gilt es, einige Voraussetzungen mitzubringen und einige Erfahrungen vorzuweisen, um diesen Kurs erfolgreich zu absolvieren. Zum einen sollte das Prinzip von Infrastructure as Code bekannt sein und man sollte wissen, welche Vorteile man mit der Verwendung von Infrastructure as Code verfolgt. Zudem ist es wichtig, zu verstehen, was deklarative Prinzipien bzw. Idempotenz bedeuten, denn das ist wichtig, um vor allem später im Troubleshooting nachvollziehen zu können, warum bestimmte Fehler auftreten und wie man diese korrigieren kann. Im nächsten Schritt ist es natürlich wichtig, Terraform-Grundlagen zu verstehen und diese verinnerlicht zu haben, denn wir werden in diesem Kurs nicht näher auf die Terraform CLI, einzelne Terraform-Befehle oder den Aufbau von Dateien eingehen. Diese Grundlagen werden vorausgesetzt und man sollte optimalerweise erste Erfahrungen mit dem Erstellen, Anwenden und Verwalten von Terraform-Dateien gesammelt haben. Zudem wäre es von Vorteil, wenn man sich mit der Konfiguration von Terraform-Providern und -Backends bereit auskennt und diese vielleicht sogar schon vorkonfiguriert vorliegen hat, denn es liegen zwar Übungsdateien zu den einzelnen Kapiteln vor. Es wird hierbei, aber nicht näher darauf eingegangen, wie die passenden Provider und Backends zu konfigurieren sind, um dann mit diesen Übungsdateien auch zu arbeiten. Dieses Wissen wird vorausgesetzt. Und damit man diese Übung natürlich auch parallel mitverfolgen kann, empfiehlt es sich, eine Testumgebung zu haben, in der man diese Terraform Files, die wir erstellen oder verwenden werden, auch anwenden kann. Hier wichtig noch mal darauf zu achten, tatsächlich mit einer Testumgebung zu arbeiten. Nicht alle Konfigurationen ergeben automatisch Sinn und sollten, so wie sie hier im Kurs behandelt werden, in eine produktive Umgebung deployt werden, deswegen bitte immer mit einer entsprechenden Testumgebung arbeiten. Mit dem Kurs verfolgen wir grundsätzlich die folgenden Lernziele. Zum einen geht es darum, die Arbeit mit dem Terraform State zu verinnerlichen. Was der Terraform State ist, sollte bekannt sein, aber gerade Themen bezüglich Umziehen von Terraform States, die Einbindung von Remote State Backends und vor allem auch das Sichern und Wiederherstellen von State-Informationen werden eine wichtige Rolle in diesem Kurs spielen. Im zweiten Teil werden wir uns mit Datenquellen beschäftigen, vor allem mit Datenquellen, die wir innerhalb unseres Terraform Codes verwenden können, aber natürlich auch Datenquellen, die wir erhalten, wenn wir externe Ressourcen hinzuziehen über Provider oder über externe Dateien. Wir werfen zudem einen Blick auf erweiterte Funktionen und speziellere Funktionen, die man in größeren und vor allem komplexeren Terraform-Konfigurationen durchaus gerne einsetzt, um sich das Leben etwas leichter zu machen. Zudem werden wir uns auch das Thema der Workspaces anschauen. Das ist, wenn man mit einfachen Terraform-Konfigurationen anfängt, meist noch kein großes Thema. Begibt man sich aber in größere Umgebungen, komplexere Umgebungen, dann werden Workspaces sehr, sehr schnell ein großer Vorteil in der täglichen Arbeit mit Terraform. Und last, but not least, ein wichtiges Thema, denn nicht immer klappt alles auf Anhieb, man wird auch mal in Fehler laufen, beschäftigen wir uns mit dem Thema Troubleshooting.

Inhalt