# Software as a service

Software as a service (acronimo SaaS, lett. "software come servizio", in alcuni casi anche Pay Per Use - PPU cioè lett. "pagare per l'uso") è un modello di servizio del software applicativo realizzato da un produttore che mette a disposizione un programma, direttamente o tramite terze parti, con modalità telematiche come ad esempio un'applicazione web.

## Storia

Il concetto di "software come servizio" è iniziato a circolare nell'anno 2000 ed è associato principalmente al saggio di Tim O'Reilly su The Open Source Paradigm Shift così come a marchi come WebEx e Remote Business.. Questo concetto è anche apparso nell'articolo Strategic Backgrounder: Software As A Service pubblicato dalla eBusiness Division della Software & Information Industry's (SIIA).
Un'evoluzione del concetto è stata pubblicata nel maggio 2020, ovvero il CSA (Cloud Service Application) che permette la realizzazione di un unico applicativo eseguibile utilizzabile su desktop e su mobile senza andare a riprogettare e realizzare nuovi applicativi.

## Descrizione
### Caratteri principali

Il software utilizzato non è installato localmente, ma viene messo a disposizione dei clienti tramite una connessione internet (previo eventuale abbonamento), pagando per l'utilizzo del software, non per il suo possesso. Per questo, si tratta per definizione di un servizio di cloud computing. Può esser definito come un insieme di mezzi, servizi e competenze che consente alle aziende di esternalizzare alcuni aspetti del loro sistema informatico e sostituirli con un costo di funzionamento piuttosto che con un investimento vero e proprio. È anche, secondo i contratti di servizio proposti, la possibilità di implementare Accordi sul Livello del Servizio (SLA) e di limitare la loro esposizione a una tecnologia dato che la cessazione del contratto permette a queste aziende di abbandonare una tecnologia non più voluta.
L'espressione Software as a Service è legata principalmente al mondo commerciale, mentre le applicazioni orientate all'utente finale basate su applicativi residenti su server remoti vengono considerate facenti parte del Web 2.0.

### Funzionamento

L'utilizzo avviene tramite API accessibili via web, spesso come Web service o REST. La fruizione tramite browser è quella più diffusa ma non è l'unica (ad esempio può essere installata localmente un'app che fa da agent ma tutti i contenuti sono erogati on line).
La logica Software as a service (SaaS) è uno dei risultati pratici del paradigma service-oriented architecture (SOA). Il termine "SaaS" è diventato il termine di riferimento, rimpiazzando i precedenti termini Application service provider (ASP) e on-demand.

## Aspetti dibattuti
### Vantaggi

* L'uso dei "software come servizio" presenta un impatto finanziario di una certa rilevanza. I costi totali di gestione e manutenzione della soluzione (Total Cost of Ownership, TCO) appaiono quasi inalterati, a differenza dell'acquisizione di una licenza tradizionale, che di solito è considerata in capitale (Capex, esclusa manutenzione), questa spesa sarà definita come costo operativo (OPEX).
* Le soluzioni SaaS sono generalmente molto flessibili e permettono di implementare soluzioni on demand.
* L'uso di un computer a basso costo con unicamente un browser e nessun'altra licenza può bastare. Il costo del consumo elettrico può dunque essere abbassato.
* La possibilità di accedere al software da qualunque dispositivo, senza necessariamente ricorrere ad una VPN, in qualunque parte del mondo (a meno che il servizio non sia appositamente bloccato in certe regioni oppure sia volutamente impostata una VPN per ragioni sistemistiche).
* Può essere utilizzato da qualsiasi sistema operativo, con qualsiasi dispositivo, mediante i comuni browser. Non occorre installare nulla né sul dispositivo né su server on premise. È sempre disponibile e aggiornato.

### Svantaggi

* Le informazioni del cliente e/o utente possono essere trovati sul server del fornitore di servizi: questo non è sempre accettabile per ragioni di tutela della segretezza aziendale. È indispensabile imporre delle misure di sicurezza che proibiscano al fornitore di servizi di accedere ai dati dell'azienda nel caso in cui ci sia separazione delle due parti.
* Bisogna adattare il proprio Piano di continuità aziendale (PCO) in funzione dei SaaS e prevedere i diversi scenari possibili in caso di problemi con il fornitore di servizi.
* Il servizio prevede non più il funzionamento di un solo sistema informatico, bensì almeno di due: quello del fornitore del servizio e quello del cliente. La comunicazione tra i due sistemi è assicurata dall'Internet service provider; se questa terza entità non assicura la comunicazione, l'attività dell'azienda è impossibile.
* Se temporaneamente non c'è connessione internet o essa è fisiologicamente debole, il SaaS non funziona o funziona con prestazioni degradate.

### Il data escrow

Software as a service data escrow è il processo di conservazione di una copia dei dati critici dell'applicazione software-as-a-service presso una terza parte indipendente. Simile all'escrow del codice sorgente, in cui il codice sorgente del software critico è archiviato con una terza parte indipendente, l'escrow dei dati SaaS applica la stessa logica ai dati all'interno di un'applicazione SaaS. Consente alle aziende di proteggere e assicurare tutti i dati che risiedono all'interno delle applicazioni SaaS, proteggendoli dalla perdita di dati.
Ci sono molte e varie ragioni per considerare l'escrow dei dati SaaS, comprese le preoccupazioni sul fallimento del fornitore, le interruzioni non pianificate del servizio e la potenziale perdita o danneggiamento dei dati. Molte aziende si assicurano di rispettare i propri standard di governance dei dati o cercano di migliorare i report e l'analisi aziendale rispetto ai dati SaaS. La ricerca condotta da Clearpace Software Ltd. sulla crescita di SaaS ha mostrato che l'85% dei partecipanti voleva prendere una copia dei propri dati SaaS. Un terzo di questi partecipanti voleva una copia quotidiana.
Le principali applicazioni attuali di questo modello sono:
* la gestione delle relazioni coi clienti (CRM);
* le enterprise resource planning (ERP);
* la video conferenza;
* la gestione delle risorse umane;
* le comunicazioni unificate (unified communications);
* il lavoro collaborativo;
* le e-mail;
* i servizi critici del dominio.