Cloud Intelligence™Cloud Intelligence™

Cloud Intelligence™

Google Cloud Platform: best practice per le label sulle risorse

By Sayle MatthewsNov 13, 202310 min read

Questa pagina è disponibile anche in English, Deutsch, Español, Français, 日本語 e Português.

Cosa sono di preciso queste label?

La documentazione di GCP definisce le label come un "modo leggero per raggruppare risorse correlate o associate tra loro".

È una buona sintesi di cosa siano, ma la domanda davvero interessante è un'altra: "A cosa servono?".

Lo scopo principale di applicare una label a una risorsa è poter monitorare con facilità quanto costa quella specifica risorsa nei dati di fatturazione. Per impostazione predefinita, ogni servizio in fattura viene raggruppato in un'unica voce.

Ad esempio, una voce di fattura relativa all'esecuzione di un'istanza Compute Engine potrebbe presentarsi più o meno così: "Compute Engine Small Instance with 1 VCPU running in Americas: 15342.56 Hours."

A prima vista sembra semplice, finché non ci si rende conto che un mese medio conta 730 ore. Significa quindi che in quel mese erano in esecuzione più istanze, ma quante? E quali sono rimaste attive e per quanto tempo, in quale progetto? Anche il report di fatturazione nella console GCP non offre molte più informazioni.

Ricavare questi dati dai numeri forniti da Google in fattura e in console è praticamente impossibile. Ed è qui che entrano in gioco le label.

Quando si usano le label nel proprio progetto, il report di fatturazione si presenta più o meno così:

Report di fatturazione GCP (alcuni nomi rimossi)

Si noti come la suddivisione per label lo renda molto più leggibile. La parte iris_name delle label la approfondirò più avanti nell'articolo.

Label e tag a confronto

La prima distinzione da fare è la differenza tra label e tag in GCP.

Fino a poco tempo fa avevano una relazione quasi uno-a-uno, ma con l'evoluzione di GCP sono diventati entità distinte. Oggi i tag servono a raggruppare le risorse a cui applicare una policy di rete, mentre le label raggruppano le risorse per finalità di fatturazione e ricerca (e probabilmente altro in futuro).

Un esempio: se si crea una regola firewall e le si aggiunge un target tag, la regola si applicherà a qualsiasi risorsa che presenti lo stesso network tag, come le istanze Compute Engine. La differenza più evidente per la maggior parte degli utenti è terminologica: GCP oggi parla di "tag" per riferirsi ai network tag (o target tag, come li chiamano le regole firewall) e di "label" per le label, mentre in passato entrambi venivano definiti collettivamente tag.

Potrebbe volerci un po' prima che la nuova terminologia entri nell'uso comune: quando si sente parlare di qualcosa di "taggato" in GCP, conviene quindi verificare se si tratta davvero di un tag o di una label. Anni di abitudine al termine "tagging" rendono difficile cambiare riflesso quando in realtà si parla di label.

DoiT Console e Cloud Analytics

Uno dei segreti meglio custoditi per gestire fatturazione e costi su GCP è la sezione Cloud Analytics della DoiT Console, lo strumento di analisi e ottimizzazione dei costi messo a disposizione da DoiT International.

Grazie ai report è possibile ottenere insight immediati sulla fatturazione di Google Cloud Platform, gestire i budget, configurare allocazioni di costo, ricevere avvisi su budget e anomalie di spesa ed esplorare diverse strategie di ottimizzazione.

Con i report si ottiene una visibilità ancora maggiore sui costi di Google Cloud, grazie a numerosi miglioramenti:

  • Fino a 36 mesi di dati storici (rispetto ai 3-6 mesi)
  • Caricamento e aggiornamento dei report 100 volte più rapidi
  • Numero illimitato di label utente e di sistema (anziché solo le une o le altre)
  • Supporto per i report sui credit, come SUD o CUD
  • Report predefiniti
  • Una gamma molto più ampia di tipologie di grafici
  • Report ottimizzati per dispositivi mobili
  • Aggiornamenti dei report pianificati con regolarità via email o Slack

Nota: alcune di queste immagini potrebbero non essere aggiornate, vista la grande quantità di nuove funzionalità aggiunte alla DoiT Console dalla pubblicazione originale dell'articolo.

