Empfehlungen

Recommender

Ein Recommender ist ein Dienst in Google Cloud, der Optimierungsempfehlungen für Google Cloud-Produkte und -Ressourcen bietet.

Jeder Recommender hat eine eindeutige Recommender-ID, die den Dienst identifiziert. Sie verwenden die Recommender-ID bei der Interaktion mit Empfehlungen, die die Recommender-Befehle gcloud oder die REST- oder RPC-APIs verwenden.

Weitere Informationen finden Sie unter Recommender.

Empfehlungen

Eine Empfehlung ist ein maschinengenerierter Vorschlag zur Optimierung der Nutzung von Cloud-Ressourcen. Sie enthält die Schritte, die erforderlich sind, um die Empfehlung umzusetzen. Recommender geben Empfehlungen basierend auf Ihrer Ressourcennutzung mit maschinellem Lernen oder Heuristiken an. Recommender speichert Empfehlungen mit der Entität Recommendation.

Eine Empfehlung hat die folgenden Hauptattribute:

Name

Der Name der Empfehlung wird im Feld name der Entität Recommendation gespeichert. Dies ist der Name für die Empfehlung im folgenden Format:

projects/TARGET_PROJECT_ID/locations/LOCATION/recommenders/RECOMMENDER_ID/recommendations/RECOMMENDATION_ID

wobei

  • TARGET_PROJECT_ID die ID des Projekts ist, in dem die Empfehlung abgegeben wurde.
  • LOCATION der Google Cloud-Standort ist, an dem sich die Ressourcen für Empfehlungen befinden (z. B. global oder us-central1-a).
  • RECOMMENDER_ID die vollständig qualifizierte Empfehlungs-ID ist (z. B. google.compute.instance.MachineTypeRecommender).
  • RECOMMENDATION_ID eine eindeutige ID für die Statistik ist.

Beschreibung

Die Empfehlungsbeschreibung wird im Feld description der Entität Recommendation gespeichert. Sie ist nur auf Englisch verfügbar. Dies ist ein für Menschen lesbarer Text, der die Empfehlung beschreibt. In der Google Cloud Console wird die Beschreibung angezeigt, wenn Sie auf das Feld zum Anzeigen weiterer Empfehlungsdetails klicken.

Recommender-Untertyp

Ein Recommender hat möglicherweise Untertypen für bestimmte Arten von Empfehlungen. Der Rollenempfänger für die Identitäts- und Zugriffsverwaltung hat beispielsweise die Untertypen REPLACE_ROLE und REMOVE_ROLE. Neue Untertypen werden möglicherweise im Laufe der Zeit den vorhandenen Recommendern hinzugefügt. Diese Übersicht enthält eine Liste aller verfügbaren Recommender. Weitere Informationen zu den verfügbaren Recommender-Untertypen finden Sie in der Recommender-Dokumentation.

Auswirkungen auf Recommender

Mit einer Auswirkung werden die voraussichtlichen Vorteile der empfohlenen Maßnahmen quantifiziert. Jede Empfehlung kann die folgenden Arten von Auswirkungen haben, die Ergebnisse darstellen, die durch das Anwenden der Empfehlung auftreten können:

  • Die primäre Wirkung ist obligatorisch und wird im Feld primaryImpact der Entität Recommendation gespeichert.

  • Sekundäre Auswirkungen sind optional und werden im Feld additionalImpact gespeichert.

Es gibt folgende primäre und sekundäre Auswirkungen:

  • COST: Geschätzter Geldbetrag, den Sie voraussichtlich sparen werden, wenn Sie eine bestimmte Empfehlung anwenden. Weitere Informationen finden Sie im Feld cost unter CostProjection.

  • PERFORMANCE: Geschätzter Anstieg oder Rückgang der Leistung. Beachten Sie, dass einige Leistungsempfehlungen zu zusätzlichen Kosten führen können (z. B. wenn die Empfehlung besteht, die CPU- oder Speicherzuweisung auf einer VM mit überlasteter VM zu erhöhen).

  • SECURITY: Geschätzte Verbesserung des Sicherheitsstatus. Weitere Informationen finden Sie im Feld details unter SecurityProjection.

  • MANAGEABILITY: Geschätzte Reduzierung des manuellen Aufwands.

  • SUSTAINABILITY: Geschätzte Reduzierung der CO₂-Emissionen. Weitere Informationen finden Sie im Feld carbon_footprint_kg_co2 unter SustainabilityProjection und Berichterstattung über die CO₂-Bilanz.

Aktion

Ein Operation ist die einzelne Aktion, die als einer der atomaren Schritte in einer vorgeschlagenen Empfehlung ausgeführt werden muss. Vorgänge können die folgenden Änderungen darstellen:

  • JSON-Objektfelder in einer Google Cloud-Ressource hinzufügen, entfernen oder ersetzen
  • JSON-Arrayfelder in einer Google Cloud-Ressource hinzufügen, entfernen oder ersetzen JSON-Array-Elemente durch Definieren eines Filters auf dem Pfad identifizieren
  • Eine neue Google Cloud-Ressource hinzufügen
  • Eine Google Cloud-Ressource löschen
  • Testvorgänge, um den ursprünglichen Status der Ressource anzuzeigen Mit den Testvorgängen lässt sich auch der aktuelle Status einer Ressource prüfen, bevor die Empfehlung angewendet wird.
  • Google Cloud-Ressourcen und -Felder kopieren und verschieben

