Sviluppo locale

Le funzioni Cloud Run supportano diversi metodi per eseguire le funzioni al di fuori dell'ambiente di deployment standard. Ciò è particolarmente utile per i test sviluppo e per le situazioni in cui desideri testare la funzione prima durante il deployment.

Casi d'uso

La possibilità di eseguire le tue funzioni senza eseguirne il deployment può semplificare test, conformità con le restrizioni in base alla località dei dati e multi-cloud deployment di machine learning.

Test locale

Per testare una funzione eseguendone nuovamente il deployment dopo ogni modifica è necessario attendere il deployment. Al contrario, testare la funzione direttamente nel dell'ambiente di sviluppo può abbreviare il ciclo di test iterativo.

Per ulteriori informazioni sui test, consulta Testa una funzione Cloud Run prima del deployment.

Restrizioni relative alla località dei dati

In alcuni casi, normative o politiche potrebbero richiedere che i dati vengano conservati all'interno di un a determinati confini geografici, organizzativi o di rete che potrebbero non essere accessibile alle funzioni Cloud Run.

Se una piattaforma conforme alle limitazioni di località dei dati è compatibile con uno dei livelli di astrazione delle funzioni Cloud Run, puoi eseguire le funzioni direttamente su quella piattaforma su uno di questi livelli.

Deployment multi-cloud

I deployment delle funzioni multi-cloud sono un pattern consolidato per ridurre i tempi di inattività rischio elevato in ambienti critici per l'affidabilità. Deployment di funzioni negli ambienti oltre alle funzioni di Cloud Run, riduce il rischio si sono verificati tempi di inattività non pianificati.

Scelte di implementazione

Prima di poter configurare un ambiente di hosting per le funzioni, è necessario scelte che dovrai fare:

  • Quale livello di astrazione vuoi utilizzare?
  • Il tipo di funzione da eseguire.

Livelli di astrazione

Le funzioni Cloud Run stesse utilizzano un'architettura a più livelli, gran parte della quale è stata aperta. Questi componenti open source consentono di eseguire codice progettato Cloud Run funziona su altre piattaforme.

Due componenti di questa architettura che puoi eseguire al di fuori dell'infrastruttura delle funzioni Cloud Run sono il Functions Framework e l'emulatore di funzioni. Questo documento spiega lo scopo di ciascuno di questi livelli e come si adattano in sinergia.

Questo diagramma mostra il layout tipico dei deployment di funzioni in alto Funzioni di Cloud Run, Cloud Run e altre piattaforme basate su container:

Layout del wrapping di funzioni: funzione, framework delle funzioni, buildpack, piattaforma host

Tipi di evento

Le funzioni Cloud Run prevedono due tipi principali di funzioni:

Le funzioni HTTP possono essere attivate da richieste HTTP arbitrarie come webhook, mentre le funzioni basate su eventi ricevono eventi prodotti altri prodotti Google Cloud.

Scegliere un livello di astrazione

Puoi eseguire le funzioni in locale utilizzando Framework delle funzioni o Emulatore di funzioni.

Il framework delle funzioni è un insieme di modelli open source librerie utilizzate all'interno delle funzioni di Cloud Run per separare le richieste HTTP in entrata di funzioni specifiche per ogni linguaggio. Puoi utilizzarli per convertire in un servizio HTTP eseguibile localmente.

L'emulatore di funzioni utilizza Buildpack cloud-native e Docker per eseguire il wrapping dei servizi HTTP creati dal framework di Functions e trasformarli in applicazioni eseguibili di container, che poi vengono eseguiti sull'architettura basata su container delle funzioni Cloud Run.

Entrambe le opzioni presentano vantaggi e svantaggi:

  • Gli ambienti basati su framework di Functions hanno spesso esigenze di risorse inferiori
  • Il framework Functions non richiede software di containerizzazione sottostante (come Docker).
  • Gli ambienti basati su framework di funzioni richiedono un linguaggio sottostante dell'infrastruttura (come gestori di pacchetti e runtime dei linguaggi)
  • L'emulatore di funzioni esegue il mirroring dei comandi di produzione, come le chiamate e il deployment.
  • L'emulatore di funzioni offre un'elevata precisione di come vengono eseguite le funzioni quando vengono distribuite in produzione.

Esegui funzioni a livello locale

Sia il framework di Functions che l'emulatore di funzioni funzionano inoltrando le richieste HTTP al tuo personalizzata.

Consulta Esecuzione del framework di Functions per Scopri di più su come eseguire le funzioni localmente utilizzando il framework di Functions.

Vedi Eseguire le funzioni utilizzando l'emulatore di funzioni per Scopri di più su come eseguire le funzioni localmente utilizzando l'emulatore di funzioni.