Progettare soluzioni di Funzioni di Azure

Completato

Azure Functions è una piattaforma serverless per applicazioni. Le funzioni vengono usate quando si vuole eseguire una piccola parte di codice nel cloud, senza doversi preoccupare dell'infrastruttura.

Informazioni su Funzioni di Azure

Verranno ora esaminati alcuni vantaggi e scenari di Funzioni di Azure che lo rendono una soluzione di calcolo ottimale per la creazione di nuovi carichi di lavoro.

Diagramma di flusso per la selezione di soluzioni di Funzioni di Azure per creare nuovi carichi di lavoro.

  • Funzioni di Azure offre scalabilità intrinseca. Vengono addebitati costi solo per le risorse usate.

  • Con Funzioni di Azure è possibile scrivere il codice della funzione nel linguaggio preferito.

  • Funzioni di Azure supporta calcolo su richiesta in due modi significativi:

    • Funzioni di Azure consente di implementare la logica del sistema in blocchi di codice facilmente disponibili. Questi blocchi di codice (funzioni) possono essere eseguiti ogni volta che è necessario rispondere agli eventi critici.

    • Man mano che aumentano le richieste, Funzioni di Azure soddisfa la domanda con tutte le risorse e le istanze di funzione necessarie. Al termine delle richieste, tutte le risorse aggiuntive e le istanze dell'applicazione vengono disattivate automaticamente.

  • Funzioni di Azure è una soluzione ideale per la gestione di azioni definibili specifiche attivate da un evento. Una funzione può elaborare una chiamata API e archiviare i dati elaborati in Azure Cosmos DB. Dopo il trasferimento dei dati, un'altra funzione può attivare una notifica.

    Diagramma che mostra come Funzioni di Azure risponde alle chiamate API e restituisce i dati in Hub di notifica di Azure.

Aspetti da considerare quando si usa Funzioni di Azure

Verranno ora esaminate alcune procedure consigliate per l'uso di Funzioni di Azure. Quando si considerano questi suggerimenti, considerare i vantaggi dell'uso di Funzioni di Azure nell'infrastruttura di Tailwind Traders.

  • Considera le funzioni a esecuzione prolungata. Evitare funzioni di grandi dimensioni a esecuzione prolungata che possono causare problemi di timeout imprevisti. Quando possibile, effettuare il refactoring di funzioni di grandi dimensioni in set di funzioni più piccoli che interagiscono e restituiscono risposte più velocemente. Il timeout predefinito è 300 secondi per le funzioni del piano a consumo e 30 minuti per qualsiasi altro piano.

  • Prendi in considerazione le funzioni durevoli. Supera i problemi di timeout nella tua configurazione con funzioni durevoli e set di funzioni più ridotti. Funzioni permanenti consentono di scrivere funzioni con stato. Dietro le quinte, la funzione gestisce lo stato, i checkpoint e i riavvii dell'applicazione. Un esempio di modello di applicazione per le funzioni durevoli è il concatenamento delle funzioni. Il concatenamento di funzioni esegue una sequenza di funzioni in un ordine specifico. L'output di una funzione viene applicato all'input di un'altra funzione.

  • Prendere in considerazione le prestazioni e il ridimensionamento. Pianificare il raggruppamento delle funzioni con profili di carico diversi. Si consideri uno scenario in cui sono disponibili due funzioni. Una funzione elabora molte migliaia di messaggi in coda e ha requisiti di memoria insufficiente. L'altra funzione viene chiamata solo occasionalmente, ma presenta requisiti di memoria elevati. In questo scenario, è possibile distribuire applicazioni per le funzioni separate, in cui ogni funzione ha un proprio set di risorse. Le risorse separate consentono di ridimensionare in modo indipendente le funzioni.

  • Prendere in considerazione le funzioni difensive. Progetta le tue funzioni per gestire le eccezioni. I servizi downstream, le interruzioni di rete o i limiti di memoria possono causare un errore di una funzione. Scrivere le funzioni in modo che possano continuare in caso di errore.

  • Prendi in considerazione la possibilità di non condividere gli account di archiviazione. Ottimizzare le prestazioni usando un account di archiviazione separato per ogni applicazione di funzione. Quando si crea un'app per le funzioni, associarla a un account di archiviazione univoco. L'uso di un account di archiviazione univoco è importante se la funzione genera un volume elevato di transazioni di archiviazione.

Applicazione aziendale

Prenditi qualche minuto per leggere altre procedure consigliate per le Funzioni di Azure .

Suggerimento

Altre informazioni su Funzioni di Azure sono disponibili nel modulo Esplorare Funzioni di Azure .