Serverless: l’erede della multi-tenancy?

Nel primo decennio di vita dell’ecosistema SaaS compagnie come NetSuite e SalesForce scelsero di affidarsi al principio della multi-tenancy: vendor storici come SAP o Oracle cercarono ovviamente di affossare il nuovo trend defininendolo “un rischioso miscuglio dei dati degli utenti” e proponendo soluzioni alternative (architetture proprietarie, database privati virtualizzati). I tentativi non andarono a buon fine e la multi-tenancy si affermò come nuovo paradigma.

E’ quindi logico definire la multi-tenancy come una vera e propria rivoluzione in ambito SaaS: prima di tutto per le stesse aziende operanti nel settore (come Salesforce) che furono in grado di incrementare i margini di profitto – prima dell’approccio multi tenant, un provider con 200.000 utenti avrebbe dovuto munirsi necessariamente di altrettanti server, riducendo ai minimi termini i guadagni; in secondo luogo per le piccole  e medie imprese che fino a quel momento non erano state in grado di avvalersi di software di livello enterprise. Basti pensare ad esempio ai CRM Salesforce o ad altre applicazioni di accounting e marketing che furono finalmente alla portata del loro budget; infine per il nuovo modello di tariffazione affermatosi – secondo il quale il corrispettivo da pagare al provider veniva ora calcolato in base al numero di utenti ed all’utilizzo del servizio (in precedenza numero di core e server).

Dalla multi-tenancy al serverless

 

AWS Lambda, servizi serverless

Schema di funzionamento del servizio Lambda. L’utente deve procedere all’upload del codice ed alla definizione dei trigger che ne attueranno l’esecuzione in Lambda. Il corrispettivo da pagare è calcolato in base al tempo di esecuzione utilizzato dall’utente – il codice “in attesa” non viene quindi conteggiato – fonte pagina ufficiale AWS

Con “serverless” si intende un nuovo approccio destinato, teoricamente, a portare i benefici/vantaggi offerti dalla multi-tenancy ad un nuovo livello: in sintesi parliamo di un modello computazionale nel quale i server dedicati o le VM in esecuzione non sono più necessarie. E’ infatti la piattaforma stessa del provider ad avviare ed interrompere i vari processi (scalando all’occorrenza il tutto) e lasciando al cliente l’onere di pagare una somma pari al tempo di esecuzione impiegato.

L’architettura serverless sembra inoltre prestarsi perfettamente ad essere utilizzata tanto con tecnologie del futuro, ad esempio l’Internet delle Cose, che del presente (app mobile ed analisi dei dati in tempo reale) aprendo tutta una serie di inesplorati orizzonti alle aziende ed ai privati. Gli esperti prevedono che entro pochi anni ogni piattaforma cloud dovrà supportare in qualche maniera l’architettura serverless.

Tra i primi provider a sperimentare il nuovo modello Amazon Web Services con Lambda, un servizio per l’esecuzione del codice presentato in occasione del re:Invent 2014. I competitor, seppure in ritardo, hanno risposto con soluzioni alternative – ricordiamo ad esempio Google Cloud Functions (lanciato a febbraio 2016 ed ancora in fase alpha) ed Azure Functions (presentato a marzo 2016 ed attualmente in fase preview).

Naturalmente, come accaduto con la multi-tenancy, non sarà possibile convertire istantaneamente il proprio codice e le proprie applicazioni al nuovo standard: per essere adeguate agli standard dei framework che si affermeranno sul mercato, queste ultime dovranno infatti essere riscritte e ripensate dalle fondamenta.