Consigli

Motori per suggerimenti

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

Ogni motore per suggerimenti consente di visualizzare e gestire i suggerimenti e gli insight utilizzando l'API REST e Google Cloud CLI. Alcuni autori di consigli ti consentono anche di visualizzare e gestire i loro consigli e approfondimenti utilizzando una o più delle seguenti opzioni:

  • Active Assist
  • Hub FinOps, che fornisce consigli per l'ottimizzazione dei costi per i gestori degli account di fatturazione.
  • La pagina Ottimizzazione in Cloud Hub, che fornisce suggerimenti per l'ottimizzazione dei costi per sviluppatori e amministratori della piattaforma.
  • Nel contesto, utilizzando l'interfaccia utente (UI) del servizio nella console Google Cloud

Per informazioni dettagliate sui sistemi di raccomandazione e sui client supportati, vedi Sistemi di raccomandazione.

Ogni motore per suggerimenti ha un ID univoco che identifica il servizio. Utilizzi l'ID del 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.

Consigli

Un suggerimento è un suggerimento generato automaticamente per ottimizzare l'utilizzo delle risorse cloud. Include i passaggi necessari per intervenire in base al consiglio. I motori per suggerimenti forniscono suggerimenti in base all'utilizzo delle risorse, utilizzando il machine learning o l'euristica. 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 formulato il consiglio.
  • LOCATION è la Google Cloud posizione in cui si trovano le risorse associate ai consigli (ad esempio global o us-central1-a).
  • RECOMMENDER_ID è l'ID motore per suggerimenti completo (ad esempio, google.compute.instance.MachineTypeRecommender).
  • RECOMMENDATION_ID è un ID univoco per il consiglio.

Descrizione

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

Sottotipo di motore per suggerimenti

Un motore per suggerimenti potrebbe avere sottotipi per tipi specifici di consigli. Ad esempio, il suggeritore di ruoli Identity and Access Management ha i sottotipi REPLACE_ROLE e REMOVE_ROLE. Nel tempo potrebbero essere introdotti nuovi sottotipi nei sistemi di raccomandazione esistenti. Questa panoramica fornisce un elenco di tutti i sistemi di raccomandazione 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 del comportamento consigliato. 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 memorizzato 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: l'importo stimato che prevedi di risparmiare (o sostenere) se applichi un determinato suggerimento. Per maggiori dettagli, consulta il campo cost in CostProjection.

  • PERFORMANCE: aumento o diminuzione stimati del rendimento. Tieni presente che alcuni consigli sul rendimento possono comportare costi aggiuntivi (ad esempio, se un consiglio è quello di aumentare l'allocazione della memoria o della CPU 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 è l'azione individuale 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 Google Cloud risorsa.
  • Elimina una Google Cloud risorsa.
  • Operazioni di test 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 Google Cloud risorse e campi.

Ogni Operation si basa vagamente 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 riscontrati in Google Cloud. Ad esempio, i suggerimenti IAM includono array nidificati per riflettere lo spostamento dell'associazione di ruoli di un'entità a un ruolo diverso.

Per ogni risorsa, è possibile generare un elenco delle modifiche (visualizzazione 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 differenze.
  • Stato consigliato: le operazioni non di test rappresentano le modifiche consigliate per campo. Rappresenta il lato destro della visualizzazione 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 suggerimento. Un suggerimento può avere uno o più gruppi di operazioni. I gruppi di operazioni vengono memorizzati nel campo operationGroups dell'entità Recommendation.

Ad esempio, un suggerimento che ti consiglia 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 template di istanza e un altro in cui applichi la modifica a un gruppo di istanze specifico.

Poiché il primo insieme di operazioni deve essere completato prima che possa essere avviato il secondo, questi vengono definiti come due gruppi di istanze separati nel consiglio.

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

Stato

I suggerimenti 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 rivendicandolo. I consigli attivi possono essere aggiornati quando le risorse cambiano.
  • CLAIMED, il che significa che tu o un altro processo avete rivendicato il suggerimento e che è in corso una risposta. Quando un suggerimento viene rivendicato, Recommender 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 suggerimento non è riuscito.
  • DISMISSED, il che significa che tu o un altro processo avete ignorato il suggerimento senza applicarlo alla risorsa associata. Questo stato impedisce la visualizzazione del suggerimento nell'elenco dei suggerimenti e viene in genere 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 suggerimento vengono memorizzate nel campo stateInfo dell'entità Recommendation. Sono inclusi lo stato del suggerimento e tutti i metadati di stato aggiuntivi per suggerimento.

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

etag

Un etag è un'impronta univoca che identifica lo stato attuale di un suggerimento. 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 da Recommender utilizzando i comandi gcloud o le chiamate API, fai riferimento a quest'ultimo nelle operazioni successive utilizzando sia l'ID consiglio sia l'etag. In questo modo viene garantito che le operazioni vengano eseguite solo se il suggerimento non è cambiato dall'ultima volta che lo hai recuperato.

Priorità

Una priorità per un consiglio indica quali azioni devono essere affrontate per prime. Questo campo include i valori P1, P2, P3 e P4, con P4 impostato come priorità predefinita. Ogni motore per suggerimenti può avere una propria strategia di definizione delle priorità.

Metadati dello stato

Quando rivendichi un consiglio 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 l'ultima volta che il suggerimento è stato aggiornato dal processo di generazione. Il contenuto del consiglio riflette lo stato delle risorse all'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 dei singoli motori per suggerimenti in Motori per suggerimenti.

Riferimento all'approfondimento

Riferimento a un insight associato. I link di riferimento collegano i consigli agli insight associati, se presenti.

Configurazione

Tramite la configurazione del motore per suggerimenti, puoi:

  • Personalizza il modo in cui vengono generati approfondimenti e consigli. A questo scopo, vengono modificati alcuni dei parametri di configurazione utilizzati per generare queste informazioni e questi suggerimenti.
  • Ogni configurazione del sistema di raccomandazione 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, l'applicazione della modifica richiede fino a 48 ore.

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 alle esigenze dei tuoi workload, delle applicazioni e dell'infrastruttura.

Con l'API di configurazione, puoi recuperare la configurazione per un motore per suggerimenti o un tipo di insight. Hai la possibilità di aggiornare i parametri di configurazione per un singolo progetto. Ogni configurazione di consigli 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 di VM inattive:

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