Consigli

Motori per suggerimenti

Un motore per suggerimenti è un servizio su Google Cloud che fornisce consigli di ottimizzazione per i prodotti e le risorse Google Cloud.

Ogni recommender ti consente di visualizzare e gestire i relativi consigli e approfondimenti utilizzando uno o più dei seguenti client:

  • Hub dei suggerimenti
  • In contesto utilizzando l'interfaccia utente (UI) del servizio nella console Google Cloud
  • API REST o Google Cloud CLI

Per informazioni dettagliate sui consigliatori e sui client supportati, consulta Consigliatori.

Ogni consigliatore ha un ID consigliatore univoco che identifica il servizio. L'ID del motore per suggerimenti viene utilizzato quando interagisci con i consigli utilizzando i comandi gcloud del motore per suggerimenti o le API REST o RPC.

Per ulteriori informazioni, consulta Consigliatori.

Consigli

Un suggerimento è un suggerimento generato automaticamente per ottimizzare l'utilizzo delle risorse cloud. Sono inclusi i passaggi necessari per intraprendere azioni in base al consiglio. I recommender forniscono consigli in base all'utilizzo delle risorse, utilizzando il machine learning o le procedure di euristica. Il Recommender memorizza i consigli utilizzando l'entità Recommendation.

Un consiglio ha i seguenti attributi principali:

Nome

Il nome del consiglio viene memorizzato nel campo name dell'entità Recommendation. Questo è il nome del consiglio 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 fornito il consiglio.
  • LOCATION è la località Google Cloud in cui si trovano le risorse associate ai consigli (ad esempio global o us-central1-a).
  • RECOMMENDER_ID è l'ID del recommender completo (ad es.google.compute.instance.MachineTypeRecommender).
  • RECOMMENDATION_ID è un ID univoco per il consiglio.

Descrizione

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

Sottotipo di consiglio

Un recommender potrebbe avere sottotipi per tipi specifici di consigli. Ad esempio, il consigliatore dei ruoli di Identity and Access Management ha i sottotipi REPLACE_ROLE e REMOVE_ROLE. Nel corso del tempo, potrebbero essere introdotti nuovi sottotipi nei recommender esistenti. Questa panoramica fornisce un elenco di tutti i consigliatori disponibili. Per ulteriori informazioni sui sottotipi di consigli disponibili, consulta la documentazione del recommender.

Impatto del recommender

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

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

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

