Empfehlungen

Recommender

Ein Recommender ist ein Dienst in Google Cloud, der Nutzungsempfehlungen für Cloud-Ressourcen bietet. Recommender gelten speziell für ein einzelnes Google Cloud-Produkt und einen Ressourcentyp. Ein einzelnes Produkt kann mehrere Empfehlungen haben, von denen jeder eine andere Art von Empfehlung für eine andere Ressource bietet.

Jeder Recommender hat eine eindeutige Recommender-ID, die den Dienst intern 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 intern 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 Empfehlung 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. Ein neuer Untertyp kann eingeführt werden, wenn wichtige Änderungen an recommendation.content oder recommendation.primary_impact.category in einem abwärtskompatiblen Modus eingeführt werden müssen. Im Abschnitt "Recommender" finden Sie eine Liste der Untertypen für einen bestimmten Recommender.

Auswirkungen

Eine Empfehlung kann zwei Arten von Auswirkungen haben: primäre (immer verfügbar) und zusätzliche (optional).

Die primäre Auswirkung wird im Feld primaryImpact der Entität Recommendation gespeichert. Die stellt den Vorteil dar, den Sie durch Anwenden der Empfehlung haben können.

Weitere Auswirkungen werden im Feld additionalImpact gespeichert. Sie stellen zusätzliche positive und negative Ergebnisse dar, die sich aus der Anwendung der Empfehlung ergeben können. Beispiele für Auswirkungen sind höhere Kosten oder Sicherheitsaspekte.

Wenn Sie beispielsweise eine Empfehlung mit der primären Auswirkung PERFORMANCE anwenden, kann dies zusätzliche Kosten verursachen, wenn die Empfehlung darin besteht, die CPU- oder Arbeitsspeicherzuordnung zu erhöhen, um die Leistung zu verbessern.

Auswirkungen auf Empfehlungen haben eine Kategorie. Die Kategorie ist die Art der erwarteten Auswirkungen (z. B. Kosten, Leistung oder Sicherheit). Wenn die Kategorie Kosten lautet, enthält die Auswirkung auch eine Kostenprojektion. Die Kostenprojektion ist der Geldbetrag, den Sie erwarten, wenn Sie die Empfehlung annehmen.

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 Mitglieds 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.

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.