Un servizio
DBaaS (Database as a Service) è un particolare tipo di PaaS (
Platform as a Service) grazie al quale uno sviluppatore, un’azienda o qualsiasi altra organizzazione interessata ad operare con i dati, ha la possibilità di accedere ad uno o più database e di
gestirli attraverso il cloud.
Questo significa che il DBMS (
Database Management System) o i DBMS su cui vengono attivate le istanze dei database, non sono installati localmente come avverrebbe nel caso di un’infrastruttura di tipo on-premise, ma vengono messi a disposizione da un Cloud provider che si occupa anche di tutti gli aspetti riguardanti la manutenzione, gli aggiornamenti, la continuità di servizio e la sicurezza.
Applicazioni mobile, siti Internet e Web application sono solo alcuni esempi di piattaforme che potrebbero avere la necessità di raccogliere, conservare ed elaborare dati per il loro funzionamento. Grazie ad un DBaaS è possibile disporre di risorse scalabili accessibili on demand e quindi adattabili alle esigenze di un progetto, incrementandole man mano che il volume dei dati cresce e diminuendole nei periodi in cui il database viene utilizzato meno frequentemente.
DBaaS e applicazioni pratiche
Un caso d’uso in grado di evidenziare i vantaggi del DBaaS è per esempio quello di un’applicazione dedicata al fitness e alla cura della salute. Una piattaforma di questo genere potrebbe dover raccogliere quotidianamente una serie di informazioni dettagliate per ciascun utilizzatore, dai risultati delle sessioni di training (distanze percorse, numero di passi, calorie consumate, date e orari degli allenamenti, percorsi effettuati) a quelle relative agli obbiettivi da ottenere (variazioni della frequenza cardiaca, calo di peso, respirazione, pressione sanguigna, qualità del sonno, migliore alimentazione).
Come qualsiasi altro progetto software
data driven, è probabile che anche questa applicazione sia destinata a dover gestire una quantità limitata di dati in fase di sviluppo, quando non è ancora disponibile per il pubblico. Le risorse necessarie per il suo funzionamento aumenteranno di certo durante il betatesting per poi registrare un incremento notevole in caso di successo.
Ma anche nel momento in cui la platea di utilizzatori dovesse diventare molto ampia vi saranno sicuramente periodi in cui l’impiego dell’applicazione sarà meno intenso, ad esempio in corrispondenza delle festività quando gli allenamenti potrebbero diradarsi. Come bilanciare costi ed esigenze legate a traffico, prestazioni e risorse superando i limiti di un’infrastruttura locale? Sulla base dell’esperienza descritta in precedenza proviamo ora ad analizzare quelli che potrebbero essere i vantaggi dell’adozione di una soluzione DBaaS.
I benefici del DBaaS
Potendo avvalersi delle
risorse scalabili di un DBaaS si ha a disposizione la flessibilità necessaria per poter contare su una configurazione commisurata alle esigenze correnti, vengono ottimizzati i costi relativi all’uso di risorse e non si ha l’onere di dover gestire la complessità tecnica di un’infrastruttura che è invece a carico del provider.
Quando si parla di dati sono inoltre fondamentali gli aspetti riguardanti la sicurezza, doverli affrontare in un ambiente on-premise, generalmente caratterizzato da maggiore rigidità rispetto ad un servizio Cloud, può rivelarsi molto complesso.
Anche in questo caso infatti non sono le aziende, i professionisti o le Pubbliche Amministrazioni a dover affrontare in loco procedure come l’installazione o l’aggiornamento di software antivirus, la configurazione di firewall, gli interventi per la riparazione di hardware danneggiato, la creazione periodica di backup e il ripristino automatico dei database in caso di incidenti o attacchi.
In linea generale un servizio DBaaS risulta ideale per tutte quelle situazioni in cui si desidera poter condividere dati facilmente tra i collaboratori di un’azienda indipendentemente dalla sua dimensione e dalle modalità di lavoro adottate (ad esempio sia in sede che in smart working), si vogliano sviluppare applicazioni focalizzate sugli utenti e con volumi di traffico potenzialmente molto grandi, si devono modulare gli investimenti in base ai picchi stagionali (come negli e-commerce) o migrare i propri database da un’infrastruttura on-premise al cloud per ottenere maggiore efficienza a costi più contenuti.
Tipologie di DBaaS: quale scegliere?
Fondamentalmente prima dell’acquisto di un servizio DBaaS è possibile valutare tra due tipologie di offerta:
1. i DBaaS con
risorse condivise: le risorse disponibili vengono distribuite tra più utenze;
2. i DBaaS con
risorse dedicate: le risorse sono interamente a disposizione dell’utilizzatore.
Nel primo caso la condivisione delle risorse consente di ridurre i costi di esercizio e viene comunque garantita la possibilità di poter gestire i picchi di utilizzo. Si tratta di una configurazione che generalmente prevede di dover pagare per lo spazio occupato, incrementabile a richiesta, e viene messo a disposizione un certo numero di connessioni simultanee ai database su cui si deve lavorare.
Date le sue caratteristiche si tratta di una formula consigliabile quando si vogliono affrontare fasi particolari di un progetto come lo sviluppo e il testing di un’applicazione.
Nel secondo caso il DBaaS offre invece un’istanza dedicata accessibile soltanto al suo utilizzatore o da chi per lui e da nessun altro, per questo motivo il pagamento avviene solitamente in base alle caratteristiche dell’istanza stessa, ad esempio la tipologia di DBMS scelta. In configurazioni di questo genere si ha poi di solito la possibilità di intervenire anche sulle risorse computazionali disponibili (ad esempio CPU e memoria RAM), adattandole alle esigenze di crescita di un progetto.
Parliamo quindi di una soluzione ideale per gli ambienti di produzione, dove le risorse devono essere sempre garantite.
I criteri per la scelta di un DBaaS
Ora che conosciamo il funzionamento di un DBaaS e quali sono i suoi vantaggi rispetto alle infrastrutture on-premise, proviamo ad identificare quali sono i criteri da utilizzare per la scelta di un servizio di questo tipo.
I DBMS
Quando si opera con i database, si gestisce un’applicazione che deve interagire con essi o si desidera migrare dei dati, è importante poter contare su una piattaforma che sia in grado di fornire gli strumenti con cui l’utilizzatore ha familiarità ed è quindi abituato a lavorare.
Nel caso specifico di una migrazione, a meno di considerazioni tecniche che motivino una decisione differente, è poi auspicabile che il passaggio dei dati avvenga tra due infrastrutture dotate del medesimo Database Manager o di un engine dalle caratteristiche simili.
Attualmente i DBMS relazionali più diffusi sul mercato sono
MySQL, soluzione open source implementata da Oracle, ed
SQL Server della Microsoft. Prima di procedere con l’acquisto è quindi bene verificare che il servizio offra queste soluzioni, nel caso di una configurazione basata su MySQL è inoltre possibile migrare facilmente in essa anche database creati su MariaDB che è un fork (progetto derivato) di MySQL.
Risorse e connessioni simultanee
Per la scelta si deve poi tenere conto delle modalità con cui vengono erogate le risorse, se si opta per una configurazione con risorse condivise è ad esempio buona norma poter incrementare lo spazio disponibile senza causare interruzioni di servizio e sapere di poter contare su un certo numero di connessioni contemporanee.
Nel caso di un DBaaS con risorse dedicate invece, può essere utile disporre di una configurazione ancora più performante, magari con una quantità minima di connessioni simultanee per GB di RAM o addirittura nessun limite di default.
Utenti e privilegi
Da tenere in considerazione anche le funzionalità dedicate all’ACL (
Access Control List) e cioè alle impostazioni disponibili per definire gli utenti che hanno accesso alla gestione dei dati e i privilegi (o permessi) ad essi associati.
Nel caso di un DBaaS con risorse condivise potrebbe essere sufficiente un singolo utente con privilegi di amministrazione che abbia la possibilità di leggere scrivere e cancellare dati, ma optando per un servizio con risorse dedicate potrebbe essere utile disporre anche di profili con privilegi inferiori, come per esempio un utente che possa leggere e scrivere i dati, senza alcun permesso di rimuoverli, o di un altro utente con il solo permesso di consultare le informazioni archiviate nel database.
Backup e ripristino dei dati
Come anticipato in precedenza, la sicurezza è un requisito determinante per qualsiasi servizio sia destinato ad ospitare dati, compresi quelli che offrono cloud database.
La disponibilità di un sistema in grado di effettuare automaticamente i backup rappresenta per esempio un punto a favore per un DBaaS, in questo modo l’utilizzatore non avrà l’onere di creare manualmente le proprie copie di sicurezza.
Nello stesso modo si deve tenere conto della periodicità dei
backup automatici (giornaliera, settimanale, mensile), privilegiando la maggiore frequenza, così come della durata della
data retention, cioè del periodo durante il quale i backup rimangono disponibili prima della loro cancellazione.
I backup automatici potrebbero non essere sufficienti per soddisfare le esigenze di sicurezza di un utilizzatore, per questo motivo si consiglia anche di verificare che il servizio scelto fornisca la possibilità di creare
backup on demand con un semplice click, in qualsiasi momento e ogni volta che se ne dovesse presentare la necessità.
Infine, è bene tenere presente che la sicurezza dei dati e la continuità di servizio non devono essere garantite soltanto a livello software ma anche dall’hardware, si consiglia quindi di privilegiare le infrastrutture basate su
hardware completamente ridondato e quindi immediatamente sostituibile in caso di guasto, senza creare problematiche per la
business continuity.
Tariffe e costi
Quando si vuole abbandonare una configurazione on-premise in favore di un servizio cloud diventano fondamentali i fattori legati al contenimento dei costi. Per questa ragione il provider che mette a disposizione il proprio DBaaS deve essere in grado di garantire prezzi chiari e
tariffe prevedibili, in modo che un utente sia in grado di calcolare sempre l’entità della spesa che dovrà sostenere per la configurazione scelta e le risorse utilizzate.
In tutti i casi si deve fare attenzione all’eventuale presenza di costi nascosti, privilegiando le offerte che specificano le tariffe previste per spazio occupato, quantità di connessioni massime simultanee, CPU e memoria RAM in dotazione.
100 euro per testare il DBaaS di Aruba
Aruba mette a disposizione
100 euro di credito gratuito per permettere ai clienti di provare i servizi cloud, tra cui il servizio DBaaS sia con risorse condivise che dedicate su piattaforma MySQL o Microsoft SQL Server.