Stuzzicato da un post su Guisa (che adesso non trovo :-), ma anche dal fatto di aver sentito direttamente da un po di persone che non c'è una chiara percezione delle differenze tra queste definizioni, ci scrivo su qualcosa.
Partiamo dalla definizione più vecchie:
OnPremise Installation
E' un Modello di Delivery che tutti conosciamo. Applicazioni, Line of Business, installate sui server della propria azienda. Per quanto le applicazioni in questo modo siano controllabili, customizzabili, rappresentano un costo per l'azienda in termini di manutenzione e personale specializzato. La controparte di OnPremise è un delivery OnDemand, cioè l'outsourcing delle applicazioni.
ASP (Application Service Provider)
E' la prima forma di delivery OnDemand. E qui facciamo un salto indietro anche di dieci anni. I principi di ASP partivano dal presupposto di spostare le applicazioni scritte per le aziende in host (o sarebbe meglio dire in "house") di terze parti in modo da liberarsi dell'infrastruttura necessaria per la gestione/manutenzione. E' una forma intermedia di outsourcing delle applicazioni.
Idea non malvagia ma fondamentalmente i problemi con questo modello rimanevano due:
Dal lato del provider: Si arriva ad avere DataCenter disomogeneri, ammassi di server con diverse caratteristiche e alti costi di manutenzione.
Dal lato dell'azienda enterprise consumer: La gestione dell'applicativo hostato in ASP necessità di risorse con skill specializzato sempre all'interno dell'azienda. Si è spostata l'infrastruttura ma non si risolve totalmente il problema.
SaaS (Software as a Service)
Veniamo ai tempi più moderni. Software as a Service è ancora un modello di Delivery.
Alcune aziende cominciano a fornire servizi specializzati totalmente OnDemand. Servizi hostati e manutenuti dal provider stesso. Questo è un modello più completo di outsourcing delle applicazioni.
Sia come installazione che come manutenzione giornaliera e operazioni tecniche di supporto.
Con SaaS, il software può anche essere reso disponibile a settori di mercato ampiamente differenti: Home consumer, small business, o enterprise.
Un esempio:
Applicazione OnPremise: Microsoft Exchange all'interno dell'azienda
Applicazione SaaS: Microsoft Exchange fornito da un provider di terze parti.
Questo è l'outsourcing.
Applicazione OnDemand e gestione dell'applicazione OnDemand.
E' un modello che funziona? Secondo gli analisti del mercato, AMR, Gartner, Forrester Research, non solo funziona ma avrà un trend di crescita molto forte nei prossimi anni, contro una diminuzione delle installazioni OnPremise.
Non è difficile capire il perchè del successo.
Le aziende non affrontano più grossi investimenti iniziali per i software, ma pagano OnDemand, con un ROI immediato.
Microsoft fornisce ad esempio il suo CRM come SaaS, SalesForce.com fa la stessa cosa. Segnatevi bene questo termine: "in the cloud" perchè lo sentirete spesso dire nei prossimi anni. I provider e le software house cominciano a spostare le proprie applicazioni "from OnDemand Installation, to the cloud".
Ma si può pensare a un modello SaaS puro...diciamo al 100%? Può un'enterprise avere tutto in outsourcing? Ci sono cmq dei problemi da affrontare, ad esempio la customizzazione, o l'identità e la sicurezza. Nascono già adesso e si incrementeranno in futuro applicazioni "composite" che uniscono servizi OnPremise, e in the cloud.
S+S (Software plus Services)
Differenza fondamentale! questo non è un modello di delivery. Comprende piuttosto la scrittura di applicativi o line of business "mashup" sia con servizi OnPremise che con servizi in the cloud.
Esempio:
Applicazione S+S: Microsoft Exchange all'interno dell'azienda e Microsoft Exchange Hosted Services.
Non sono la stessa applicazione, una volta OnPremise, una volta in the cloud. Gli hosted services offrono servizi aggiuntivi e non condividono una linea di codice con Exchange.
S+S è un "brand" di Microsoft.
La definizione "sotto sotto" è proprio: applicativi/servizi/LOB compositi con servizi OnPremise e in the cloud per prendere il meglio dei due mondi.
Il fatto di mettere un brand ha assolutamente senso! E vi sarà chiaro tra un po.
Errori che ho visto in giro:
1. Accostare S+S a SaaS considerandoli sinomini. No! S+S è un modello di scrittura di applicazioni, SaaS è un modello di delivery. Tutti e due investono anche architetturalmente il disegno degli applicativi ma non facciamo errori grossolani.
2. Accostare S+S con gli Smart Client. No! Altro errore grossolano, gli Smart Client sono applicazioni che possono girare sui Client anche in assenza di connessione e con capacità di sincronizzazione...tutt'altra premessa.
Come dicevo prima gli Hosted Exchange Services forniscono servizi aggiuntivi, e non condividono linee di codice con Exchange stesso. Stessa cosa dicasi con i BizTalk Services rispetto a Biztalk Server. Questo è un importante punto di riflessione:
Non esiste allo stato attuale un modello unificato per costruire applicazioni che rispondano alle premesse di S+S.
E questo è esattamente la visione strategica di Oslo. Cioè una piattaforma orientata allo sviluppo di applicazioni S+S, dalla modellazione, alla gestione del ciclo di vita al deploy finale.
Ecco perchè un brand nuovo. S+S.
Perchè questo è il terreno dove i grandi vendor si stanno dando battaglia e dove vedremo scontri titanici nei prossimi due anni.