Il seguente diagramma mostra il modello di risorse Cloud Run per i servizi:
Il diagramma mostra un progetto Google Cloud contenente tre elementi Cloud Run
servizi, 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 diverse istanze, ognuna delle quali esegue un singolo container. Tieni presente che Service B
al momento non riceve richieste, pertanto non è stata ancora 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ù
i container sono scalabili come unità indipendenti.
Servizi Cloud Run
Il servizio è la risorsa principale di Cloud Run. Ogni servizio si trova in una regione Google Cloud specifica. Per la ridondanza e il failover, i servizi vengono replicati automaticamente su più zone della regione in cui si trovano. Un determinato progetto Google Cloud può eseguire molti servizi in regioni diverse.
Ogni servizio espone un endpoint univoco e scala automaticamente la risorsa sottostante per gestire le richieste in entrata. Puoi eseguire il deployment di un servizio un container, un repository o un codice sorgente.
Revisioni di Cloud Run
Ogni deployment in un servizio crea una revisione. Una revisione è composta da uno o più immagini container, insieme a impostazioni di ambiente come variabili, 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 un'immagine container diversa nello stesso servizio, viene creata una seconda revisione. Se successivamente 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.
Funzioni Cloud Run
Le funzioni sono un tipo di servizio che contiene brevi snippet di codice creare e connettere i servizi cloud.
Con Cloud Run, scrivi funzioni monouso che vengono collegate agli eventi emessi dall'infrastruttura e dai servizi cloud. La tua funzione è quando viene attivato un evento guardato. Il codice viene eseguito in un ambiente completamente gestito. Poiché le funzioni vengono eseguite come servizi Cloud Run, non è necessario eseguire il provisioning di un'infrastruttura né preoccuparsi di gestire i server.
Puoi scrivere funzioni Cloud Run utilizzando una serie lingue di programmazione supportati. Puoi eseguire la funzione in qualsiasi ambiente di runtime standard per una delle lingue supportate, il che semplifica la portabilità della funzione e il relativo test locale.
Eventi e trigger delle funzioni Cloud Run
Gli eventi cloud sono cose che accadono nel tuo ambiente cloud. Possono essere modifiche ai dati di un database, file aggiunti a un sistema di archiviazione o una nuova istanza di macchina virtuale in fase di creazione.
Gli eventi si verificano indipendentemente dal fatto che tu scelga o meno di rispondere. Puoi creare una risposta a un evento utilizzando un trigger. Un trigger è una dichiarazione di interesse in un determinato evento o insieme di eventi. L'associazione di una funzione a un trigger ti consente di acquisire gli eventi e di intervenire in relazione agli stessi. Per ulteriori informazioni sulla creazione di trigger per associarli alle tue funzioni, vedi Richiama con HTTPS e Attivazione con eventi.
Job Cloud Run
Ogni job si trova in una regione Google Cloud specifica ed esegue uno o più container fino al completamento. Un job è composto da un o più attività indipendenti 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 in cui vengono avviate tutte le attività del job. Tutte le attività nell'esecuzione di un job devono essere completate correttamente per il job che l'esecuzione avvenga. Puoi impostare i timeout per le attività e specificare il numero di nuovi tentativi in caso di errore. Se un'attività supera il numero massimo di 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 una delle risorse di supporto lo richiede.
Istanze Cloud Run
Ogni revisione che riceve richieste viene scalata automaticamente in base al numero di istanze necessarie per gestire tutte queste richieste. Nota che il container in entrata all'interno di un'istanza può ricevere molte richieste contemporaneamente. Con impostazione di contemporaneità, puoi definire di richieste che possono essere inviate in parallelo a una determinata istanza.