Questa guida mette a confronto le scelte Google Cloud più recenti e originali per il deployment delle funzioni. Questa pagina è rivolta a chi ha creato in precedenza funzioni con l'API Cloud Functions e sta eseguendo la transizione all'API Cloud Run Admin. Questa pagina descrive le differenze chiave in diverse aree, come concetti, configurazione, implementazione, attivatori e tentativi di nuovo invio.
Confronto
Esistono due versioni di Cloud Run Functions:
Cloud Run Functions, precedentemente nota come Cloud Functions (2ª gen.), è la versione più recente delle funzioni che puoi eseguire il deployment come servizio su Cloud Run. La funzione può reagire alle richieste HTTP(S) o rispondere agli eventi propagati dagli attivatori basati su Eventarc, come Pub/Sub.
Cloud Run Functions (1ª gen.), in precedenza nota come Cloud Functions (1ª gen.), è la versione originale delle funzioni con attivatori di eventi e configurabilità limitati.
Ti consigliamo di utilizzare la versione corrente di Cloud Run Functions perché offre maggiore flessibilità e controllo sul runtime delle funzioni. Se esegui il deployment delle funzioni direttamente su Cloud Run, queste verranno costruite automaticamente come container e implementate come servizio Cloud Run.
Concetti
La seguente tabella riassume le differenze concettuali per le funzioni.
Funzioni Cloud Run | Funzioni Cloud Run (1ª gen.) | |
---|---|---|
Nome precedente del prodotto | Cloud Functions (2ª gen) | Cloud Functions (1ª gen.) |
Modello di risorsa | Una funzione è un servizio Cloud Run di cui viene eseguito il deployment dal codice sorgente | Viene eseguito il deployment di una funzione dal codice sorgente |
Terminologia dei tipi di funzioni |
|
|
URL HTTPS assegnato | run.app Le funzioni create con l'API Cloud Functions (v2) hanno anche un endpoint cloudfunctions.net . |
cloudfunctions.net |
Registry delle immagini | Solo Artifact Registry | Artifact Registry o Container Registry (deprecato) |
Ruoli IAM per il deployment |
|
|
Infrastruttura interna | Cloud Run | Interno Google |
Modello di determinazione del prezzo | Prezzi di Cloud Run | Prezzi di Cloud Run Functions (1ª gen.) |
Configurazione
Cloud Run crea funzioni nei container e le esegue come servizi. Quando esegui il deployment di una funzione in Cloud Run, hai accesso e controllo completi sul comportamento della funzione. Ad esempio, puoi attivare il VPC diretto, configurare le GPU, utilizzare i mount dei volumi e altro ancora.
La tabella seguente riassume le differenze di configurazione per le funzioni:
Funzioni Cloud Run | Funzioni Cloud Run (1ª gen.) | |
---|---|---|
Timeout richiesta |
|
|
Dimensione istanza | Fino a 16 GB di RAM con 4 vCPU | Fino a 8 GB di RAM con 2 vCPU |
Contemporaneità | Fino a 1000 richieste in parallelo per istanza di funzione | 1 richiesta in parallelo per istanza di funzione |
Suddivisione del traffico | Supportato | Non supportata |
Deployment
Da agosto 2024, puoi utilizzare Cloud Run per eseguire il deployment e gestire le funzioni create con l'API Cloud Functions (v2). A seguito di questa modifica:
- I metadati delle funzioni, come l'ID runtime e le configurazioni di build, vengono memorizzati nella definizione del servizio Cloud Run.
- Puoi modificare in sicurezza la funzione utilizzando l'API Cloud Run Admin.
- Puoi fare affidamento sulla definizione del servizio Cloud Run come fonte di verità per la tua funzione.
Tuttavia, tieni presente che le funzioni create con l'API Cloud Run Admin non possono essere modificate con l'API Cloud Functions.
La tabella seguente riassume le differenze nella creazione, nell'implementazione, nella modifica e nella gestione delle funzioni:
Funzioni Cloud Run | Funzioni Cloud Run (1ª gen.) | |
---|---|---|
Console Google Cloud | Cloud Run | Funzioni Cloud Run (1ª gen.) |
Cloud SDK |
|
|
API REST |
|
|
Terraform |
|
Trigger e ripetizioni
La seguente tabella mette a confronto gli attivatori e i nuovi tentativi per le funzioni:
Funzioni Cloud Run | Funzioni Cloud Run (1ª gen.) | |
---|---|---|
Attivare e richiamare una funzione | Per la funzione creata con l'API Cloud Run Admin, specifica gli attivatori durante il deployment della funzione
nella console Google Cloud o dopo il deployment della funzione quando utilizzi
gcloud CLI. Per le funzioni create con l'API Cloud Functions (v2), specifichi gli attivatori come parte del deployment delle funzioni. |
Specifichi gli attivatori durante il deployment delle funzioni. |
Tipi di evento | Supporto di qualsiasi tipo di evento supportato da Eventarc, incluse oltre 90 origini evento tramite gli audit log di Cloud. | Supporto diretto per gli eventi provenienti da 7 origini. |
Nuovi tentativi | Per le funzioni create con l'API Cloud Run Admin, aggiorna la
norma di ripetizione
in Eventarc e configura
l'argomento per le email in arrivo non recapitate
in Pub/Sub. Per le funzioni create con la versione 2 dell'API Cloud Functions, specifica i tentativi di nuovo invio come parte del deployment della funzione con il flag --retry .
|
Specifica i tentativi di nuovo invio come parte del deployment della funzione con il
--retry flag. |
Passaggi successivi
- Prova la guida introduttiva per il deployment di una funzione in Cloud Run.