Best practice per i servizi Cloud Run ottimizzati per i costi

L'ottimizzazione dei servizi Cloud Run riduce le spese allineando l'allocazione delle risorse alla domanda effettiva. L'implementazione di configurazioni convenienti evita l'overprovisioning, mantenendo al contempo l'affidabilità e le prestazioni del servizio. Non esiste una soluzione universale per l'ottimizzazione dei costi. È importante monitorare le tue esigenze, il tuo budget e le tue risorse per determinare cosa funziona meglio per te.

Le best practice descritte in questo documento sono specifiche per Cloud Run. Questi non includono altri prodotti Google Cloud .

Configurazioni delle risorse

L'ottimizzazione dei costi dei servizi comporta la considerazione di molte configurazioni diverse. Personalizza queste configurazioni in base alle tue esigenze per creare servizi affidabili ed efficienti in termini di costi.

Seleziona la regione appropriata

La località di deployment del servizio influisce sul costo totale. Cloud Run utilizza un modello di prezzi regionali a due livelli. Le regioni di livello 1 offrono un costo per vCPU e memoria inferiore rispetto alle regioni di livello 2, quindi valuta la possibilità di eseguire il deployment in una regione di livello 1.

Richiedi autenticazione

Quando configuri un servizio Cloud Run, puoi scegliere una delle due opzioni di autenticazione:

  • Consenti accesso pubblico: i controlli di autenticazione non sono richiesti.
  • Autenticazione necessaria: solo gli utenti autenticati possono accedere al tuo servizio Cloud Run.

Ti consigliamo di richiedere l'autenticazione, a meno che tu non abbia un'esigenza specifica per consentire l'accesso pubblico. In questo modo, si evitano richieste indesiderate che potrebbero comportare costi.

Se gestisci gli utenti con Identity-Aware Proxy (IAP), IAP potrebbe avere costi associati.

Confronta la fatturazione basata su istanze e quella basata su richieste

I servizi Cloud Run hanno due impostazioni di fatturazione:

  • Fatturazione basata sulle richieste (predefinita): ti viene addebitato un importo per richiesta, più una tariffa al secondo più elevata per vCPU e memoria consumate durante l'elaborazione delle richieste.
  • Fatturazione basata sulle istanze: ti viene addebitato l'intero ciclo di vita di un'istanza. Non è prevista una tariffa per richiesta e le tariffe al secondo per vCPU e memoria sono inferiori.

Per i servizi con traffico costante e che varia lentamente, valuta la possibilità di utilizzare la fatturazione basata sulle istanze. I risparmi derivanti da tariffe di computing più basse e dall'assenza di una tariffa per richiesta superano il costo del pagamento per il tempo di inattività tra le richieste. Per i servizi con traffico sporadico, con burst o con picchi, valuta la possibilità di utilizzare la fatturazione basata sulle richieste. Se hai ancora dubbi su quale impostazione di fatturazione utilizzare, consulta Motore per suggerimenti. Il motore per i suggerimenti esamina il traffico ricevuto dal tuo servizio Cloud Run nell'ultimo mese e fornisce suggerimenti per passare dalla fatturazione basata sulle richieste alla fatturazione basata sulle istanze, se è più conveniente.

Configura la scalabilità dei servizi a livello di servizio

Per stabilire una base di riferimento per la sicurezza dei costi, configura il numero massimo di istanze per il tuo servizio. L'impostazione di un numero massimo più elevato dà la priorità alla disponibilità, ma introduce potenziali rischi di fatturazione dovuti a picchi di traffico imprevisti o configurazioni errate. Devi configurare questa impostazione a livello di servizio quando esegui il deployment iniziale del servizio per stabilire una base di riferimento dei costi. Per altri strumenti di controllo dei costi, consulta Quote di allocazione delle risorse o Budget e avvisi di fatturazione.

Ottimizza l'utilizzo della CPU e della memoria

Il costo del servizio Cloud Run è influenzato, tra gli altri fattori, dalla configurazione della CPU/memoria e dalla durata dell'attività del servizio. L'overprovisioning delle risorse può aumentare i costi. Per determinare quale configurazione potrebbe essere la migliore per il tuo servizio:

  1. Stabilisci una configurazione di base.
  2. Monitora le metriche durante il test delle metriche di utilizzo della CPU e della memoria in Cloud Monitoring.
  3. Modifica la configurazione in base alle esigenze.

