Dall'archivio articoli > App Service
Sviluppare applicazioni serverless con Azure Function - prima parte
Per poter utilizzare questa funzionalità, devi fare il login o iscriverti.
Azure Function è un servizio disponibile su Azure e rappresenta una delle evoluzioni delle WebApp ed è l'implementazione Microsoft dell'architettura serverless. Sebbene la parola serverless ci faccia pensare a "codice eseguito senza server", la realtà dei fatti non rispecchia la traduzione letterale. Infatti, la parte server è ancora molto importante, ma non è più necessario pensare alla sua gestione. Ad esempio, l'aggiornamento del sistema operativo o del runtime nel quale viene eseguita la function non è più a carico dello sviluppatore ma bensì del vendor che ci fornisce il servizio. L'architettura serverless risulta ancora più astratta rispetto a quelle esistenti come IasS, CaaS o le più diffuse PaaS nelle quali rientrano gli Azure App Service (WebApp). La nuova architettura FaaS sposta il focus della programmazione sul singolo segmento di codice, ossia la funzione, la quale è l'unità minima che può essere scalata. In conclusione, come si evince dall'immagine seguente, FaaS porta la scalabilità a livello di singola funzione.
Function as a Service (FaaS) introduce un nuovo livello di astrazione e nel caso di Azure si concretizza nel servizio Azure Function che è stato creato sfruttando le tecnologie dell'attuale Azure App Service e WebJobs SDK. Azure Function è uno strumento poliglotta poiché può essere scritto da una varietà di linguaggi non indifferenti: JavaScript, TypeScript, C#, F#, Php, Python, PowerShell, Bash, Batch.
In sostanza, Azure Function fornisce benefici come: Riduzione del tempo di commercializzazione del prodotto, riduzione del tempo di gestione dell'infrastruttura, introduce il concetto di pagamento a consumo e come ultimo ma non meno importante, il nostro codice scala rapidamente.
In conclusione, Azure Function si presta bene a scenari in cui il codice da eseguire ha un unico scopo ed è formato da codice conciso. In altre parole, il tempo di esecuzione del codice dovrebbe essere limitato nel tempo, inoltre deve essere idempotente, ovvero, non vi è alcuna differenza osservabile fra l'effetto di una singola richiesta eseguita con quel metodo e le n sue richieste multiple consecutive effettuate con l'identica richiesta. Azure Function, non potrà sostituire elaborazioni batch o long-running procesess; per questa casistica è consigliato l'utilizzo dei WebJobs e del loro SDK poiché si prestano meglio alla risoluzione del problema.
Per inserire un commento, devi avere un account.
Fai il login e torna a questa pagina, oppure registrati alla nostra community.