401 Infrastructure as Code [0.25 PT]

Posted About 2 years ago. Visible to the public.

Früher und auch heute noch werden in großen Teilen Infrastruktur Bestandteile manuell konfiguriert und aufgesetzt. Das bedeutet, dass Menschen manuell eine VM starten, diese von Hand konfigurieren und anschließend Backups davon machen. Auch Netzwerkkonfiguration oder Dienste werden häufig noch manuell konfiguriert.

Du (und makandra) möchtest solche manuellen Tätigkeiten möglichst vermeiden. Wie du in den Ansible Kapiteln beim konfigurieren von Servern schon gelernt hast, hat es seine Vorteile, seine Konfigurationen als Code in einem Git Repo zu managen. Das Erstellen von Infrastruktur funktioniert dann reproduzierbar, beliebig oft und Änderungen und deren Zeitpunkte sind nachvollziehbar.

Beim Provisionieren von Cloud Ressourcen oder Konfigurieren von bereitgestellten Diensten wollen wir möglichst das gleiche wie beim Konfigurieren persistenter VMs: Die Konfiguration als Code ablegen. Dafür gibt es viele Tools, unter anderem die eigenen von Cloudprovidern und agnostische Lösungen, die für viele Plattformen verwendet werden können.

Ziele

  • Du verstehst was Infrastructure as Code ist
  • Du verstehst warum du das verwenden solltest
  • Du kannst mehrere Infrastructure as Code Lösungen beim Namen nennen

Inhalte

Es gibt einige Infrastructure as Code Lösungen. Die zwei bekanntesten Cloud agnostischen sind Terraform und Pulumi. Die anderen Lösungen sind an die Cloud Provider gebunden und ermöglichen das Management auf deren Platformen. Bei makandra möchten wir eine agnostische Lösung verwenden. Wir arbeiten zwar meistens in AWS Umgebungen, aber möchten auch andere Dienste verwalten (DNS Provider, Auth0, Gitlab, ...).

Am besten wirfst du einen kurzen Blick auf die unten stehenden Inhalte. Alle diese Dienste erfüllen den gleichen Zweck, aber haben unterschiedliche Konzepte wie sie diese erreichen. Du musst dich nicht zu tief damit beschäftigen, solltest aber, falls eine andere Person eine der Lösungen erwähnt, wissen, worum es sich dabei handelt.

Claus-Theodor Riegg
Last edit
8 months ago
Simon Hofmann
License
Source code in this card is licensed under the MIT License.
Posted by Claus-Theodor Riegg to DevOps Curriculum (2022-01-21 17:12)