Se l'utilizzo della CPU è costantemente basso in condizioni di carico di picco, valuta la possibilità di ridurre l'allocazione delle vCPU. Se la latenza è elevata, valuta la possibilità di aumentare l'allocazione di vCPU.

Se l'utilizzo della memoria è costantemente basso, valuta la possibilità di ridurre la memoria allocata. Se la latenza è elevata e l'utilizzo della memoria è vicino al 100%, valuta la possibilità di aumentare la memoria allocata. Se si verificano errori di out of memory (OOM), devi aumentare la memoria allocata o modificare l'applicazione per evitare perdite di memoria o utilizzare meno memoria. Consulta la dashboard di Cloud Monitoring per comprendere meglio l'utilizzo della memoria.

Configura GPU

Tutti i servizi Cloud Run che utilizzano GPU devono avere la fatturazione basata su istanze configurata. Ciò significa che alle istanze Cloud Run vengono addebitati i costi per l'intero ciclo di vita delle istanze, anche quando non ci sono richieste in entrata. Anche le configurazioni minime di CPU e memoria richieste per le GPU influiscono sul costo del servizio Cloud Run. Per impostazione predefinita, la ridondanza a livello di zona della GPU è attivata. La disattivazione della ridondanza a livello di zona della GPU comporta un costo inferiore per secondo-GPU, ma non garantisce la capacità prenotata per gli scenari di failover.

Ottimizza i costi di networking

Quando configuri le opzioni di networking per il tuo servizio, tieni presente quanto segue:

  • Colloca le risorse nella stessa posizione: prova a eseguire il deployment dei servizi Cloud Run nella stessa regione dei database di backend (come Cloud SQL o Firestore) e dei bucket Cloud Storage. Il trasferimento di dati tra risorse Google Cloud all'interno della stessa regione è senza costi.
  • Passa al VPC diretto in uscita: se instradi il traffico in modo sicuro alle risorse di rete VPC interne, valuta la possibilità di passare al VPC diretto in uscita dai connettori di accesso VPC serverless. Il VPC diretto in uscita fa lo scale down a zero, eliminando l'overhead di computing di base e i costi di inattività associati alle istanze del connettore.
  • Utilizza Cloud CDN: scarica gli asset statici e i contenuti memorizzabili nella cache posizionando Cloud CDN davanti ai tuoi servizi Cloud Run. La distribuzione dei dati dall'edge è molto più economica rispetto al pagamento del traffico in uscita verso internet standard direttamente da Cloud Run.
  • Monitora il traffico in uscita verso internet: il traffico in entrata è sempre senza costi e ricevi 1 GiB di trasferimento di dati in uscita verso internet al mese senza costi aggiuntivi all'interno del Nord America. Concentra le tue attività di monitoraggio sul traffico in uscita che supera i confini della regione o il livello senza costi.

Configura le impostazioni di contemporaneità

Quando più istanze elaborano le richieste, Cloud Run alloca più CPU e memoria a costi più elevati. Un'impostazione di contemporaneità più elevata consente a un numero inferiore di istanze di gestire lo stesso volume di richieste, il che può ridurre i costi. Tuttavia, il codice dell'applicazione deve essere in grado di gestire le richieste parallele in modo efficiente. Per saperne di più, consulta Ottimizzazione della contemporaneità per la scalabilità automatica e l'utilizzo delle risorse.

Sconti per impegno di utilizzo

Gli sconti per impegno di utilizzo (CUD) offrono prezzi scontati in cambio dell'impegno a utilizzare Cloud Run in modo continuativo per un periodo di tempo specificato. Gli sconti per impegno di utilizzo si applicano a livello di account di fatturazione Cloud. Puoi acquistare sconti per impegno di utilizzo (CUD) flessibili di Compute per le risorse Cloud Run. I CUD flessibili di Compute non si applicano alle GPU o al networking. Per ulteriori dettagli, consulta Sconto per impegno di utilizzo flessibile di Compute.

