Suggerimenti

Motori per suggerimenti

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

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

Per ulteriori informazioni, consulta i motori per suggerimenti.

Suggerimenti

Un suggerimento è un suggerimento generato automaticamente per ottimizzare l'utilizzo delle risorse Cloud. Include i passaggi necessari per intervenire in base al suggerimento. I motore per suggerimenti forniscono consigli basati sull'utilizzo delle risorse, tramite machine learning. Il motore per suggerimenti archivia i suggerimenti utilizzando l'entità Recommendation.

Un suggerimento ha i seguenti attributi principali:

Nome

Il nome del suggerimento è 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 formulato 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 motore per suggerimenti completo (ad esempio google.compute.instance.MachineTypeRecommender).
  • RECOMMENDATION_ID è un ID univoco del consiglio.

Descrizione

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

Sottotipo motore per suggerimenti

Un motore per suggerimenti potrebbe avere sottotipi per tipi specifici di consigli. 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 per i 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 suggerimento 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 effetti secondari sono facoltativi e vengono memorizzati nel campo additionalImpact.

Esistono i seguenti tipi di impatto primario e secondario:

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

  • PERFORMANCE: aumento o diminuzione stimato del rendimento. Tieni presente che alcuni suggerimenti sulle prestazioni possono comportare costi aggiuntivi, ad esempio in caso di aumento dell'allocazione di CPU o memoria su una VM sovrautilizzata.

  • SECURITY: miglioramento stimato della postura di sicurezza. 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 Metodologia dei report Carbon Footprint.

Operazione

Un'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 di 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 nel percorso.
  • Aggiungere una nuova risorsa Google Cloud.
  • Eliminare una risorsa Google Cloud.
  • Testa 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.
  • Copiare e spostare 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 comunemente riscontrati 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 di modifiche (visualizzazione basata sulle differenze) nel seguente modo:

  • Stato originale: le operazioni di test rappresentano il valore originale di un campo. che rappresenta il lato sinistro della visualizzazione delle differenze.
  • Stato consigliato: le operazioni non di test rappresentano le modifiche consigliate per campo. che 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 suggerimento. Un suggerimento può avere uno o più gruppi di operazioni. I gruppi di operazioni sono archiviati nel campo operationGroups nell'entità Recommendation.

Ad esempio, un suggerimento che suggerisce di modificare il tipo di macchina dell'istanza VM per un gruppo di istanze Compute Engine comprende due gruppi di operazioni: uno in cui si modifica il tipo di macchina nel modello di istanza e un altro in cui si applica la modifica a un determinato gruppo di istanze.

Poiché il primo insieme di operazioni deve essere completato prima di poter iniziare il secondo, queste operazioni vengono definite come due gruppi di istanze separati nel suggerimento.

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 effettuato il suggerimento.

Stato

I consigli attraversano molte transizioni di stato una volta proposte. Un suggerimento può avere i seguenti stati:

  • ACTIVE, il che significa che il suggerimento è stato formulato, ma non è stata intrapresa alcuna azione in merito. Il consiglio può essere applicato rivendicandolo. I suggerimenti attivi possono essere aggiornati quando le risorse cambiano.
  • CLAIMED, il che significa che tu o un altro processo avete rivendicato il consiglio e che è in corso una risposta. Quando un suggerimento viene rivendicato, il motore per suggerimenti non lo aggiorna in caso di variazione delle risorse.
  • SUCCEEDED, a indicare che tu o un altro processo avete applicato il suggerimento alla risorsa associata.
  • FAILED, il che significa che un tentativo di applicazione del 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 la visualizzazione del suggerimento nell'elenco dei suggerimenti e viene in genere applicato da un amministratore che lo ha invalidato per vari motivi. Impedisce inoltre di passare allo stato CLAIMED di un suggerimento.

Le informazioni sullo stato del suggerimento vengono archiviate nel campo stateInfo dell'entità Recommendation. Sono inclusi lo stato stesso del suggerimento ed eventuali metadati aggiuntivi relativi allo stato del motore per suggerimenti.

Quando un suggerimento viene impostato sullo stato 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 è una fingerprint univoca che identifica lo stato attuale di un suggerimento. 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, dovrai farvi riferimento nelle operazioni successive utilizzando sia l'ID suggerimento che l'etag. In questo modo tutte le operazioni vengono eseguite solo se il suggerimento non è cambiato dall'ultimo recupero.

Priorità

La priorità di un consiglio contribuisce a dare un'indicazione delle azioni da intraprendere per prime. In questo campo sono associati i valori P1, P2, P3 e P4, con P4 impostato come priorità predefinita. È possibile definire una strategia di priorità per ogni recommender.

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 key:value coppie. Ad esempio:

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

Gli aggiornamenti al campo stateMetadata sovrascrivono i metadati di uno stato esistente.

Data/ora ultimo aggiornamento

L'ora dell'ultimo aggiornamento indica la data dell'ultimo aggiornamento del suggerimento da parte del processo di generazione. Il contenuto del suggerimento riflette lo stato delle risorse al momento dell'ultimo aggiornamento.

Esempi

L'esempio seguente mostra un suggerimento per le dimensioni 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 approfondimento associato. I riferimenti collegano i consigli ai relativi approfondimenti associati, se presenti.

Configurazione

Tramite la configurazione del motore per suggerimenti, puoi:

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

Un esempio di configurazione del motore per suggerimenti è l'impostazione di una soglia di CPU predefinita o di un periodo di osservazione per creare suggerimenti che si adattino meglio ai tuoi carichi di lavoro, alle tue applicazioni e alle tue esigenze di infrastruttura.

Con l'API di configurazione, puoi recuperare la configurazione per un tipo di motore per suggerimenti o di insight. Puoi scegliere di aggiornare i parametri di configurazione di un singolo progetto. Ogni configurazione o tipo di insight del motore per suggerimenti 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"
}