Suchen

Definition: Verwaltungstool für die Google Cloud Was ist der Google Cloud Deployment Manager?

Der Google Cloud Deployment Manager ist ein Service und Tool, mit dem sich Ressourcen der Google Cloud Platform (GCP) erstellen und verwalten lassen. Er arbeitet vorlagen-basiert und ermöglicht die Beschreibung der Ressourcen im deklarativen YAML-Format.

Firmen zum Thema

Cloud-Ressouren per Code erstellen und verwalten mit dem Google Cloud Deployment Manager.
Cloud-Ressouren per Code erstellen und verwalten mit dem Google Cloud Deployment Manager.
(Bild: gemeinfrei (© Gerd Altmann) / Pixabay )

Der Google Cloud Deployment Manager ist ein von Google bereitgestelltes kostenloses Tool. Mit dem Tool lassen sich Ressourcen der Google Cloud Platform (GCP) mit Hilfe einfacher Vorlage erstellen, verändern und verwalten. Die Ressourcen werden in einer Konfigurationsdatei beschrieben und über den Google Cloud Deployment Manager bereitgestellt.

Die Beschreibung der Ressourcen erfolgt im deklarativen YAML-Format. Auch Python- und Jinja2-Vorlagen sind nutzbar. Das Tool liest die Konfigurationen aus und richtet die Cloud-Ressourcen entsprechend der Vorgaben ein. Die Konfigurationsdateien sind einfach wiederverwendbar und lassen sich zur Automatisierung von wiederholbaren, konsistenten Bereitstellungsprozessen verwenden. Der Google Cloud Deployment Manager ist eine Umsetzung des IaC-Konzepts, da die Konfigurationen der Cloud-Ressourcen per Code beschrieben und bereitgestellt werden.

Das Tool unterstützt zahlreiche Ressourcen der Google Cloud Platform wie Compute Engines, Cloud Storage oder das Data Warehouse BigQuery. Für die Nutzung des Tools fallen keine Kosten an. Nur für die eingerichteten Google Cloud Services sind die üblichen Gebühren zu entrichten.

Der Google Cloud Deployment Manager als eine Umsetzung des IaC-Konzepts

Der Google Cloud Deployment Manager ist eine Umsetzung des IaC-Konzepts. IaC bedeutet Infrastructure as Code und wird auch als programmierbare Infrastruktur bezeichnet. Es handelt sich um ein IT-Konzept, das Infrastrukturleistungen wie Computing, Storage und Networking mit Hilfe von Programmcode bereitstellt. IaC macht manuelle Konfigurationsarbeiten überflüssig, da IT-Ressourcen über Code beschrieben und automatisch entsprechend den Vorgaben konfiguriert und eingerichtet werden.

Der Vorgang ist vergleichbar mit dem Programmieren von Software. Vor allem im Umfeld des Cloud Computings und für die Umsetzung des DevOps-Konzepts kommt Infrastructure as Code zum Einsatz. IaC bietet zahlreiche Vorteile. Ressourcen lassen sich schneller, günstiger und beliebig wiederholbar bereitstellen, verändern oder erweitern. Alle großen Cloud-Anbieter wie Amazon, Microsoft oder Google unterstützen das IaC-Konzept. Die Umsetzung des Konzepts bei Google erfolgt über den Google Cloud Deployment Manager. Er bildet eine zusätzliche Abstraktionsschicht und ermöglicht die Automatisierung vieler Aufgaben.

Die unterstützten Funktionen des Google Cloud Deployment Managers

Der Google Cloud Deployment Manager bietet einen großen Funktionsumfang. Unter anderem werden folgende Funktionen unterstützt:

  • paralleles Bereitstellen von mehreren Ressourcen;
  • Verwendung von Python- und Jinja2-Vorlagen;
  • Ändern, Hinzufügen und Löschen von Ressourcen;
  • Übertragung von Variablen und Ausgabe von Statuswerten;
  • Verwendung von JSON-Schematas mit Parametern;
  • programmatische Verwaltung von Bereitstellungen;
  • Steuerung der Reihenfolge der Erstellung von Ressourcen;
  • Abbildung von Abhängigkeiten zwischen Ressourcen;
  • Verwendung einer konsolen-basierten Benutzeroberfläche;
  • Anzeige der kompletten Bereitstellung über eine hierarchische Ansicht.

Funktionsweise und wichtige Grundbegriffe des Google Cloud Deployment Managers

