Servizi serverless il futuro è arrivato

INTRODUZIONE

Oramai sappiamo bene che l'informatica vive di fasi, più o meno lunghe, dove si affermano ideologie e metodologie diverse tra loro.

Durante gli ultimi decenni siamo passati a scrivere codice assembler, codice funzionale, codice ad oggetti e oggi a paradigmi orientati a micro-servizi.

In questi ultimi mesi sta prendendo piede una nuova metodologia di lavoro orientata alla "delega vera e propria del calcolo computazionale"

Infatti, con l'avvento di app e tecnologie che vengono eseguite su terminali poco performanti, l'idea di eseguire del codice su una macchina remota è molto comoda (oltre che fantascientifica)

Tutti le grandi aziende che offrono servizi Cloud (AWS, Google, Microsoft, IBM..) stanno pubblicando piattaforme per l'esecuzione di servizi serverless.

MONGODB STITCH


Il prodotto MongoDB Stitch permette di utilizzare sia la potenza del database documentale MongoDB, sia la potenza di calcolo della macchina remota mediante semplice chiamate web o native nel caso in cui stiamo scrivendo una app mobile.

Inoltre è possibile agganciare eventi in ascolto dei cambiamenti avvenuti sul database oppure gestire la sincronia dei dati memorizzati dal db al dispositivo mobile.

APEX


Apex è un'infrastruttura opensource che permette di interagire facilmente con AWS Lambda. La potenza di questo framework deriva dal fatto che è possibile utilizzare linguaggi non supportati nativamente da AWS. Inoltre offre una serie di utility per il testing e debug molto interessanti.

SERVERLESS FRAMEWORK


Servless framework è il miglior prodotto opensource. Scritto in node.js permette di sviluppare servizi per piattaforme diverse come AWS Lambda, Microsoft Azure, IBM Bluemix.

E' molto semplice da utilizzare e appunto per questo motivo negli ultimi mesi sta avendo molto successo.

La stessa AWS pubblicizza molto l'utilizza del sistema serverless perchè vuole accentrare il concetto di Cloud anche in quelle applicazioni che tipicamente non lo sono.

Non sempre le aziende decidono di supportare il Cloud per vari motivi che possono essere in primis i costi e le competenze che ne deriva.

ESEMPIO

Un esempio facile ed immediato di utilizzo di un'infrastruttura del genere è il "sito personale".

Sembra strano ma è vero. E' possibile sfruttare servizi che permettono di usufruire di pagine web statiche (github pages o similar) e racchiudere logica all'interno di un servizio serverless AWS Lamba.
Sempre limitandoci al nostro esempio, possiamo racchiudere la logica dell'invio di una mail.

Naturalmente questo è un esempio veramente semplice e banale ma serve a capire che oramai ogni funzione, più o meno complessa, può essere inserita in sistemi serverless.

NOTA BENE

Questo paradigma è molto simile a quello che è possibile fare all'interno di strutture distribuite basate su sviluppo di applicazioni (Ethereum / NEO / Etc)... secondo voi è una coincidenza?

Commenti

Post popolari in questo blog

Hadoop, how to create a single node cluster using docker

Apache Spark - Try it using docker!

How to install IOTA node with docker