
Livelli di maturità delle applicazioni SaaS
Una soluzione SaaS può essere implementata secondo quattro differenti livelli di maturità (riassunti nella figura seguente).
Livelli di maturità del SaaS
SaaS Level 1: Custom Tenant
Il primo livello di maturità di una soluzione SaaS è simile al modello di delivery del software dei primi Application Server Provider (ASP). Ogni cliente (o tenant) ha la propria versione personalizzata dell’applicazione in hosting e utilizza la propria istanza dell’applicazione, condividendo con gli altri clienti solo gli strati più bassi dell’infrastruttura IT. Questo modello di SaaS è basato sulla vendita di un numero ristretto di funzioni software tramite un contratto di noleggio. In questo modello, la manutenziona applicativa risulta essere particolarmente complicata e time-consuming. Se viene identificato un bug, la risoluzione del problema deve essere applicata per ogni differente istanza e ognuna deve essere testata individualmente, validata e re-inizializzata. Per questo generalmente gli ASP offrono i loro servizi ad un prezzo molto alto. Le tradizionali applicazioni traditional client-server possono essere trasformate nel primo livello di SaaS con un effort relativamente basso e senza la necessità di ridefinire l’architettura dell’intero sistema. Sebbene questo livello offra pochi benefici rispetto ad una soluzione SaaS matura, fornisce una riduzione dei costi attraverso il consolidamento di dell’hardware e dell’amministrazione.
SaaS Level 2: Applicazioni configurabili
Al secondo livello di maturità il modello SaaS prevede che il vendor ospiti un’istanza separata dell’applicazione per ogni cliente (o tenant). Tutte le istanze usano lo stesso codice implementativo e il vendor SaaS risponde alle diverse esigenze dei clienti fornendo molteplici opzioni di configurazione che permettono di personalizzare l’aspetto e il set di funzionalità per gli utenti finali. Pur condividendo lo stesso codice, ogni istanza rimane completamente isolata dalle altre. Il passaggio ad una base di codice comune per tutti permette di ridurre notevolmente l’effort di aggiornamento del software: ogni miglioria al codice resa necessaria per un cliente risulta disponibile immediatamente per tutti gli altri eliminando l’esigenza di aggiornare ogni singola istanza. D’altra parte, trasformare un’applicazione tradizionale in un’applicazione SaaS al secondo livello di maturità può richiedere uno sforzo decisamente maggiore rispetto al passaggio al primo livello. Anche questo modello di SaaS richiede che il vendor abbia a disposizione una quantità sufficiente di hardware e storage in grado di supportare un elevato numero di istanze di applicazioni eseguite in modo concorrente.
SaaS Level 3: Applicazioni configurabili e Multi-Tenant
Al terzo livello di maturità, un vendor SaaS tramite una singola istanza applicativa fornisce servizio a tutti i clienti. Grazie all’utilizzo di metadata configurabili è, infatti, possibile fornire un’interfaccia grafica e un set di funzionalità personalizzate per ogni cliente, garantendo la riservatezza dei dati di ogni cliente tramite le policies di sicurezza. Questo tipo di approccio elimina la necessità di provvedere alle risorse necessarie per eseguire un’istanza per ogni cliente, e si concretizza in un uso più efficiente delle risorse computazionali e in un notevole risparmio di costi. Uno svantaggio significativo è rappresentato dalla scalabilità dell’applicazione limitata dalla potenza del server sul quale è eseguita.
SaaS Level 4: Applicazioni configurabili, Multi-Tenant e scalabili
Al quarto livello di maturità il vendor SaaS gestisce molteplici clienti su una server farm in grado di bilanciare il carico. Un sistema SaaS di questo tipo è scalabile arbitrariamente in base al numero di utenti, il numero di server e di istanze può essere variato senza dover modificare le applicazioni e i bug possono essere corretti per tutti i clienti con la stessa semplicità con cui si modificano per uno solo.
Evoluzione del SaaS
Con l’ingresso dei clienti Enterprise nel mercato del SaaS si sta assistendo all’incremento di domande di modifiche e personalizzazioni e alla nascita di un modello apparentemente “ibrido” fra l’hosted e il pure-play SaaS. I clienti più grandi richiedono un’integrazione con le loro applicazioni esistenti, un modello flessibile di distribuzione del servizio e un’evoluzione delle funzionalità. Questa nuova generazione di SaaS abbraccia sia un codice multi-tenant che uno single-tenant, eliminando alcune delle prime economie di scala. I clienti stanno chiedendo un controllo sugli aggiornamenti, le configurazioni e le personalizzazioni, oltre ad un’integrazione col proprio IT. Il modello di prezzo sta evolvendo verso un ibrido fra una licenza e una sottoscrizione flessibile.
