I cloud provider sono una panacea: hardware che si rompe? Problemi di qualcun altro. Ti occorre un nuovo server? Tre click ed il provisioning è fatto. Sicuro è che il vostro staff IT impiega sicuramente meno tempo nella gestione dell’infrastruttura e si può dedicare a temi più legati al business.
E’ quindi ragionevole chiedersi se simili benefici si apprezzerebbero spostando l’infrastruttura DBMS nel cloud. In particolare, la domanda da porsi è: ho ancora bisogno di un DBA quando i miei database sono nel cloud?
La risposta immediata è sì. La risposta ragionata è sì ma le responsabilità del DBA cambiano. Vediamo perché.
Gestione del service provider
Mettere i database su una struttura nel cloud significa dover gestire una relazione con il service provider. Diventa compito del DBA quindi mantenere ed approfondire questo rapporto sia dal punto di vista tecnico che da quello economico.
In particolare occorre avere una visione a 360 gradi sulla gamma dei servizi e delle novità che periodicamente vengono messe a disposizione, comprendere appieno il significato degli SLA “promessi”, valutare correttamente le architetture disponibili, essere sempre aggiornati sui momenti di manutenzione schedulata che inevitabilmente ci saranno e molto probabilmente in orari incompatibili con il business.
Diventa anche importante confrontarsi con il budget e con i costi: partire con il cloud è semplice ma nel tempo potremmo rimanere invischiati in un meccanismo di amplificazione che potrebbe rivelarsi doloroso. Running time, richieste di I/O, potenza di calcolo, volume di dati trasferiti, sono parametri che vanno valutati nel tempo avendo chiaro in mente dove andrà il nostro business in un futuro più o meno prossimo. Questo per evitare fenomeni di overprovisioning e utilizzare le risorse in modo più efficiente.
Monitoraggio delle performance
Se è importante monitorare le performance di un database in un ambiente on-premise, lo è ancora di più sul cloud dove, solitamente, per combattere le scarse prestazioni, si aumentano le risorse dedicate e di conseguenza i costi.
I migliori tools di analisi delle performance, si concentrano sull’analisi della correlazione tra l’utilizzo delle risorse ed i tempi di wait. Ma non sempre è facile o possibile agire sui trigger che governano l’infrastruttura cloud.
E’ molto importante definire sin da subito una baseline delle performance in modo da identificare i problemi prima che diventino ingestibili. Altrettanto importante diventa il lavoro di squadra tra DBA, sviluppatori e business: sono convinto che scrivere un applicazione per il cloud sia molto più sfidante in termini di ricerca della migliore soluzione che metta insieme le tre competenze.
Sicurezza dei dati
Tutti i service provider con una certa reputazione ci assicurano una adeguata protezione dei nostri dati, ma il DBA deve sempre dare il suo contributo.
Uno degli argomenti principali di diffidenza verso il cloud, che ancora si sente diffusamente, è proprio: non mi fido di mettere i miei dati fuori dai muri della mia azienda. Il service provider, generalmente, garantisce una sicurezza fisica dei dati. Questo significa, controllare gli accessi indesiderati ai propri datacenter ed all’infrastruttura in generale, gestire in modo adeguato i propri collaboratori (i vari data-leaks accaduti in questi anni ci dovrebbero insegnare qualcosa). Rimane in carico al cliente la gestione della sicurezza dell’informazione: adeguati meccanismi di criptazione delle informazioni garantiscono una barriera che mantiene al sicuro i nostri dati. Il DBA diventa responsabile del mantenimento di questo meccanismo e di garantire che certe informazioni (banalmente le chiavi di decrittazione dei dati) non finiscano nelle mani sbagliate. Diventa comunque indispensabile avere un piano di azione nel caso si verifichino eventi di questo tipo.
Disaster recovery e backup dei dati
Un aspetto collaterale alla sicurezza, è quello di garantire business continuity a fronte di un disastro di qualsiasi gravità. Il DBA deve integrare le sue competenze e definire un piano di disaster recovery che consenta all’azienda di ridurre al minimo la perdita di dati e di tempi di ripristino dei processi di business. Utilizzare ad esempio un altro service provider per mantenere i backup, potrebbe essere una buona idea. Anche qui è indispensabile avere un piano di azione in caso di disastro ed effettuare periodicamente delle simulazioni di ripristino (Lesson learned n. 1: fare il backup dei dati non significa sempre poter fare anche il restore).
Concludendo, possiamo dire che il lavoro del DBA si sta trasformando velocemente. Il cloud sarà sicuramente il futuro per molte applicazioni e non possiamo permetterci di rimanere esclusi da questo processo di cambiamento. Vanno affiancate a quelle già presenti, nuove competenze che ci permettono di interagire in modo più stretto con questi nuovi attori in modo da garantire alle nostre aziende di condurre in modo ottimale la loro attività.
di Cristiano Gasparotto, pubblicato il 27 novembre 2016