Cloud Intelligence™Cloud Intelligence™

Cloud Intelligence™

Iris 3: etichettatura automatica per il controllo dei costi

By Joshua FoxFeb 25, 20255 min read

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

Importanti novità per il labeller di risorse Google Cloud più amato, ora con supporto per PubSub e CloudSQL.

Nel 2018 DoiT International ha rilasciato Iris, un progetto open-source per l'etichettatura automatica delle risorse su Google Cloud. Oggi sono lieto di annunciare Iris 3, con nuove funzionalità e un'implementazione moderna.

In che modo Iris ti aiuta

Iris assegna automaticamente le etichette alle risorse Google Cloud per ottenere report di fatturazione più semplici e dettagliati.

Ogni risorsa Google Cloud all'interno dell'organizzazione GCP riceve etichette generate automaticamente che ne riflettono i campi. Ad esempio, un'istanza Google Compute Engine ottiene etichette come [iris_name:nginx] e [iris_region:us-central1]. (Il prefisso è configurabile.)

Forse ti sorprenderà, ma senza queste etichette tali informazioni non sono affatto disponibili nei dati di fatturazione.

Grazie a queste etichette puoi creare report nel tuo strumento di analisi della fatturazione preferito.

Come usare Iris

Vediamo come Iris può farti risparmiare tempo nella creazione dei report sui costi cloud, con due sistemi di reportistica:

  1. La Cloud Management Platform di DoiT International
  2. La Billing Console di Google Cloud

DoiT Cloud Management Platform

Nella GUI Cloud Reports della Cloud Management Platform, costruisci un report sull'intervallo temporale desiderato e sugli altri campi, poi clicca sul chip Labels per selezionare i nomi delle etichette, ad esempio iris_instance_type. Clicca quindi sul nuovo chip dell'etichetta (iris_instance_type) per filtrare per valori specifici. In questa fase puoi anche escludere le risorse non etichettate, come quelle nei progetti che hai configurato Iris 3 a ignorare.

Trascina infine il chip dell'etichetta nel pannello a sinistra per indicare il raggruppamento, e il gioco è fatto.

Reportistica per tipo di istanza nella Cloud Management Platform

Report di fatturazione di Google Cloud Platform

Anche se mi piacerebbe averti con noi in DoiT, non tutti ci sono ancora arrivati: puoi quindi fare lo stesso anche nei report di fatturazione nativi di GCP.

In una vista della Billing Console, costruisci un report sull'intervallo temporale desiderato e sugli altri campi, poi clicca su Labels nel pannello in basso a destra e inserisci il nome delle tue chiavi etichetta, ad esempio iris_instance_type. In questa fase puoi selezionare valori specifici per il filtraggio. (Le risorse non etichettate verranno escluse automaticamente.) Vai poi su Grouping e inserisci di nuovo la tua etichetta.

Reportistica per tipo di istanza nella Billing Console

Prodotti Google Cloud supportati

Al momento sono supportati i seguenti tipi di risorse:

  • Istanze Compute Engine (incluse le preemptible e quelle create dai Managed Instance Groups), Disks e Snapshots. (Le etichette sono nome, regione, zona e tipo di istanza)
  • Cloud Storage Buckets (nome)
  • Istanze CloudSQL (nome e regione)
  • Dataset e tabelle BigQuery (nome e location)
  • Istanze BigTable (nome, regione e zona)
  • PubSub Topics e Subscriptions (nome)

Puoi aggiungere facilmente nuovi tipi di etichette e di risorse. Trovi le istruzioni qui.

Quando viene eseguito?

Iris può lavorare sia in modo pianificato sia alla creazione delle risorse:

  • Ogni tipo di risorsa viene etichettato in base a una pianificazione, ogni 12 ore (configurabile). Alcuni tipi — istanze Cloud SQL e dischi di avvio creati insieme a un'istanza — vengono etichettati solo in base alla pianificazione.
  • La maggior parte delle risorse viene inoltre etichettata immediatamente alla creazione: Iris 3 lo fa rimanendo in ascolto sui log di Google Cloud Operations.

