Suggerimenti

Motori per suggerimenti

Un recommender è un servizio su Google Cloud che fornisce suggerimenti per l'ottimizzazione di prodotti e risorse Google Cloud.

Ogni motore per suggerimenti ti consente di visualizzare e gestire i relativi suggerimenti e insight utilizzando uno o più dei seguenti client:

  • Hub dei suggerimenti
  • Nel contesto dell'utilizzo dell'interfaccia utente (UI) del servizio nella console Google Cloud
  • API REST o Google Cloud CLI

Per maggiori dettagli sui motore per suggerimenti e sui client supportati, consulta Motori per suggerimenti.

Ogni motore per suggerimenti ha un ID univoco che identifica il servizio. Puoi utilizzare l'ID motore per suggerimenti quando interagisci con i suggerimenti utilizzando i comandi gcloud del motore per suggerimenti oppure le API REST o RPC.

Per saperne di più, consulta Motori per suggerimenti.

Suggerimenti

Un suggerimenti è generato automaticamente per ottimizzare l'utilizzo delle risorse Cloud. Include i passaggi necessari per adottare il suggerimento. I motori per suggerimenti offrono suggerimenti basati sull'uso delle risorse tramite machine learning o euristica. Il motore per suggerimenti archivia i suggerimenti utilizzando l'entità Recommendation.

Un consiglio ha i seguenti attributi principali:

Nome

Il nome del suggerimento viene archiviato nel campo name dell'entità Recommendation. Questo è il nome del suggerimento nel seguente formato:

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

dove:

  • TARGET_PROJECT_ID è l'ID del progetto in cui è stato dato il suggerimento.
  • LOCATION è la località Google Cloud in cui si trovano le risorse associate ai suggerimenti (ad esempio global o us-central1-a).
  • RECOMMENDER_ID è l'ID consigliato completo (ad esempio, google.compute.instance.MachineTypeRecommender).
  • RECOMMENDATION_ID è un ID univoco per il consiglio.

Descrizione

La descrizione del suggerimento viene archiviata nel campo description dell'entità Recommendation. È disponibile solo in inglese. Si tratta di un testo leggibile che descrive il suggerimento. Nella console Google Cloud, la descrizione appare quando fai clic per visualizzare ulteriori dettagli del suggerimento.

Sottotipo motore per suggerimenti

Un motore per suggerimenti potrebbe avere sottotipi per tipi specifici di suggerimenti. Ad esempio, il motore per suggerimenti del ruolo Identity and Access Management ha i sottotipi REPLACE_ROLE e REMOVE_ROLE. Nel tempo potrebbero essere introdotti nuovi sottotipi ai motore per suggerimenti esistenti. Questa panoramica fornisce un elenco di tutti i suggerimenti disponibili. Per saperne di più sui sottotipi di suggerimenti disponibili, consulta la documentazione del motore per suggerimenti.

Impatto del motore per suggerimenti

Un impatto quantifica i vantaggi previsti dell'esecuzione dell'azione consigliata. Ogni consiglio può avere i seguenti tipi di impatto che rappresentano i risultati che possono derivare dall'applicazione del consiglio:

  • L'impatto principale è obbligatorio e viene archiviato nel campo primaryImpact dell'entità Recommendation.

  • Gli impatti secondari sono facoltativi e memorizzati nel campo additionalImpact.

