Progettazione dell'architettura delle funzioni serverless

L'architettura serverless evolve le piattaforme cloud verso il codice nativo del cloud puro astraendo il codice dall'infrastruttura che deve essere eseguito. Funzioni di Azure è un'opzione di calcolo serverless che supporta funzioni, piccole parti di codice che eseguono singole operazioni.

I vantaggi dell'uso di architetture serverless con applicazioni Funzioni includono:

  • L'infrastruttura di Azure fornisce automaticamente tutti i server aggiornati che le applicazioni devono mantenere in esecuzione su larga scala.
  • Le risorse di calcolo allocano dinamicamente e ridimensionano automaticamente per soddisfare le esigenze elastiche. Serverless non significa "nessun server", ma "meno server", perché i server vengono eseguiti solo in base alle esigenze.
  • La micro-fatturazione consente di risparmiare i costi caricando solo le risorse di calcolo e la durata usata dal codice per l'esecuzione.
  • Le associazioni di funzioni semplificano l'integrazione fornendo accesso dichiarativo a un'ampia gamma di servizi di Azure e di terze parti.

Le funzioni sono basate su eventi. Un evento esterno come una richiesta Web HTTP, un messaggio, una pianificazione o una modifica nei dati attiva il codice della funzione. Un'applicazione Funzioni non codifica il trigger, solo la risposta al trigger. Con una barriera inferiore alla voce, gli sviluppatori possono concentrarsi sulla logica di business, anziché scrivere codice per gestire i problemi dell'infrastruttura, ad esempio la messaggistica.

Funzioni di Azure è un servizio gestito in Azure e Azure Stack. Il runtime di funzioni di open source funziona in molti ambienti, tra cui Kubernetes, Azure IoT Edge, locale e altri cloud.

Serverless e Funzioni richiedono nuovi modi di pensare e nuovi approcci alla creazione di applicazioni. Non sono le soluzioni giuste per ogni problema. Ad esempio, gli scenari di funzioni serverless, vedere Architetture di riferimento.

Passaggi di implementazione

L'implementazione riuscita delle tecnologie serverless con Funzioni di Azure richiede le azioni seguenti:

  • Decidere e pianificare

    Gli architetti e i responsabili delle decisioni tecniche (TDMS) eseguono la valutazione dell'applicazione, condurre o partecipare a workshop tecnici e formazione, eseguire prove di concetto (PoC) o progetti pilota e condurre sessioni di progettazione dell'architettura in base alle esigenze.

  • Sviluppare e distribuire app

    Gli sviluppatori implementano modelli e procedure di sviluppo delle app serverless, configurano pipeline DevOps e usano procedure consigliate di progettazione dell'affidabilità del sito .SRE.

  • Gestire le operazioni

    I professionisti IT identificano le configurazioni di hosting, la scalabilità a prova futura automatizzando il provisioning dell'infrastruttura e mantenendo la disponibilità pianificando la continuità aziendale e il ripristino di emergenza.

  • Proteggere le app

    I professionisti della sicurezza gestiscono Funzioni di Azure elementi essenziali per la sicurezza, proteggere la configurazione dell'hosting e fornire indicazioni sulla sicurezza delle applicazioni.