Novità di Iris 3

Iris offre miglioramenti significativi sia in termini di nuove funzionalità sia di una nuova piattaforma sottostante.

Nuove funzionalità

  • Etichettatura per PubSub Topics e Subscriptions e per le istanze Cloud SQL
  • Un'opzione per copiare automaticamente le etichette di progetto su ogni risorsa del progetto
  • Un'opzione per scegliere quali progetti etichettare (se solo alcuni ne hanno bisogno, con un risparmio sui costi); oppure, in alternativa, etichettare le risorse di tutti i progetti dell'intera organizzazione
  • Un'opzione per ridurre i costi utilizzando solo l'etichettatura pianificata, senza quella on demand
  • Sviluppo e configurazione dei plugin molto più semplici. (Dettagli qui.)
  • Test automatizzati per garantire la qualità
  • Bug fix, ottimizzazioni e miglioramenti. (Dettagli qui.)

Nuova piattaforma

Il cambiamento più grande, e la ragione del nuovo nome e del fork del repo, è stato il porting da Python 2 alla versione Python 3 di Google App Engine Standard Environment. Il linguaggio Python 2 è end-of-life e non supportato da gennaio 2020, e la versione Python 2 di GAE è deprecata da ancora più tempo.

Google si è impegnata a garantire un supporto a lungo termine per il GAE Python 2, per via dei clienti legacy che avrebbero difficoltà a migrare. Sviluppare nuove funzionalità su questa vecchia versione, però, è un'impresa che oscilla tra il complesso e l'impossibile, perché gli strumenti di sviluppo e deployment, i runtime e le API mostrano ormai il peso degli anni. In più, Google non può più impegnarsi a correggere tutte le vulnerabilità di sicurezza, e questo è un grosso campanello d'allarme per un'applicazione web.

La migrazione ha richiesto alcune nuove API: tra le varie modifiche, è stato rimosso il supporto per le Task Queues, sostituite da PubSub.

Ma soprattutto, è stata l'occasione per una riscrittura completa, con uno stile di codice pulito e standard, una minore duplicazione del codice e altri miglioramenti che ti renderanno la vita più facile come sviluppatore e contributore di pull request.

Perché "Iris 3"?

Questa release si trova in un repo separato, con un nuovo nome.

Il motivo è che molti utenti preferiscono restare sul GAE Python 2 il più a lungo possibile — per quanto sia obsoleto! — a causa delle sue notevoli differenze rispetto al GAE Python 3.

Il "3", ovviamente, non è un numero di versione: è un omaggio alla piattaforma GAE Python 3.

Prova Iris

Scarica Iris 3 da GitHub e segui le istruzioni per il deploy, lo sviluppo o i test. Non vedo l'ora di ricevere i tuoi feedback e le tue segnalazioni. E soprattutto, dai un'occhiata al file TODO.md e mandaci qualche pull request!

GCP Auto-Tag vs. Iris 3

GCP Auto-Tag è un altro progetto open-source di DoiT per l'etichettatura automatica di istanze e dischi al momento della creazione.

Le differenze:

  • GCP Auto-Tag, a differenza di Iris 3, aggiunge etichette con l'email del creatore e, per i dischi, il nome dell'istanza a cui sono collegati
  • GCP Auto-Tag etichetta i dischi di avvio al momento della creazione, insieme all'istanza.
  • Iris 3, a differenza di Auto-Tag, aggiunge etichette con nome, zona, regione e tipo di istanza.
  • Iris 3 etichetta più tipi di risorse.
  • Iris 3 copre più progetti all'interno di un'organizzazione e copia le etichette di progetto sulle risorse.
  • Iris 3 etichetta anche le risorse create prima del suo deployment.

Scopri di più

Approfondisci Iris: