Was ist Google Service Control?

Google Service Control ist ein Infrastrukturdienst der Google Cloud Platform. Er bietet Funktionen der Steuerungsebene für verwaltete Dienste wie Protokollierung, Überwachung und Statusprüfungen. Er wird in großem Umfang von Google APIs und Google Cloud-Endpunkten verwendet. Diese Seite bietet einen Überblick seiner Funktionsweise.

Warum Service Control?

Wenn Sie einen Clouddienst entwickeln, beginnen Sie normalerweise mit den geschäftlichen Anforderungen und dem Architekturkonzept und fahren dann mit der API-Definition und -Implementierung fort. Bevor Sie Ihren Dienst produktiv einsetzen, sind viele Überlegungen auf Steuerungsebene erforderlich:

  • Zugriff auf den Dienst steuern
  • API-Schlüssel prüfen
  • Protokollierungs- und Überwachungsdaten an Nutzer und Ersteller senden
  • Dashboards zum Visualisieren solcher Daten erstellen und verwalten
  • Die Komponenten der Steuerungsebene mit Ihrem Dienst skalieren

Service Control ist eine Steuerebenenlösung, von der diese Anforderungen mit hoher Effizienz, Skalierbarkeit und Verfügbarkeit erfüllt werden. Service Control bietet eine einfache öffentliche API, auf die von beliebigen Standorten aus mit JSON REST- und gRPC-Clients zugegriffen werden kann. Wenn Sie Ihren Dienst also vom lokalen Standort zu einem Cloud-Anbieter oder von einem Cloudanbieter zu einem anderen verschieben, brauchen Sie Ihre Steuerebenenlösung nicht zu wechseln.

Mit Google Cloud Endpoints erstellte Dienste sind bereits in Service Control integriert. Cloud Endpoints sendet Protokollierungs- und Überwachungsdaten über Service Control für jede Anforderung, die durch seinen Proxy empfangen wird. Wenn Sie weitere Protokollierungs- und Überwachungsdaten für Ihren Cloud Endpoints-Dienst melden müssen, erreichen Sie die Service Control API direkt von Ihrem Dienst aus.

Die Definition der Service Control API ist Open Source und auf GitHub verfügbar. Wenn Sie den DNS-Namen ändern, können Sie andere Implementierungen der Service Control API verwenden.

Architektur

Google Service Control funktioniert mit einer Reihe verwalteter Dienste und deren Vorgänge (Aktivitäten), prüft, ob ein Vorgang fortgesetzt werden kann, und meldet abgeschlossene Vorgänge. Im Hintergrund nutzt es andere Google Cloud-Dienste wie Google Service Management, Stackdriver Logging und Stackdriver Monitoring, während ihre Komplexität für die Dienstersteller unsichtbar bleibt. Es nutzt Caching, Stapelung, Aggregierung und Wiederholungsversuche, um mehr Leistung und Verfügbarkeit zur Verfügung zu stellen als die einzelnen enthaltenen Backend-Systeme.

Die Gesamtarchitektur eines Dienstes, der Google Service Control verwendet.
Abbildung 1: Google Service Control verwenden.

Verwaltete Dienste

Ein verwalteter Dienst ist ein durch Google Service Management verwalteter Netzwerkdienst. Jeder verwaltete Dienst hat einen eindeutigen Dienstnamen wie example.googleapis.com, der ein vollständig qualifizierter DNS-Name wie RFC 1035 sein muss.

Beispiel:

  • Google Cloud Pub/Sub (pubsub.googleapis.com)
  • Google Cloud Vision (vision.googleapis.com)
  • Google Cloud Bigtable (bigtable.googleapis.com)
  • Google Cloud Datastore (datastore.googleapis.com)

Google Service Management verwaltet den Lebenszyklus jedes Dienstes und seiner Konfiguration, der zum Anpassen des Verhaltens von Google Service Control verwendet wird. Dienstkonfigurationen werden auch von der Google Cloud Platform Console für die Anzeige von APIs und ihrer Einstellungen, zum Aktivieren/Deaktivieren von APIs und mehr verwendet.

Vorgänge

Google Service Control verwendet das generische Konzept eines Vorgangs, um die Aktivitäten eines verwalteten Dienstes wie API-Aufrufe und Ressourcennutzung darzustellen. Jeder Vorgang ist mit einem verwalteten Dienst und einem speziellen Dienstnutzer verbunden und hat eine Reihe von Eigenschaften zur Beschreibung des Vorgangs, zum Beispiel den API-Methodennamen und den Wert der Ressourcennutzung. Weitere Informationen finden Sie unter Vorgangsdefinition.

Prüfen

Die Service Control API bietet die Methode services.check, die bestimmt, ob zugelassen werden soll, dass ein Vorgang für einen verwalten Dienst fortgesetzt werden.

Beispiel:

  • Prüfen Sie, ob der Nutzer noch aktiv ist.
  • Prüfen Sie, ob der Nutzer den Dienst aktiviert hat.
  • Prüfen Sie, ob der API-Schlüssel noch gültig ist.

Indem es mehrere Prüfungen in einem einzelnen API-Anruf durchführt, bietet es eine bessere Leistung, mehr Zuverlässigkeit und geringere Entwicklungskosten für Dienstanbieter im Vergleich zur Überprüfung mit mehreren Backend-Systemen.

Bericht

Die Service Control API bietet die Methode services.report, die abgeschlossene Vorgänge für einen verwalteten Dienst an verschiedene Backend-Systeme wie Stackdriver Logging und Stackdriver Monitoring meldet. Die gemeldeten Daten werden auf der Google Cloud Platform Console angezeigt und mit geeigneten APIs abgerufen, zum Beispiel den Stackdriver Logging und Stackdriver Monitoring APIs.

Nächste Schritte

  • Unsere Anleitung Erste Schritte enthält Informationen zum Einrichten und Verwenden der Google Service Control API.