New Outlook ab 06.01.2025
Was hat Microsoft vor? Wir möchten Sie aus aktuellem Anlass informieren, dass Microsoft vor ein paar Tagen angekündigt hat, bei allen Microsoft 365 Business ...
Azure Terraforming: Die reiferen Leser/innen kennen das Wort „Terraforming“ noch aus den Star Trek Filmen (Raumschiff Enterprise). Dort versuchte die Föderation mittels Terraforming auf einem leblosen Planeten eine “Klasse-M” Athomspäre zu erschaffen. Damit sollten neue Kolonien innerhalb des Föderationsgebietes erschlossen werden. Zudem über einen Zeitraum von dreissig Jahren.
Heute sind wir als IT Administratoren zeitlich stets gefordert, wenn es um die zugrundeliegenede Infrastruktur in der Cloud geht. Des Weiteren herrscht eine Tendenz zur agilen Entwicklung, sodass immer kürzere Entwicklungszyklen und noch schnellere Umsetzungen von Veränderungen möglich werden. Da bleibt einem leider kein Jahrzehnt mehr, die Umsetzung muss oft innerhalb von Stunden möglich sein.
Um diese Schnelllebigkeit zu meistern, muss das Cloud Management, soweit als möglich, automatisiert sein. Sprechen wir von Infrastruktur in der Cloud, dann ist damit ein maschinenlesbarer Konfigurationscode gemeint. Die Bezeichnung dafür ist Infrastructure as Code (IaC)„.
Für Entwicklungsteams ist es relativ üblich, den Quellcode einer Anwendung in einem Quellcode-Repository (wie z. B. GitHub oder Azure Repos) zentral zu verwalten. Somit kann der Code gemeinsam genutzt und Konflikte zwischen Entwicklern, die zum Beispiel an gleichen Modulen arbeiten, sind einfach lösbar. Leider ist dies bei Infrastruktur IT Teams noch nicht überall der Fall.
Aber es ist heute durchaus möglich, genau die gleichen Muster und Praktiken auf eine Cloud Infrastruktur anzuwenden. Dementsprechend beschreibt man diese einfach per Code und behandelt sie auch so. Man beschreibt die geplante Cloud Infrastruktur zuerst deklarativ (deklarativ = in der Art einer Deklaration) in Code und im Anschluss deployed man den Code. Somit legt man alle Skripte, Konfigurationsdateien und Templates in einem Source-Control-Repository ab, versioniert sie und nutzt den gleichen Lebenszyklus wie bei den Anwendungen, die auf dieser Infrastruktur laufen.
Man kann diverse Tools nutzen, die einem beim Erstellen von Code zum Deployment einer Cloud Infrastruktur helfen. Microsoft bietet mit den Azure Resource Manager Templates die Möglichkeit, die gesamte Infrastruktur mit einigen Variablen und Parametern zu beschreiben.
Auch Azure Terraform ist ein Open-Source-Tool, das von HashiCorp entwickelt und gepflegt wird. Es verfolgt genau das gleiche Ziel wie die ARM-Templates: Es hilft, eine Cloud Infrastruktur deklarativ zu beschreiben.
Azure Terraform bietet mit HCL, eine einheitliche Deklarationssprache. Mit dieser lassen sich Cloud Ressourcen „standardisiert“ beschreiben. Statt händisch über das Azure Portal neue Instanzen anzulegen oder dort bestehende Ressourcen anzupassen, werden diese in HCL beschrieben und an Terraform übergeben. Terraform führt die beschriebenen Änderungen über die Azure API automatisch durch. Somit erstellt Terraform eine komplette Cloud Infrastruktur (anlog dem Bild unten).
Steht der Code einmal bereit, arbeitet man vereinfacht mit den folgenden drei Hauptschritten:
Der gesamte Code aller Azure Terraform Dateien im aktuellen Arbeitsverzeichnis wird überprüft und man erhält eine Übersicht über alle Änderungen, die vorgenommen werden würden:
Analog „Plan“ werden die Änderungen angezeigt, aber jetzt erhält man die Option um die Änderungen direkt an der Cloud Infrastruktur umsetzen zu lassen. Die Ausgabe zeigt den Fortschritt und die Rückmeldung, wenn die Änderungen abgeschlossen sind.
Genau wie bei Apply erhält man eine Übersicht über die Elemente, die zerstört werden sollen. Nach der Ausführung sind alle beschriebenen Ressourcen wieder gelöscht:
Die Azure Umgebungen unserer KMU Kunden sind im Wesentlichen immer ähnlich aufgebaut. Sie werden von uns deshalb per Terraform erstellt und und auch so verwaltet. Dadurch erhalten diese Umgebungen immer das gleiche Deployment, sowie ein einheitliches Naming aller Azure Objekte. Der Code selbst ist in sich geschlossen und wird pro Kunde abgelegt.
Arbeiten wir in grösseren Kunden oder Enterprise Umgebungen mit Azure Terraforming, sind die einzelnen Terraform Projekte meist untereinander abhängig. Die Terraform Stati müssen zentral abgelegt werden (z.B. auf einem Azure Storage Account) und für andere Projekte zur Verfügung stehen.
Speziell in grösseren Deployments nutzen wir das Microsoft Cloud Adption Framework. Darin werden meist die zentralen Infrastruktur Komponenten als Provider für die Landing-Zones separat zu den eigentlichen Applikationsprojekten generiert und modular verwaltet:
Mit Azure Terraform kann man eine komplette Cloud Infrastruktur as Code erstellen und diese in Azure deployen, verwalten und auch wieder zerstören.
Dies mit folgenden Vorteilen:
Abonniere unseren Blog und verpasse keinen Beitrag mehr. Wir spammen Dich nicht zu, sondern informieren Dich nur über neue Beiträge.
Was hat Microsoft vor? Wir möchten Sie aus aktuellem Anlass informieren, dass Microsoft vor ein paar Tagen angekündigt hat, bei allen Microsoft 365 Business ...
Die ersten 10 Jahre TwinCap First AG Überblick des Blogs: Einleitung - 10 Jahre Sep. 2024: Bezug neues Büro in Wallisellen Okt. 2024: Neuer ...
Easy Directory 2.0 - entdecke die neuen Funktionen & Verbesserungen Wir freuen uns, dir die neueste Version von Easy Directory präsentieren zu dürfen! Diese ...
Übersicht des Microsoft Teams Update Nov24 Geschätze Kundschaft Sie telefonieren mit uns über Microsoft Teams ins öffentliche Netz, wofür wir uns herzlich bedanken. Aus ...
Buche einen Microsoft Teams Meeting Termin bei Christoph Schoch. Nach der Buchung erhälst du eine Termineinladung. Dort findest du einen Link für das Teams Meeting. Natürlich kannst du uns auch gerne eine E-Mail schreiben oder uns direkt anrufen.
Wenn du Fragen hast, nutze dazu unser Helpcenter und/oder eröffne eine Ticket für dein Anliegen.