Jeder Operation ist lose abhängig vom JSON-Pfad (RFC 6902) für Patches. Dieses RFC wurde ausgewählt, weil es eine konsistentere Darstellung von Ressourcenänderungen ermöglicht, einschließlich komplexer Szenarien, die in Google Cloud häufig vorkommen. IAM-Empfehlungen enthalten beispielsweise verschachtelte Arrays, die die Verschiebung der Rollenbindung eines Hauptkontos in eine andere Rolle widerspiegeln.

Für jede Ressource kann eine Änderungsliste (diff-basierte Ansicht) folgendermaßen generiert werden:

  • Ursprünglicher Status: Testvorgänge stellen den ursprünglichen Wert eines Felds dar. Dies ist die linke Seite der Differenzansicht.
  • Empfohlener Status: Nicht-Testvorgänge stellen die empfohlenen Änderungen pro Feld dar. Dies ist die rechte Seite der Differenzansicht.

Vorgangsgruppen

Eine Vorgangsgruppe besteht aus einem oder mehreren Vorgängen, die in einer bestimmten Reihenfolge ausgeführt werden müssen, wenn Sie eine Empfehlung anwenden. Eine Empfehlung kann eine oder mehrere Vorgangsgruppen haben. Vorgangsgruppen werden im Feld operationGroups der Entität Recommendation gespeichert.

Eine Empfehlung, die den Maschinentyp der VM-Instanz für eine Compute Engine-Instanzgruppe ausweist, hat beispielsweise zwei Vorgangsgruppen: eine, bei der Sie den Maschinentyp in der Instanzvorlage ändern, und eine andere, auf der Sie die Änderung auf eine bestimmte Instanzgruppe anwenden.

Da der erste Satz von Vorgängen abgeschlossen sein muss, bevor die zweite gestartet werden kann, sind diese als zwei separate Instanzgruppen in der Empfehlung definiert.

Eine Vorgangsgruppe kann einen Testvorgang enthalten. Testvorgänge prüfen, ob eine Empfehlung noch gültig ist. Die Empfehlung, den Maschinentyp der VM-Instanz zu ändern, hat einen Testvorgang, der prüft, ob der aktuelle Maschinentyp mit der Empfehlung identisch ist.

State

Empfehlungen durchlaufen viele Zustandsübergänge, nachdem sie vorgeschlagen wurden. Eine Empfehlung kann folgende Status haben:

  • ACTIVE, was bedeutet, dass die Empfehlung umgesetzt wurde, aber es wurden keine Maßnahmen ergriffen. Sie können die Empfehlung übernehmen, indem Sie sie beanspruchen. Aktive Empfehlungen können aktualisiert werden, wenn sich Ressourcen ändern.
  • CLAIMED bedeutet, dass Sie oder ein anderer Prozess die Empfehlung angefordert haben und eine Antwort in Bearbeitung ist. Wenn eine Empfehlung beansprucht wird, aktualisiert Recommender sie nicht, wenn sich Ressourcen ändern.
  • SUCCEEDED, was bedeutet, dass Sie oder ein anderer Prozess die Empfehlung auf die zugeordnete Ressource angewendet haben.
  • FAILED bedeutet, dass beim Anwenden der Empfehlung ein Fehler aufgetreten ist.
  • DISMISSED, was bedeutet, dass Sie oder ein anderer Prozess die Empfehlung abgelehnt haben, ohne sie auf die verknüpfte Ressource anzuwenden. Dieser Status verhindert, dass die Empfehlung in der Liste der Empfehlungen angezeigt wird, und wird normalerweise von einem Administrator übernommen, der sie aus verschiedenen Gründen ungültig gemacht hat. Außerdem wird verhindert, dass eine Empfehlung in den Status CLAIMED wechselt.

Informationen zum Status der Empfehlung werden im Feld stateInfo der Entität Recommendation gespeichert. Dazu gehören der Status der Empfehlung selbst sowie zusätzliche Statusmetadaten pro Empfänger.

Wenn eine Empfehlung in den Status CLAIMED, SUCCEEDED oder FAILED geändert wird, wird der Inhalt der Empfehlung nicht aktualisiert und die Empfehlung hat eine Zeitspanne von 90 Tagen ab dem Zeitpunkt die Statusänderung.

etag

Ein etag ist ein eindeutiger Fingerabdruck, der den aktuellen Status einer Empfehlung angibt. Jedes Mal, wenn sich die Empfehlung ändert, wird ein neuer etag-Wert zugewiesen. Dieser Wert wird im Feld etag der Entität Recommender gespeichert.

Nachdem Sie eine Empfehlung von Recommender mit gcloud-Befehlen oder API-Aufrufen abgerufen haben, verweisen Sie in nachfolgenden Vorgängen mit der Empfehlungs-ID und dem etag darauf. Dadurch werden Vorgänge nur dann ausgeführt, wenn die Empfehlung seit dem letzten Abruf nicht geändert wurde.

