Questa guida confronta le scelte più recenti e originali Google Cloud per il deployment delle funzioni. Questa pagina è utile per 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 principali differenze in diverse aree, come concetti, configurazione, deployment, trigger e tentativi.
Confronto
Esistono due versioni di Cloud Run Functions:
Cloud Run Functions è l'ultima versione delle funzioni, di cui è stato eseguito il deployment come servizio su Cloud Run. Possono essere creati in uno dei seguenti modi:
- API Cloud Run Admin
(consigliata): le funzioni create con questa API (ad esempio utilizzando
la consoleGoogle Cloud ,
gcloud run
, l'API REST o Terraform) possono essere gestite esclusivamente utilizzando l'API Cloud Run Admin. - API Cloud Functions v2: le funzioni create con questa API (ad esempio utilizzando
gcloud functions
, l'API REST o Terraform) possono essere gestite con l'API Cloud Run Admin e con l'API Cloud Functions v2. Quando utilizzi questa API, specifichi il trigger durante il deployment della funzione. Scopri come scollegare una funzione API v2 in modo che possa essere gestita esclusivamente utilizzando l'API Cloud Run Admin.
- API Cloud Run Admin
(consigliata): le funzioni create con questa API (ad esempio utilizzando
la consoleGoogle Cloud ,
Cloud Run Functions (1ª generazione.), precedentemente note come Cloud Functions (1ª generazione.), è la versione originale delle funzioni con trigger di eventi, runtime e configurabilità limitati. Scopri come eseguire l'upgrade delle funzioni di 1ª generazione a Cloud Run.
Se esegui il deployment delle funzioni direttamente su Cloud Run, queste vengono create automaticamente come container ed eseguite il deployment come servizio Cloud Run.
Concetti
La seguente tabella riassume le differenze concettuali per le funzioni.
Cloud Run Functions | Funzioni Cloud Run (1ª generazione.) | |
---|---|---|
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 | Una funzione viene sottoposta a deployment 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 |
Registro 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ª generazione.) |
Configurazione
Cloud Run crea funzioni nei container e ne esegue il deployment come servizi. Quando esegui il deployment di una funzione su Cloud Run, hai accesso e controllo completi sul comportamento della funzione. Ad esempio, puoi attivare Direct VPC, configurare le GPU, utilizzare i montaggi dei volumi e altro ancora.
La seguente tabella riepiloga le differenze di configurazione per le funzioni:
Cloud Run Functions | Funzioni Cloud Run (1ª generazione.) | |
---|---|---|
Timeout richiesta |
|
|
Dimensione istanza | Fino a 16 GiB di RAM con 4 vCPU | Fino a 8 GB di RAM con 2 vCPU |
Contemporaneità | Fino a 1000 richieste simultanee 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 della funzione, come l'ID runtime e le configurazioni di build, vengono archiviati 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 nel modo in cui crei, implementi, modifichi e gestisci le funzioni:
Cloud Run Functions | Funzioni Cloud Run (1ª generazione.) | |
---|---|---|
ConsoleGoogle Cloud | Cloud Run | Funzioni Cloud Run (1ª generazione.) |
Cloud SDK |
|
|
API REST |
|
|
Terraform |
|
Trigger e tentativi
La seguente tabella mette a confronto i trigger e i nuovi tentativi per le funzioni:
Cloud Run Functions | Funzioni Cloud Run (1ª generazione.) | |
---|---|---|
Attivare e richiamare una funzione | Per la funzione creata con l'API Cloud Run Admin, specifica i trigger 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, specifica i trigger durante il deployment della funzione. |
Specifichi i trigger nell'ambito del deployment della funzione. |
Tipi di evento | Supporto per qualsiasi tipo di evento supportato da Eventarc, incluse oltre 90 origini eventi tramite Cloud Audit Logs. | Supporto diretto per gli eventi di 7 origini. |
Nuovi tentativi | Per le funzioni create con l'API Cloud Run Admin, aggiorna il
criterio di ripetizione dei tentativi
in Eventarc e configura
l'argomento dead letter
in Pub/Sub. Per le funzioni create con l'API Cloud Functions v2, specifica i tentativi come parte del deployment della funzione con il flag --retry .
|
Specifichi i tentativi come parte del deployment della funzione con il
flag --retry . |
Scollega la funzione
Le funzioni create utilizzando l'API Cloud Functions v2
(ad esempio utilizzando gcloud functions
, l'API REST o Terraform) possono essere
separate dal relativo ambiente API esistente. Dopo aver scollegato una funzione, puoi
gestirla solo utilizzando l'API Cloud Run Admin. Potresti
volerlo fare se i tuoi workload devono rimanere all'interno del
limite dell'API run.googleapis.com
per
Assured Workloads o per assicurarti
che i tuoi workload utilizzino lo SKU Cloud Run.
Per saperne di più, consulta Gestire le funzioni.
Passaggi successivi
- Prova la guida introduttiva per il deployment di una funzione Cloud Run.