Mettiamo a disposizione fin da subito una serie di report predefiniti pronti all'uso. Questi report sono condivisi a livello di intera organizzazione, così che Lei e i Suoi team possiate essere allineati senza alcuno sforzo.

I Cloud Reports si ispirano alla logica delle tabelle pivot e permettono di costruire report altamente configurabili in base a un numero qualsiasi di dimensioni e misure:

Configuri i Cloud Reports semplicemente trascinando dimensioni e misure

Se etichetta le Sue risorse o utilizza Iris3 per generare le label in automatico, può estrarre insight di grande valore dai dati di fatturazione, ad esempio il costo di Google Cloud Storage per bucket:

Costo GCS per bucket

Offre metriche orarie sui dati di fatturazione, semplificando l'individuazione di problemi o picchi di costo legati a un deploy recente o a una modifica di configurazione.

I dati orari rendono semplice tracciare le variazioni nel Suo ambiente cloud

Se Lei e il Suo team siete interessati ad accedere alla DoiT Console (e a una vasta gamma di altri strumenti) senza costi aggiuntivi, ci contatti per scoprire come diventare cliente DoiT International senza costi extra.

Best practice per le label

Di seguito una serie di best practice raccolte dal team Customer Reliability Engineering di DoiT International sull'uso delle label in GCP.

Prima di configurare le label è bene conoscerne le restrizioni e capire a quali risorse possano essere applicate. Consiglio di consultare innanzitutto la documentazione Google sull'argomento, anche perché è destinata a evolversi nel tempo.

Non tutti i prodotti supportano ancora le label, ma molti lo fanno pur non comparendo nella documentazione. Il modo migliore per scoprire se un servizio le supporta è dare un'occhiata alle pagine di creazione e modifica delle sue istanze.

Usi sempre le label

Capita di creare una nuova istanza Compute Engine o un'immagine basata su di essa e dimenticarsi di applicare una label, salvo poi ricordarsene quando il reparto contabilità chiede chiarimenti su qualche voce in fattura.

Per evitarlo, integri sempre l'applicazione di una label nel flusso di lavoro di creazione di una risorsa, assicurandosi che ciò avvenga anche per le creazioni automatizzate.

Adotti uno strumento di labeling automatico delle risorse

Riprendendo il consiglio precedente, Iris3 è uno strumento open source da poco riscritto e sviluppato da noi di DoiT, pensato per applicare le label in automatico alle risorse al momento della loro creazione. In questo modo non si rischia mai di dimenticare una label.

È personalizzabile per supportare ulteriori tipi di risorse, qualora la tipologia desiderata non sia ancora gestita.

Etichetti tutto ciò che serve

Le label sono coppie chiave-valore: ne approfitti per inserirvi tutte le informazioni che Le servono.