Um die Funktionsweise des Google Cloud Deployment Managers besser zu verstehen, sind zunächst Kenntnisse folgender Grundbegriffe des Tools notwendig:

  • Konfiguration
  • Vorlage
  • Ressource
  • Typ und Typanbieter
  • Manifest
  • Bereitstellung

In einer Konfiguration sind alle Ressourcen einer Bereitstellung definiert. Die Konfiguration ist im YAML-Format beschrieben und als Datei angelegt. Innerhalb dieser Konfigurationsdatei sind im Abschnitt „resources“ alle zu erstellenden Ressourcen mit ihren Attributen aufgelistet. Die Ressourcen sind über die drei Komponenten „name“, „type“ und „properties“ beschrieben.

Eine Konfiguration kann Vorlagen enthalten. Vorlagen lassen sich in verschiedenen Bereitstellungen verwenden. Sie machen Sinn, wenn ähnliche Eigenschaften der Ressourcen immer wieder in Konfigurationen auftauchen. Die Konfigurationen müssen nicht jedes Mal neu geschrieben werden und ermöglichen das einfache und schnelle Portieren für die verschiedenen Bereitstellungen. Erstellt werden die Vorlagendateien in Python oder Jinja2. Der Google Deployment Manager interpretiert die Vorlagen und fügt deren Ergebnisse mit einer YAML-Syntax in die Konfigurationsdateien ein.

Eine Ressource ist eine API-Ressource eines von Google verwalteten Basistyps oder eines Typanbieters. Ein Beispiel für eine einzelne Ressource ist eine Instanz einer Compute Engine. Definiert ist die Ressource über ihren Typ.

Ein Typ kann in Form eines Basis-Typs eine einzelne API-Ressource oder in Form eines zusammengesetzten Typs eine Sammlung mehrerer Ressourcen sein. Der Google Cloud Deployment Manager hält eine List der von Google verwalteten Basistypen bereit. Sie lassen sich direkt zur Definition einer Ressource verwenden und erstellen eine einzelne einfache Ressource. Für die Basistypen steht eine RESTful API zur Verfügung, mit der sich Vorgänge wie das Erstellen, Löschen, Aktualisieren und Lesen ausführen lassen. Zusätzliche Basistypen können mit entsprechenden Kenntnissen über das Hinzufügen eines Typanbieters erstellt werden.

Bei einem Manifest handelt es sich um ein schreibgeschütztes Objekt. Es enthält die Konfiguration inklusive der genutzten Vorlagen und der Ressourcenliste. Der Google Cloud Deployment Manager erstellt bei jeder Aktualisierung einer Bereitstellung ein neues Manifest. Die Datei bildet den Status der aktuellen Bereitstellung ab.

Als Bereitstellung bezeichnet Google eine Sammlung von Ressourcen, die mit Hilfe des Google Cloud Deployment Managers und der entsprechenden Konfiguration zusammen bereitgestellt und administriert wird.

Vorteile durch den Einsatz des Google Cloud Deployment Managers

Durch den Einsatz des Google Cloud Deployment Managers zur Bereitstellung von Cloud-Ressourcen ergeben sich zahlreiche Vorteile. Bereitstellungsprozesse lassen sich automatisieren und werden beliebig wiederholbar. Ressourcen werden mit immer gleichen Ergebnissen schnell und konsistent erstellbar. Der Code zur Konfiguration der Ressourcen hat dank YAML einen deklarativen Charakter. Im Gegensatz zu anderen Tools müssen die einzelnen Schritte zur Bereitstellung und Konfiguration der Ressourcen nicht einzeln beschrieben werden. Der deklarative Code beschreibt einfach die gewünschte Zielkonfiguration der Ressourcen. Für die notwendigen Schritte zur Umsetzung dieser Vorgaben sorgt das System selbst.

Nutzer haben mit den Google Cloud Deployment Manager die Möglichkeit, nicht nur einzelne Ressourcen, sondern ganze Gruppen von Ressourcen bereitzustellen. Aus diesen Ressourcensammlungen lassen sich komplette Services oder Anwendungen zusammenstellen. Dank der vorlagenbasierten Arbeitsweise des Google Cloud Deployment Managers können Ressourcenkonfigurationen aus mehrfach verwendbaren Bausteinen zusammengesetzt werden. Die Vorlagen können parametrisiert werden und sind für verschiedene Bereitstellungen in leicht abgewandelter Form nutzbar.

(ID:46935402)

Über den Autor