Modello di risorsa

Il seguente diagramma mostra il modello di risorse di Cloud Run per i servizi:

Servizi e revisioni di Cloud Run

Il diagramma mostra un progetto Google Cloud contenente tre servizi Cloud Run, Service A, Service B e Service C, ognuno dei quali ha diverse revisioni.

Nel diagramma, Service A riceve molte richieste, il che comporta l'avvio e l'esecuzione di più istanze, ognuna delle quali esegue un singolo container. Tieni presente che Service B al momento non riceve richieste, quindi non è ancora stata avviata alcuna istanza. Service C esegue più container per istanza all'interno di ogni revisione: tieni presente che solo il container in entrata riceve la richiesta. Ogni istanza con più container viene scalata come unità indipendente.

Servizi Cloud Run

Il servizio è la risorsa principale di Cloud Run. Ogni servizio si trova in una regione Google Cloud specifica (Cloud Run). Per la ridondanza e il failover, i servizi vengono replicati automaticamente in più zone della regione in cui si trovano. Un determinato progetto Google Cloud può eseguire molti servizi in diverse regioni.

Ogni servizio espone un endpoint univoco e scala automaticamente l'infrastruttura sottostante per gestire le richieste in entrata.

Revisioni di Cloud Run

Ogni deployment in un servizio crea una revisione. Una revisione è composta da una o più immagini container, oltre a impostazioni di ambiente come variabili di ambiente, limiti di memoria o valore di contemporaneità.

Le revisioni sono immutabili: una volta creata, una revisione non può essere modificata. Ad esempio, quando esegui il deployment di un'immagine container in un nuovo servizio Cloud Run, viene creata la prima revisione. Se poi esegui il deployment di un'immagine container diversa nello stesso servizio, viene creata una seconda revisione. Se in seguito imposti una variabile di ambiente, viene creata una terza revisione e così via.

Le richieste vengono instradate automaticamente il prima possibile all'ultima revisione del servizio in stato integro.

Job Cloud Run

Ogni job si trova in una regione specifica di Google Cloud ed esegue fino al completamento uno o più container. Un job è costituito da una o più attività indipendenti che vengono eseguite in parallelo nell'esecuzione di un determinato job. Ogni attività esegue un container e potrebbe riprovare.

Esecuzioni di job Cloud Run

Quando viene eseguito un job, viene creata un'esecuzione di job in cui vengono avviate tutte le attività del job. Tutte le attività nell'esecuzione di un job devono essere completate correttamente affinché l'esecuzione del job abbia esito positivo. Puoi impostare i timeout per le attività e specificare il numero di nuovi tentativi in caso di errore dell'attività. Se un'attività supera il numero massimo di nuovi tentativi, viene contrassegnata come non riuscita e il job viene contrassegnato come non riuscito. Per impostazione predefinita, le attività vengono eseguite in parallelo fino a un massimo di 100, ma puoi specificare un valore massimo inferiore se richiesto da una qualsiasi delle tue risorse di supporto.

Istanze Cloud Run

Ogni richiesta di ricezione della revisione viene scalata automaticamente sul numero di istanze necessarie per gestire tutte queste richieste. Tieni presente che il container in entrata all'interno di un'istanza può ricevere molte richieste contemporaneamente. Con l'impostazione della contemporaneità, puoi impostare il numero massimo di richieste che possono essere inviate in parallelo a una determinata istanza.