Esistono i seguenti tipi di impatto primario e secondario:

  • COST: importo stimato di denaro che si prevede di risparmiare (o sostenere) se applichi un determinato consiglio. Per informazioni dettagliate, fai riferimento al campo cost in CostProjection.

  • PERFORMANCE: aumento o diminuzione del rendimento stimato. Tieni presente che alcuni suggerimenti sulle prestazioni possono comportare costi aggiuntivi (ad esempio, se si consiglia di aumentare l'allocazione di CPU o memoria su una VM sovrautilizzata).

  • SECURITY: miglioramento stimato della security posture. Per maggiori dettagli, fai riferimento al campo details in SecurityProjection.

  • MANAGEABILITY: riduzione stimata del lavoro manuale.

  • SUSTAINABILITY: riduzione stimata delle emissioni di anidride carbonica. Per informazioni dettagliate, consulta il campo carbon_footprint_kg_co2 in SustainabilityProjection e Carbon Footprint metodologia di reporting.

Operazione

Un elemento Operation è la singola azione che deve essere eseguita come uno dei passaggi atomici in un suggerimento suggerito. Le operazioni possono rappresentare i seguenti cambiamenti:

  • Aggiungi, rimuovi o sostituisci i campi degli oggetti JSON in una risorsa Google Cloud.
  • Aggiungi, rimuovi o sostituisci campi di array JSON in una risorsa Google Cloud. Gli elementi dell'array JSON vengono identificati definendo un filtro sul percorso.
  • Aggiungi una nuova risorsa Google Cloud.
  • Eliminare una risorsa Google Cloud.
  • Testare le operazioni per indicare lo stato originale della risorsa. Le operazioni di test possono essere utilizzate anche per verificare lo stato attuale di una risorsa prima di applicare il suggerimento.
  • Copia e sposta risorse e campi di Google Cloud.

Ogni Operation è basato sul formato JSON Path (RFC 6902) per le patch. Questo RFC è stato selezionato perché fornisce un modo più coerente per riflettere le modifiche alle risorse, inclusi scenari complessi comunemente presenti in Google Cloud. Ad esempio, i suggerimenti IAM prevedono array nidificati per riflettere lo spostamento dell'associazione del ruolo di un'entità a un ruolo diverso.

Per ogni risorsa, è possibile generare un elenco modifiche (vista basata sulle differenze) nel seguente modo:

  • Stato originale: le operazioni di test rappresentano il valore originale di un campo. Rappresenta il lato sinistro della visualizzazione delle differenze.
  • Stato consigliato: le operazioni non di test rappresentano le modifiche consigliate per campo. Rappresenta il lato destro della visualizzazione delle differenze.

Gruppi di operazioni

Un gruppo operativo è un insieme di una o più operazioni che devono essere eseguite in un ordine specifico quando applichi un suggerimento. Un suggerimento può avere uno o più gruppi operativi. I gruppi di operazioni sono archiviati nel campo operationGroups nell'entità Recommendation.

Ad esempio, un suggerimento che suggerisce di modificare il tipo di macchina di un'istanza VM per un gruppo di istanze Compute Engine ha due gruppi operativi: uno in cui modifichi il tipo di macchina nel modello di istanza e un altro in cui applichi la modifica a un determinato gruppo di istanze.

Poiché il primo insieme di operazioni deve essere completato prima di poter avviare il secondo, nel suggerimento vengono definiti due gruppi di istanze separati.

Un gruppo di operazioni può includere un'operazione test. Le operazioni di test eseguono controlli per garantire che un suggerimento sia ancora valido. Il suggerimento che suggerisce di modificare il tipo di macchina dell'istanza VM prevede un'operazione di test che verifica se il tipo di macchina attuale è lo stesso di quando è stato inviato il suggerimento.

Stato

I consigli passano attraverso molte transizioni di stato dopo essere stati proposti. Un consiglio può avere i seguenti stati:

  • ACTIVE, il che significa che il suggerimento è stato fatto, ma non è stata intrapresa alcuna azione in risposta al suggerimento. Il consiglio può essere applicato rivendicandolo. I suggerimenti attivi possono essere aggiornati quando le risorse cambiano.
  • CLAIMED, indica che tu o un'altra procedura avete rivendicato il consiglio ed è in corso una risposta. Quando viene rivendicato un suggerimento, il motore per suggerimenti non lo aggiorna quando le risorse cambiano.
  • SUCCEEDED, il che significa che tu o un altro processo avete applicato il suggerimento alla risorsa associata.
  • FAILED, il che significa che il tentativo di applicare il consiglio non è riuscito.
  • DISMISSED, il che significa che tu o un altro processo avete ignorato il suggerimento senza applicarlo alla risorsa associata. Questo stato impedisce che il suggerimento venga visualizzato nell'elenco dei suggerimenti e in genere viene applicato da un amministratore che lo ha invalidato per vari motivi. Impedisce inoltre di passare un suggerimento allo stato CLAIMED.

Le informazioni sullo stato del suggerimento vengono archiviate nel campo stateInfo dell'entità Recommendation. Ciò include lo stato stesso del suggerimento ed eventuali metadati aggiuntivi sullo stato per suggerimenti.

Quando un consiglio viene modificato in CLAIMED, SUCCEEDED o FAILED, il suo contenuto non viene aggiornato e il suggerimento ha una durata di 90 giorni dal momento della modifica dello stato.

etag

Un etag è un'impronta digitale univoca che identifica lo stato attuale di un consigli. Ogni volta che il suggerimento cambia, viene assegnato un nuovo valore etag. Questo valore è archiviato nel campo etag dell'entità Recommender.

Dopo aver recuperato un suggerimento dal motore per suggerimenti utilizzando i comandi gcloud o le chiamate API, ne farai riferimento nelle operazioni successive utilizzando sia l'ID suggerimento sia l'etag. In questo modo, ti assicuri che tutte le operazioni vengano eseguite solo se il suggerimento non è cambiato dall'ultima volta che lo hai recuperato.

Priorità

Una priorità per un suggerimento aiuta a dare un'indicazione delle azioni da intraprendere per prime. Questo campo viene fornito con i valori P1, P2, P3 e P4 con P4 impostato come priorità predefinita. Per ogni recommender è possibile definire una propria strategia di assegnazione delle priorità.

Metadati di stato

Quando rivendichi un suggerimento o lo contrassegni come riuscito o non riuscito, puoi includere metadati aggiuntivi sull'operazione con i metadati di stato.

I metadati sono specificati come coppie key:value. Ad esempio:

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

Gli aggiornamenti al campo stateMetadata sovrascrivono i metadati di stato esistenti.

Data/ora ultimo aggiornamento

L'ora dell'ultimo aggiornamento indica la data dell'ultimo aggiornamento del suggerimento dal processo di generazione. I contenuti del suggerimento riflettono lo stato delle risorse al momento dell'ultimo aggiornamento.

Esempi

L'esempio seguente mostra un suggerimento sul dimensionamento di un'istanza VM 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"
  }
}

