ResourceGroups – So vereinfachst Du Infrastruktur-Templates

ResourceGroups – So vereinfachst Du Infrastruktur-Templates

Das Schreiben von großen Infrastruktur-Templates ist zeitaufwendig. Dabei kannst du deinen Code mit ResourceGroups vereinfachen und effektiver gestalten. Das hat auch für spätere Anpassungen viele Vorteile.

Voraussetzungen für einfache Templates

Dank Cloud Computing können Infrastrukturen heute als Code geschrieben und große Setups schnell und unkompliziert mit wenigen Zeilen aufgesetzt werden (Infrastructure as a Code). Dafür ist ein CLI-Client notwendig, der die Infrastruktur-Templates interpretiert und die Befehle an die API weitergibt. Da SysEleven Stack auf OpenStack basiert, nutzen wir für Orchestration entsprechend Heat. Ein sicherer Umgang damit wird vorausgesetzt.

Hinweis: Solltest du Fragen zu Heat haben, kannst Du in Zukunft wieder unsere Heat-Classes besuchen! Hier sind die aktuellen Termine zu finden.

Schlechte Beispiele: Redundanzen

Mit Heat schreibst du die gewünschte Serverkonfiguration in einem simplen Template runter und legst darin alle wichtigen Eigenschaften fest. Leider wird das spätestens bei ein paar dutzend Servern sehr unübersichtlich. Dabei ist die Struktur jedes Mal identisch und das Template wird durch die Redundanzen unnötig lang.

syseleven-blog-openstack-tutorial-ressource-groups-server-templates-vereinfachen-yaml-server

Elegant Server gruppieren

Einfacher geht es, wenn du die Server in Gruppen organisierst und die Beschreibung der Maschinen in eine eigene Datei auslagerst.

In einer setup.yaml beschreibst du alles bis auf die Server selber: Netzwerkadressen, DNS und so weiter. Hier legst du auch den Parameter fest, der die Anzahl der Server bestimmt.

In einer server.yaml definierst du den Server inklusive allem, was die Maschinen können sollen. Die beiden Dateien sehen dann zum Beispiel so aus:

Die setup.yaml

syseleven-blog-openstack-tutorial-ressource-groups-server-templates-vereinfachen-yaml-setup

Die server.yaml

syseleven-blog-openstack-tutorial-ressource-groups-server-templates-vereinfachen-yaml

Vorteile von ResourceGroups

Statt eines übergroßen Templates hast du jetzt zwei unabhängige Module. Das eröffnet dir entscheidende Vorteile:

  • Du kannst die Parameter von außen steuern, statt die Templates bei jeder Änderung manuell anzupassen.
  • Die Module vereinfachen die Organisation deines Codes, weil du statt einer Datei einzelne Bausteine hast.
  • Diese Bausteine sind auch für andere Applikationen nutzbar. So kannst du unterschiedliche Setups aus derselben Code-Basis heraus erstellen.

Ein Beispiel simpler Vereinfachung von Server-Gruppen mit ResourceGroups findest du in diesem examplesetup auf Github.

Besuche unsere Dokumentation für mehr Tutorials rund um Cloud Computing, SysEleven Stack und IaaS. Bei Fragen hinterlasse uns einen Kommentar!