Sviluppare applicazioni serverless con Azure Function - prima parte

di Andrea Tosato, in App Service,

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.

4 pagine in totale: 1 2 3 4
Contenuti dell'articolo

Commenti

Visualizza/aggiungi commenti

| Condividi su: Twitter, Facebook, LinkedIn

Per inserire un commento, devi avere un account.

Fai il login e torna a questa pagina, oppure registrati alla nostra community.

Approfondimenti

Top Ten Articoli

Articoli via e-mail

Iscriviti alla nostra newsletter nuoviarticoli per ricevere via e-mail le notifiche!

In primo piano

I più letti di oggi

In evidenza

Misc