Sviluppo locale

Cloud Functions supporta diversi metodi per eseguire le tue funzioni al di fuori dell'ambiente di deployment standard. Ciò è particolarmente utile per le 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 Cloud Function prima del deployment.

Limitazioni relative alle località di 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 a Cloud Functions.

Se una piattaforma conforme alle limitazioni relative alle località dei dati è compatibile con una delle funzioni Cloud Functions strati di astrazione, puoi eseguire funzioni direttamente su quella piattaforma sopra uno di questi strati.

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 a Cloud Functions, 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

Cloud Functions utilizza un'architettura multi-livello, gran parte della quale è stata open source. Questi componenti open source consentono di eseguire codice progettato Cloud Functions su altre piattaforme.

Due componenti di questa architettura che puoi eseguire dell'infrastruttura Cloud Functions il framework delle funzioni e il 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 Cloud Functions, Cloud Run e altre piattaforme basate su container:

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

Tipi di evento

Cloud Functions offre 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.

Scelta di 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 utilizzate all'interno di Cloud Functions 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 in base a un'architettura basata su container di Cloud Functions.

Entrambe le opzioni presentano vantaggi e svantaggi:

  • Gli ambienti basati su framework di Functions hanno spesso esigenze di risorse inferiori
  • Il framework di Functions non richiede un software di containerizzazione sottostante (come 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 le 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.