Diese fünf Google Cloud Tools sollten Admins kennen
Google bietet inzwischen eine Reihe von Tools an, die Anwendern die Verwaltung ihrer Cloud-Infrastruktur erleichtern soll. Dieser Artikel stellt fünf der wichtigsten vor.
Gemeinsam mit Microsoft und Amazon liefert sich Google auf dem Markt für Cloud-Provider einen schnelllebigen Wettbewerb um die kundenfreundlichsten Tools.
Google Cloud bietet ähnlich wie Azure und AWS eine Reihe von Tools an, die Nutzer von Public Clouds unterstützen sollen. Dieser Artikel stellt fünf der neueren Tools vor, die Google auf den Markt gebracht hat.
Google Cloud Deployment Manager
Entwickler automatisieren alltägliche Aufgaben durch Skripte, um den Implementierungsprozess zu beschleunigen. Infrastructure as Code (IaC) ist die weitreichendste Form des Skriptings. Sie legt eine Abstraktionsschicht zwischen Anwendungen und die darunterliegende Infrastruktur, um den Betrieb zu automatisieren.
Googles IaC-Tool heißt Google Cloud Deployment Manager. Das Werkzeug stellt Infrastruktur als mehrfach ausführbaren, deklarativen Code dar. Es kann bis zu drei verschiedene Dateitypen pro Installation der Google Cloud Platform (GCP) verwenden: Ein Konfigurations-File in YAML, eine Schemadatei und eine Template-Datei in Python oder Jinja. Dabei ist nur die Konfigurationsdatei unverzichtbar, die beiden anderen sind optional.
In der Konfigurationsdatei befindet sich der Quellcode für den Deployment Manager. Das Tool liest den Inhalt der Datei und richtet die Konfigurationen basierend auf den vordefinierten Templates und vorgegebenen Umgebungsvariablen ein. Konfigurationsdateien bestehen aus zwei Teilen: Imports, in denen Dateien aufgelistet sind, die für die Konfiguration benötigt werden, und Ressources, die alle bereitzustellenden GCP-Services aufzählen.
Derzeit unterstützt der Deployment Manager nicht alle Google Cloud Tools und Services, jedoch sind mit Compute Engine, BigQuery und Cloud Storage die wichtigsten darunter. Das Tool selbst kostet nichts; für jeden Dienst, der darüber zur Nutzung bereitgestellt wird, entstehen die üblichen Gebühren.
Google Cloud Anthos
Unternehmen, die in die Cloud migrieren, kämpfen häufig damit, ihre bisher genutzten Applikationen in Cloud-Services umzuwandeln. Bislang wurde dies oft durch Virtualisierung gelöst. Doch die Cloud wie jede beliebige Hosting-Umgebung zu behandeln bedeutet, die eigentlichen Vorteile der Cloud hinsichtlich der Effizienz, Skalierbarkeit und Flexibilität nicht voll auszuschöpfen. Mit Google Cloud Anthos wird Google-Anwendern eine Alternative hierzu angeboten.
Der Dienst ist eine Cloud-agnostische Containerumgebung. Sie setzt Kubernetes und Istio zur Container-Orchestrierung und für das Traffic-Management ein. Dieser Software-Stack kann auch auf der vorhandenen Hardware einer Organisation laufen.
Googles große Erfahrung im Umgang mit Containern ist das wichtigste Argument für Anthos. Das Ziel dieses Tools ist es, die üblichen Probleme bei der Containerisierung bestehender Applikationen zu lösen, indem VM-Images (virtuelle Maschinen) in Container verwandelt werden, bevor man diese in Anthos bereitstellt.
Im Kern ist Anthos ein Container-Cluster, das durch Google Kubernetes Engine (GKE) und bei hybriden Architekturen durch GKE On-Premises gesteuert wird. Zusätzlich zu dieser Grundlage gehören zu Anthos diverse Dienste für das Konfigurationsmanagement. Beispiele sind Anthos Config Management, Traffic Director und Stackdriver.
Google Access Transparency
Access Transparency wurde von Google entwickelt, um Anwendern Einblick in Googles Service-Logs zu geben. Transparenz war in den vergangenen Jahren ein zentrales Thema für Cloud-Anwender. Für sie ist es wichtig zu wissen, wie Cloud-Provider die Basisinfrastruktur managen, auf die ihre Anwendungen aufbauen.
IT-Teams können mit Access Transparency Googles interne Logs überwachen, sofern diese mit ihren Konten zusammenhängen. In den Logs lassen sich beispielsweise die Handlungen von Google-Administratoren nachvollziehen, die diese bei Diensten von Kunden zur Problemlösung durchgeführt haben. Dieses Tool kooperiert mit sechs weiteren Google-Services: Compute Engine, App Engine, Cloud Storage, Persistent Disk, Cloud Key Management Service und Cloud Identity and Access Management. Weitere sind geplant.
Access Transparency hilft Anwendern nicht nur bei der Überwachung von Wartungsvorgängen an Workloads, es unterstützt Administratoren auch bei der Systemprüfung. Sie können Access Transparency Logs in bereits genutzte Security- und Eventmanagement-Tools integrieren. Dadurch wird die Systemprüfung erheblich vereinfacht und beschleunigt.
Auch, wenn Access Transparency die Transparenz bereits verbessert hat, sehen viele Kunden von Cloud-Anbietern noch Nachholbedarf. Diesen Anforderungen gerecht zu werden ist jedoch nicht von heute auf morgen möglich, denn Security ist ebenfalls von höchster Priorität für Cloud-Provider, und den Wunsch der Kunden nach Einsicht in möglichst viele Informationen mit den Sicherheitsanforderungen zu vereinbaren ist technisch herausfordernd. Google Access Transparency ist ein Schritt in die richtige Richtung – Provider und Kunden sind offenbar dabei, sich hinsichtlich der Informationstransparenz aufeinander zubewegen.
Google Cloud Firestore und Firebase Realtime Database
NoSQL-Datenbanken werden für diverse Anwendungstypen benötigt, die große, unstrukturierte Datensätze, schnelle Entwicklung und eine stabile Bereitstellung brauchen. Google bietet diverse NoSQL-Datenbankdienste für die mobile und die Web-App-Entwicklung an. Dazu gehören auch Firebase Realtime Database und die Datenbank Google Cloud Firestore.
Firebase Realtime Database speichert die Daten in JSON, damit sie in Echtzeit zur Verfügung stehen. Entwickler können sie mit iOS, JavaScript SDKs, Android und REST-APIs verwenden.
Firestore speichert Daten als JSON-Baumstruktur, weshalb es sich besonders für einfache Daten anbietet. Für große Datenmengen, die mitunter hierarchisch geordnet werden sollten, eignet sich der Dienst hingegen nicht.
Zu solchen komplexeren Workloads passt Google Cloud Firestone besser. Es ist die neuere der beiden Varianten und beinhaltet mehr Funktionen und Features als Firebase. Für neue Projekte in der Anwendungsentwicklung ist es meist die bessere Wahl, weil es auch für die serverseitige Bereitstellung mittels Node.js, Java, Python und Go SDKs verwendet werden kann.
Die Datenstruktur von Firestore verwendet Dokumente mit Feldern, die mit einem aktuellen Wert belegt werden. Diese werden dann als Sammlungen gespeichert und später anhand darauf bezogener Daten organisiert.
Beide Google-Tools unterstützen zur Erhöhung der Flexibilität für die Anwender das Arbeiten offline. Der Sicherheit dient, dass jede NoSQL-Datenbank ihre eigene Regelsprache verwendet und Nutzer zwingt, dies ebenfalls zu tun. Diese Regeln ermöglichen die granulare Kontrolle darüber, was in einer Datenbank gespeichert wird und wer darauf zugreifen kann.
Bei der Entscheidung zwischen den beiden Diensten spielen vor allem Ansprüche an die Skalierbarkeit und Zuverlässigkeit der Applikation eine Rolle. Firebase ist auf die Verfügbarkeitszonen innerhalb einer Google-Region begrenzt. Firestore ist ein multiregionaler Dienst.
Firestore ist besser skalierbar, die Grenze liegt hier bei einer Million paralleler Verbindungen und 10.000 Schreibvorgängen pro Sekunde. Wenn die Situation nicht eindeutig ist und das Budget es zulässt, können Entwickler auch beide Datenbanken für dasselbe Projekt verwenden, um herauszufinden, welcher Dienst sich besser eignet.