Come funziona Funzioni di Azure

Completato

Qui si apprenderà come usare Funzioni di Azure per sviluppare architetture serverless e sfruttare le varie implementazioni di funzionalità offerte da Funzioni.

Si imparerà anche a conoscere meglio il funzionamento di Funzioni di Azure. Ciò consente anche di determinare come usare al meglio Funzioni di Azure per soddisfare i requisiti dell'organizzazione.

Funzioni di Azure è una soluzione di calcolo serverless che consente di scrivere meno codice. È un'offerta di piattaforma distribuita come servizio, quindi non è necessario preoccuparsi di ospitare l'app e si risparmia sui costi.

Funzioni di Azure è un'ottima soluzione per l'elaborazione di dati, l'integrazione di sistemi, l'utilizzo di Internet delle cose (IoT) e la compilazione di semplici API e microservizi.

Ridimensionamento delle app per le funzioni

Il contesto in cui vengono eseguite le funzioni viene chiamato app per le funzioni. Un'app per le funzioni è un'unità di distribuzione, gestione e scalabilità per le funzioni. Tutte le funzioni in un'app per le funzioni condividono le stesse impostazioni e le stesse connessioni.

Nei piani a consumo e Premium Funzioni ridimensiona le risorse di CPU e memoria aggiungendo altre istanze dell'app per le funzioni. Il numero di istanze viene determinato in base al numero di eventi che attivano una funzione. Tutte le funzioni all'interno di un'app per le funzioni condividono le risorse all'interno di un'istanza e vengono ridimensionate contemporaneamente.

Monitoraggio di Funzioni di Azure

Funzioni di Azure offre l'integrazione predefinita con Azure Application Insights per il monitoraggio delle funzioni. Application Insights raccoglie i dati di log, prestazioni ed errori. Consente di rilevare le anomalie nelle prestazioni, diagnosticare i problemi e comprendere meglio come vengono usate le funzioni.

La strumentazione di Application Insights è incorporata in Funzioni di Azure. Grazie all'integrazione di Application Insights, i dati di telemetria vengono inviati all'istanza di Application Insights connessa. Questi dati includono i log generati dall'host di Funzioni, le tracce scritte dal codice delle funzioni e i dati sulle prestazioni.

Nota

Oltre ai dati provenienti dalle funzioni e dall'host di Funzioni, è possibile raccogliere dati dal controller di scalabilità di Funzioni.

L'immagine seguente mostra un esempio di come visualizzare i dati in Application Insights per un'app per le funzioni.

Screenshot showing Monitoring telemetry data for Azure Functions

Componenti di Funzioni di Azure

La tabella seguente descrive i componenti principali di Funzioni di Azure:

Componente Descrizione
Trigger di funzione I trigger sono ciò che causa l'esecuzione di una funzione. Un trigger definisce il modo in cui una funzione viene richiamata e una funzione deve avere esattamente un trigger.
Associazioni di funzioni L’associazione di binding a una funzione rappresenta un modo dichiarativo per connettere un'altra risorsa alla funzione. I binding possono essere connessi come binding di input, binding di output o di entrambi i tipi. I dati dei binding vengono forniti alla funzione come parametri. Se non si vuole o non è possibile usare le associazioni, è comunque possibile usare un SDK client nelle funzioni come si fa normalmente quando ci si connette ai servizi.
Runtime della funzione Funzioni di Azure supporta attualmente diverse versioni dell'host di runtime. Funzioni supporta anche molti runtime diversi, ad esempio .NET Core, Node.js, Java, PowerShell e Python. Durante lo sviluppo, è possibile installare il runtime di Funzioni nel computer locale ed eseguire le funzioni in locale usando Azure Functions Core Tools.
Gestione API Gestione API garantisce sicurezza e funzionalità di routing per gli endpoint delle funzioni attivate tramite HTTP, in modo da esporli come una vera API REST.
Slot di distribuzione Gli slot di distribuzione di Funzioni di Azure consentono all'app per le funzioni di eseguire istanze diverse denominate "slot". Gli slot sono ambienti diversi esposti tramite un endpoint disponibile pubblicamente. Gli slot consentono di testare una nuova versione delle funzioni in Azure in un ambiente sicuro e quindi di far passare facilmente la nuova versione nell'ambiente di produzione.
Configurazione dell'app per le funzioni Le stringhe di connessione, le variabili di ambiente e altre impostazioni dell'applicazione vengono definite separatamente per ogni app per le funzioni. I valori delle impostazioni dell'app per le funzioni possono essere letti nel codice come variabili di ambiente.

Questi componenti interagiscono per fornire una piattaforma end-to-end completa che consenta ai tecnici DevOps e delle applicazioni di sviluppare architetture serverless sfruttando Funzioni di Azure.

Verificare le conoscenze

1.

Quanti trigger ha una funzione di Azure?