Priorität

Eine Priorität für eine Empfehlung hilft Ihnen, einen Hinweis darauf zu geben, welche Aktionen zuerst ausgeführt werden müssen. In diesem Feld werden die Werte P1, P2, P3 und P4 verwendet, wobei P4 als Standardpriorität festgelegt ist. Für jeden Recommender kann eine eigene Priorisierungsstrategie definiert werden.

Statusmetadaten

Wenn Sie eine Empfehlung anfordern oder sie als erfolgreich oder fehlgeschlagen markieren, können Sie zusätzliche Metadaten zum Vorgang mit Statusmetadaten einfügen.

Die Metadaten werden als key:value-Paare angegeben. Beispiel:

{
  "stateMetadata": {
    "priority" : "high",
    "tracking_number": "12345" }
}

Beim Aktualisieren des Feldes stateMetadata werden vorhandene Statusmetadaten überschrieben.

Letzte Aktualisierung

Die letzte Aktualisierungszeit gibt an, wann die Empfehlung zuletzt aktualisiert wurde. Der Inhalt der Empfehlung spiegelt den Status der Ressourcen zum letzten Zeitpunkt der Aktualisierung wider.

Beispiele

Das folgende Beispiel zeigt eine Größenempfehlung für eine VM-Instanz in Compute Engine.

{
  "content": {
    "operationGroups": [
      {
        "operations": [
          {
            "action": "test",
            "path": "/machineType",
            "resource": "//compute.googleapis.com/projects/example-project/zones/us-central1-a/instances/instance-rightsizing-2",
            "resourceType": "compute.googleapis.com/Instance",
            "valueMatcher": {
              "matchesPattern": ".*zones/us-central1-a/machineTypes/n1-standard-4"
            }
          },
          {
            "action": "replace",
            "path": "/machineType",
            "resource": "//compute.googleapis.com/projects/example-project/zones/us-central1-a/instances/instance-rightsizing-2",
            "resourceType": "compute.googleapis.com/Instance",
            "value": "zones/us-central1-a/machineTypes/custom-2-5120"
          }
        ]
      }
    ]
  },
  "description": "Save cost by changing machine type from n1-standard-4 to custom-2-5120.",
  "etag": "\"923daeebe926c12f\"",
  "recommenderSubtype": "CHANGE_MACHINE_TYPE",
  "lastRefreshTime": "2019-06-13T06:44:58Z",
  "name": "projects/32428390823/locations/us-central1-a/recommenders/google.compute.instance.MachineTypeRecommender/recommendations/a523ff7e-ed03-4143-a3a5-5b396b99cba9",
  "primaryImpact": {
    "category": "COST",
    "costProjection": {
      "cost": {
        "currencyCode": "USD",
        "units": "-73"
      },
      "duration": "2592000s"
    }
  },
  "stateInfo": {
    "state": "ACTIVE"
  }
}

Weitere Beispiele für Empfehlungen finden Sie in der Dokumentation für einzelne Empfehlungen unter Empfehlungen.

Insight-Referenz

Verweis auf eine verknüpfte Insight. Verweist Linkempfehlungen gegebenenfalls mit den zugehörigen Statistiken.

Konfiguration

In der Recommender-Konfiguration können Sie Folgendes tun:

  • Passen Sie die Erstellung von Statistiken und Empfehlungen an. Dazu ändern Sie einige Konfigurationsparameter, die zum Erstellen dieser Statistiken und Empfehlungen verwendet werden.
  • Jede Recommender-Konfiguration beginnt mit einigen Standardwerten für jeden Parameter. Jeder Parameter hat einen Wertebereich, mit dem Sie die Konfiguration anpassen können.
  • Die aktive Konfiguration ist die Konfiguration, die Sie zuletzt geändert haben. Es dauert bis zu 48 Stunden, bis jede Änderung an der Konfiguration wirksam wird.

Ein Beispiel für eine Recommender-Konfiguration ist das Festlegen eines Standard-CPU-Schwellenwerts oder eines Beobachtungszeitraums, um Empfehlungen zu erstellen, die besser zu Ihren Arbeitslasten, Anwendungen und Infrastrukturanforderungen passen.

Mit der Konfigurations-API können Sie die Konfiguration für einen Recommender oder Insight-Typ abrufen. Sie haben die Möglichkeit, die Konfigurationsparameter für ein einzelnes Projekt zu aktualisieren. Jede Recommender-Konfiguration oder Statistiktyp erfordert bestimmte Berechtigungen zum Anzeigen und Ändern der Konfigurationsparameter.

Hier eine Beispielantwort, die Konfigurationsparameter für einen Recommender einer inaktiven VM enthält:

{
  "name": "projects/project-number/locations/global/recommenders/google.iam.policy.Recommender/config",
  "recommenderGenerationConfig": {
    "params": {
      "minimum_observation_period": "P90D",
    }
  },
  "etag": "\"2f3c9b65cda6a4ba\"",
  "updateTime": "2020-11-03T04:41:15.330351Z"
}