Esistono i seguenti tipi di impatto principale e secondario:

  • COST: importo stimato che risparmierai (o che dovrai sostenere) se applichi un determinato consiglio. Per maggiori dettagli, consulta il campo cost in CostProjection.

  • PERFORMANCE: aumento o diminuzione stimata del rendimento. Tieni presente che alcuni consigli per il rendimento possono comportare costi aggiuntivi (ad esempio, se un consiglio è aumentare l'allocazione di CPU o memoria su una VM sovrautilizzata).

  • SECURITY: miglioramento stimato della postura di sicurezza. Per maggiori dettagli, consulta il campo details in SecurityProjection.

  • MANAGEABILITY: riduzione stimata del lavoro manuale.

  • SUSTAINABILITY: riduzione stimata delle emissioni di anidride carbonica. Per maggiori dettagli, consulta il campo carbon_footprint_kg_co2 in SustainabilityProjection e Metodologia di report di Carbon Footprint.

Operazione

Un Operation è la singola azione che deve essere eseguita come uno dei passaggi atomici in un consiglio suggerito. Le operazioni possono rappresentare le seguenti modifiche:

  • Aggiungi, rimuovi o sostituisci i campi degli oggetti JSON in una risorsa Google Cloud.
  • Aggiungi, rimuovi o sostituisci i campi dell'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.
  • Elimina una risorsa Google Cloud.
  • Esegui operazioni di test per indicare lo stato originale della risorsa. Le operazioni di test possono essere utilizzate anche per verificare lo stato corrente di una risorsa prima di applicare il consiglio.
  • Copia e sposta risorse e campi Google Cloud.

Ogni Operation si basa liberamente sul formato JSON Path (RFC 6902) per le patch. Questa RFC è stata selezionata perché fornisce un modo più coerente per riflettere le modifiche alle risorse, inclusi scenari complessi che si verificano comunemente in Google Cloud. Ad esempio, i suggerimenti IAM richiedono array nidificati per riflettere il trasferimento dell'associazione del ruolo di un entità a un ruolo diverso.

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

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

Gruppi di operazioni

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

Ad esempio, un consiglio che suggerisce di modificare il tipo di macchina dell'istanza VM per un gruppo di istanze Compute Engine ha due gruppi di operazioni: 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 che sia possibile avviare il secondo, nel consiglio vengono definiti come due gruppi di istanze distinti.

Un gruppo di operazioni può includere un'operazione di test. Le operazioni di test eseguono controlli per assicurarsi che un consiglio sia ancora valido. Il suggerimento che suggerisce di modificare il tipo di macchina dell'istanza VM ha un'operazione di test che controlla se il tipo di macchina corrente è lo stesso di quando è stato fornito il suggerimento.

Stato

I consigli vengono sottoposti a molte transizioni di stato dopo essere stati proposti. Un consiglio può avere i seguenti stati:

  • ACTIVE, il che significa che il consiglio è stato fornito, ma non sono state intraprese azioni in risposta. Il consiglio può essere applicato se lo richiedi. I consigli attivi possono essere aggiornati quando le risorse cambiano.
  • CLAIMED, il che significa che tu o un'altra procedura avete rivendicato il consiglio e che è in corso una risposta. Quando un consiglio viene rivendicato, Recommender non lo aggiorna quando le risorse cambiano.
  • SUCCEEDED, il che significa che tu o un altro processo avete applicato il consiglio alla risorsa associata.
  • FAILED, il che significa che un tentativo di applicare il consiglio non è riuscito.
  • DISMISSED, il che significa che tu o un'altra procedura avete ignorato il consiglio senza applicarlo alla risorsa associata. Questo stato impedisce la visualizzazione del consiglio nell'elenco dei consigli e viene solitamente applicato da un amministratore che lo ha invalidato per vari motivi. Inoltre, impedisce a un consiglio di passare allo stato CLAIMED.

Le informazioni sullo stato del consiglio vengono memorizzate nel stateInfo campo dell'entità Recommendation. Sono inclusi lo stato stesso del consiglio e eventuali metadati aggiuntivi relativi allo stato per ciascun consigliere.

Quando un consiglio viene modificato in stato CLAIMED, SUCCEEDED o FAILED, i contenuti del consiglio non vengono aggiornati e il consiglio ha un periodo di attività di 90 giorni dal momento della modifica dello stato.

etag

Un etag è un'impronta univoca che identifica lo stato corrente di un consiglio. Ogni volta che il consiglio cambia, viene assegnato un nuovo valore etag. Questo valore viene memorizzato nel campo etag dell'entità Recommender.

Dopo aver recuperato un consiglio dal Recommender utilizzando i comandi gcloud o le chiamate API, fai riferimento al consiglio nelle operazioni successive utilizzando sia l'ID consiglio sia l'etag. In questo modo, le eventuali operazioni vengono eseguite solo se il consiglio non è cambiato dall'ultima volta che lo hai recuperato.

Priorità

La priorità assegnata a un consiglio consente di capire quali azioni devono essere affrontate per prime. Questo campo ha i valori P1, P2, P3 e P4, con P4 impostato come priorità predefinita. Per ogni sistema di consigli è possibile definire una propria strategia di definizione delle priorità.

Metadati dello stato

Quando richiedi un consiglio o lo contrassegni come riuscito o non riuscito, puoi includere metadati aggiuntivi sull'operazione con i metadati dello 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

La data/ora dell'ultimo aggiornamento indica l'ultima volta che il consiglio è stato aggiornato dal processo di generazione. I contenuti del consiglio riflettono lo stato delle risorse all'ora dell'ultimo aggiornamento.

Esempi

L'esempio seguente mostra un suggerimento per il 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 consigli, consulta la documentazione relativa ai singoli consigli in Consigli.

Riferimento agli approfondimenti

Riferimento a un approfondimento associato. I riferimenti collegano i consigli ai relativi approfondimenti, se presenti.

Configurazione

Con la configurazione del recommender puoi:

  • Personalizza il modo in cui vengono generati approfondimenti e consigli. Ciò avviene modificando alcuni dei parametri di configurazione utilizzati per generare queste informazioni e questi consigli.
  • Ogni configurazione del recommender 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 diventi effettiva.

Un esempio di configurazione di un sistema di consigli è l'impostazione di una soglia CPU predefinita o di un periodo di osservazione per creare consigli più adatti alle esigenze di workload, applicazioni e infrastruttura.

Con l'API di configurazione, puoi recuperare la configurazione di un tipo di consiglio o di informazione. Hai la possibilità di aggiornare i parametri di configurazione per un singolo progetto. Ogni tipo di configurazione o di informazione del recommender richiede autorizzazioni specifiche per visualizzare e modificare i parametri di configurazione.

Ecco un esempio di risposta contenente i parametri di configurazione per un recommender 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"
}