Ecco alcuni esempi di label da utilizzare:

  1. Nomi degli ambienti

    Etichettare una risorsa come appartenente a sviluppo, staging, testing, produzione, ecc. è sempre una scelta sicura: rende molto più immediato cercare in seguito tutte le risorse di produzione per un report di fatturazione.

  2. Ruolo

    Se ha un gruppo di risorse Compute Engine che fungono da web server, un altro in un cluster GKE e uno per un database server, le etichetti di conseguenza.

  3. Nome dell'applicazione Usare il nome dell'applicazione come label semplifica il raggruppamento delle risorse per progetto di business o applicazione associata, agevolando l'analisi dei costi per applicazione.

  4. Nome della regione Se la Sua applicazione o il Suo progetto si estendono su più regioni, l'aggiunta del valore della regione aiuterà a ordinarle in seguito. Può trattarsi del nome della regione GCP, di una regione logica configurata nell'applicazione, oppure di una label per ciascuna.

  5. Creatore della risorsa Inserire il nome del creatore in una label aiuterà a risalire in seguito a chi ha creato cosa, senza dover scavare in audit log che potrebbero non essere stati conservati.

  6. Owner o maintainer Etichettare una risorsa con il nome dell'owner o del maintainer aiuta a sapere chi contattare in caso di problemi o domande. Un esempio comune è il team che possiede o mantiene la risorsa.

  7. Codice di costo, fatturazione o budget Alcune organizzazioni utilizzano codici per spese o budget specifici. Inserirli nella label rende più semplice il tracciamento da parte degli amministratori della fatturazione o dei revisori.

  8. Dipartimento

    Se la risorsa appartiene a un determinato dipartimento, aggiungerlo come label rende più semplice individuarlo in seguito.

  9. Nome del bucket (solo Google Cloud Storage) Chi ha mai consultato un report o una fattura GCP avrà notato che tutti i bucket di storage vengono raggruppati in un'unica voce. È un incubo se si vuole sapere quanto costa ciascun bucket: aggiungere il nome del bucket come label permette di suddividere il costo in voci separate.

  10. Nome di una risorsa associata Se una risorsa è collegata a un'altra, è una buona idea aggiungere una label che la identifichi. Esempi tipici: un persistent disk legato a un'istanza Compute Engine o a un cluster Dataproc. Anche un IP esterno collegato a un managed instance group di Compute Engine è un ottimo caso d'uso.

  11. Classificazione dei dati È un caso d'uso ampio, ma se ha dati che richiedono un'etichettatura specifica in un bucket o in un dataset BigQuery, aggiunga una label che lo indichi. Esempi tipici sono dati soggetti a normative come HIPAA o PCI, oppure dati cifrati. È utile etichettare queste risorse, così che, quando un dirigente C-level chiede quanto si spende mensilmente per archiviare PHI (informazioni sanitarie protette), la risposta possa arrivare in tempi rapidi.

  12. Stato della risorsa

    Se una risorsa è attiva, in attesa di eliminazione, disattivata, ecc., etichettarla di conseguenza rende molto facile vedere quanto viene fatturato per le risorse in un determinato stato.

  13. Nome di folder o organizzazione Se utilizza folder o diverse unità organizzative nella Sua struttura, crei una label apposita per poter vedere in seguito quanto Le costa ciascuna organizzazione o folder.

    Per un'ottima riflessione su questo tema e sulla struttura organizzativa per GCP, Le consiglio questo articolo del mio collega.

Standardizzi le label

Definisca un set standard di label da applicare a ciascuna risorsa e si attenga a esso. Può aver senso prevedere un set standard di label per ciascun tipo di risorsa. Questo rende molto più semplice sia la ricerca delle risorse sia il tracciamento di gruppi di risorse nei report di fatturazione.

Anche in questo caso, affidarsi a Iris3 per farlo in automatico aiuta a mantenere lo standard nel tempo.

Cerchi le risorse usando filtri e label

In tutta la console, nelle barre dei filtri, se inizia a digitare la parola "labels" comparirà la relativa selezione in un menu a tendina. Una volta selezionata, può iniziare a digitare il nome della label dopo i due punti e l'autocompletamento Le permetterà di filtrare per quella specifica label.

Si noti che, alla data di stesura di questo articolo, la funzionalità non è ancora disponibile nella pagina Cloud Storage.

Utilizzi le label di Kubernetes in GKE

GKE consente di etichettare ogni nodo di un cluster tramite la funzione di label di Kubernetes (presente nella pagina Metadata durante la creazione di un cluster).

Suggerimento: in Kubernetes può usare un selettore per selezionare questi nodi. Si noti che ciò vale solo per GKE e non per i cluster standalone.

Utilizzi le label nelle query di fatturazione su BigQuery

Se ha mai usato BigQuery come destinazione dei dati di fatturazione, avrà notato un record "labels" nelle tabelle generate. Ogni label aggiunta a un servizio compare in quel record per la risorsa associata alla riga corrispondente. Sfruttare questi dati consente un'analisi molto più approfondita tramite BigQuery.

Utilizzi le label sulle Sue Queue

Se utilizza Pub/Sub per il queueing o all'interno di un workflow, applichi una label al topic per indicare l'applicazione o il workflow di cui fa parte. È un costo spesso trascurato, soprattutto da chi utilizza Pub/Sub in modo intensivo. Si noti che, alla data di stesura di questo articolo, Pub/Sub Lite non supporta le label.

Mantenga aggiornata la Sua label policy

Quando aggiorna o avvia un nuovo progetto, oppure utilizza un nuovo servizio in GCP, verifichi se supporta le label. In tal caso, aggiorni la Sua label policy per includerle, oppure le aggiunga a Iris3 per gestirle in automatico.