Strumenti utili

Puoi utilizzare i seguenti strumenti per comprendere meglio i costi ed evitare superamenti dei costi.

Panoramica di Cloud Run: riquadro Fatturazione

La pagina Panoramica di Cloud Run mostra i costi per nome della risorsa nel riquadro Fatturazione. I numeri riflettono i costi lordi per gli intervalli di tempo selezionati per risorsa. Questo strumento ti aiuta a comprendere meglio il costo delle tue risorse.

Avvisi relativi al budget

Crea avvisi relativi al budget nella fatturazione Cloud per monitorare i costi effettivi rispetto a quelli pianificati. Un avviso relativo al budget è un meccanismo di avviso che attiva le notifiche quando vengono superate le soglie di spesa, non un limite di spesa rigido. Esiste un ritardo nei dati di fatturazione che potrebbe influire sulla ricezione degli avvisi.

Limiti di spesa del budget

Quando configuri i limiti di spesa di fatturazione Cloud nella console di fatturazione Cloud o in modo programmatico utilizzando l'API Cloud Billing Budget, questi limiti vengono applicati automaticamente a tutti i tipi di risorse Cloud Run nel tuo progetto.

Puoi monitorare l'avanzamento del limite di spesa direttamente dalla pagina Panoramica della console Cloud Run. Quando raggiungi un limite di spesa, Google Cloud mette in pausa tutti i workload di Cloud Run per evitare ulteriori costi per le seguenti risorse Cloud Run:

  • Servizi: i servizi esistenti non riusciranno a gestire il traffico e restituiranno errori 5xx.
  • Job: l'avvio delle nuove esecuzioni delle attività non riesce e le attività in corso non vengono completate.
  • Pool di worker: tutte le istanze esistenti interrompono l'elaborazione delle attività.
  • Istanze: tutte le istanze in esecuzione vengono arrestate, le nuove istanze o i riavvii non vengono avviati e le richieste agli URL delle istanze restituiscono errori 5xx.

Se superi il limite di spesa, riceverai una notifica di avviso e vedrai un banner di applicazione nella console Cloud Run. I limiti di spesa applicati vengono reimpostati all'inizio di ogni mese, il primo giorno del ciclo di fatturazione successivo, sbloccando i workload e impostando l'importo della spesa su zero. Se superi il limite di spesa e vuoi riprendere le operazioni prima della reimpostazione mensile, regola o rimuovi manualmente il limite nella pagina Panoramica della console Cloud Run.

Fatturazione Cloud

La fatturazione Cloud è una raccolta di strumenti che ti aiuta a monitorare e comprendere la tua spesa per Google Cloud . Questi strumenti ti aiutano a monitorare i costi di utilizzo, prevedere la spesa e identificare le opportunità di risparmio.

Esplora costi

Esplora costi ti consente di comprendere il costo e l'utilizzo delle tue risorse. Utilizza Esplora costi per:

  • Filtra le risorse in base al costo per vedere quali sono le più costose.
  • Comprendi quale percentuale dei costi è determinata da configurazioni come vCPU, GPU, networking e altro ancora.
  • Monitora l'impatto delle modifiche alla configurazione delle risorse sulla fattura mensile.

Google Cloud Calcolatore prezzi

La panoramica dei prezzi diGoogle Cloud contiene informazioni per comprendere meglio il modello di prezzo di Google Cloud . Qui puoi anche trovare il Listino prezzi dettagliato. Puoi stimare i costi aggiungendo e configurando i prodotti utilizzando il Calcolatore prezzi.

Motore per suggerimenti

Recommender è uno strumento che fornisce suggerimenti e insight sull'utilizzo dei prodotti Cloud.

Il motore per suggerimenti esamina automaticamente il traffico ricevuto dal tuo servizio Cloud Run nell'ultimo mese e ti suggerisce di passare dalla fatturazione basata sulle richieste a quella basata sulle istanze, se è più economica.

Ottimizzazione di Cloud Hub

Puoi visualizzare i dati di riepilogo sui costi, i dati sull'utilizzo e i suggerimenti per l'ottimizzazione dei costi per i servizi Google Cloud nella pagina Ottimizzazionedi Cloud Hub.