Dati Condivisi con Microsoft Azure

La tecnologia cloud continua a riscuotere consensi ed interesse non solo tra i “consumatori” finali di internet, che continuano ad aumentare e a trovare in questo nuovo paradigma di archiviazione e condivisione delle informazioni la risposta ideale alle loro esigenze, ma anche da parte delle piccole e grandi aziende fornitrici di servizi telematici. Dopo i grandi colossi come Google e Amazon, anche Microsoft è entrato nel business del cloud mediante la sua piattaforma denominata Azure, la quale, come vedremo di seguito, presenta importanti caratteristiche nella gestione dei database.
Come è noto, il vantaggio più importante per le aziende offerto dalla tecnologia cloud è quello di potersi avvalere di una infrastruttura informatica di terzi per usufruire di specifici servizi che richiederebbero, se portati fisicamente all’interno dell’organizzazione dell’azienda stessa, ingenti investimenti e costi di esercizio. Il punto di forza del cloud implementato all’interno di grandi impianti hardware è la scalabilità di sistema: il cliente che usufruisce del cloud paga soltanto per il servizio specifico di cui ha bisogno, potendolo ampliare o ridurre in modo dinamico in base alla necessità del momento e senza doversi preoccupare di intervenire nell’infrastruttura fisica. Tecnicamente, si parla anche di sistemi Iaas (Infrastructure-as-a-Service) e PaaS (Platform-as-a-service).
Microsoft Azure offre la possibilità di impiegare gli stessi applicativi o programmi gestionali all’interno di macchine virtuali come se tutto si svolgesse in locale, oltre naturalmente al servizio di archiviazione e backup delle varie risorse informatiche. Azure ricrea l’ambiente Windows e Linux, consentendo di accogliere le applicazioni per i due principali sistemi operativi e Android. Grazie alla possibilità di ospitare il noto prodotto concepito in casa Google, Azure si apre anche ai servizi mobile.
Un aspetto interessante di Microsoft Azure riguarda i servizi per la gestione dei dati mediante SQL e NoSQL. Il primo è dotato inoltre di una tecnologia di apprendimento e adattamento dinamico dei modelli di funzionamento del programma o dell’app. In questo modo, lo sviluppatore dell’applicativo non deve preoccuparsi dei dettagli di interfacciamento tra database SQL di Azure e l’app. In particolare, Azure SQL Database lavora come un “esperto” virtuale per il salvataggio sistematico e completamente autonomo delle query e per l’indicizzazione. Esso è in grado di tenere traccia di ogni singola interrogazione, della sua frequenza e durata. Gli algoritmi si “sintonizzano” automaticamente per ottimizzare il database all’app stessa e, quando quest’ultima evolve con ulteriori aggiornamenti ed integrazioni, anche l’auto ottimizzazione lavora affinché sia assicurata sempre la migliore prestazione delle query. Questa caratteristica si rivela molto importante nell’ambito di un business in crescita, come in genere accade per la maggioranza delle piccole aziende che non possono permettersi inizialmente di acquistare dispositivi hardware via via più performanti. Azure SQL Database ha nel tempo mostrato i suoi più importanti pregi proprio nella sicurezza dei dati, nel livello prestazionale delle attività e nella concreta scalabilità di sistema.
Dal punto di vista della scalabilità, il servizio di database nel cloud di Azure può far fronte a picchi di richieste ovvero, in caso di poche interrogazioni, ridimensionare le risorse impegnate in modo estremamente rapido, evitando così di incappare in discontinuità di funzionamento del programma client (app). Tutti gli addetti ai lavori sanno bene che ciascun database possiede di fatto requisiti di risorse sostanzialmente imprevedibili, ossia non possono essere definite a priori le necessità di memoria e la capacità di calcolo (potenza CPU). Il cloud di Azure assicura invece la migliore allocazione delle risorse al fine di adattarsi alle reali esigenze.
Naturalmente può accadere che il numero delle richieste aggregate raggiunga e superi le risorse disponibili di capacità di calcolo e memoria, nonché di input/output; in questa circostanza, il gestore delle risorse opera in modo da accodare le query per soddisfarle successivamente mano a mano che le risorse tornano disponibili.
Poiché parliamo di database condivisi, anche l’aspetto della sicurezza è stato considerato da Microsoft con estrema attenzione. Tutte le connessioni operate dal database SQL di Azure sono crittografate mediante i protocolli SSL/TLS, con tanto di sistema di certificazione dei server, indispensabile per prevenire attacchi “man-in-the-middle”.

Informazioni su Giampaolo Rossi

Sviluppatore di software gestionale da oltre 28 anni.
Questa voce è stata pubblicata in Database, Internet. Contrassegna il permalink.