Per altri esempi di suggerimenti, consulta la documentazione per i singoli consiglieri in Motori per suggerimenti.

Informazioni di riferimento

Riferimento a un'informazione associata. Fa riferimento ai consigli sui link con gli approfondimenti associati, se presenti.

Configurazione

Tramite la configurazione del motore per suggerimenti, puoi eseguire queste operazioni:

  • Personalizza il modo in cui vengono generati insight e suggerimenti. Per farlo, devi modificare alcuni dei parametri di configurazione utilizzati per generare questi insight e suggerimenti.
  • Ogni configurazione del motore per suggerimenti inizia con alcuni valori predefiniti per ciascun parametro. Ogni parametro ha un intervallo di valori che puoi utilizzare per personalizzare la configurazione.
  • La configurazione attiva è quella che hai modificato per ultima. Per ogni modifica apportata alla configurazione, sono necessarie fino a 48 ore prima che la configurazione abbia effetto.

Un esempio di configurazione di un motore per suggerimenti è l'impostazione di una soglia di CPU predefinita o di un periodo di osservazione per creare suggerimenti più adatti ai carichi di lavoro, alle applicazioni e alle esigenze dell'infrastruttura.

Con l'API di configurazione, puoi recuperare la configurazione per un tipo di motore per suggerimenti o insight. Puoi scegliere di aggiornare i parametri di configurazione per un singolo progetto. Ogni configurazione del motore per suggerimenti o tipo di insight richiede autorizzazioni specifiche per visualizzare e modificare i parametri di configurazione.

Ecco un esempio di risposta contenente i parametri di configurazione per un motore per suggerimenti su VM inattiva:

{
  "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"
}