Cloud Computing: introduzione a SQL Azure
Grazie a SQL Azure, è possibile ottenere tutti i benefici di una piattaforma di database relazionale intuitiva e i vantaggi offerti dal cloud computing.
Joshua Hoffman
I dati sono l’anima del commercio. Garantire che i dati siano protetti, disponibili e facilmente accessibili sono esigenze fondamentali di qualsiasi reparto IT. Fattore più importante, garantire che i dati vengano utilizzati nel modo corretto (per gestire i processi, per informare i decision maker e intervenire in modo intelligente a circostanze mutevoli) è ciò che differenzia le aziende di successo dalle altre.
Il modo in cui le aziende garantiscono la disponibilità dei dati è in rapido mutamento. I servizi ospitati e l’idea alla base della tecnologia SaaS (Software as a Service) per tutto ciò che comprende funzioni principali di un datacenter e come la gestione della posta elettronica e la business intelligence, fino ad arrivare ad applicazioni come la condivisione di foto e la sincronizzazione di file, sono diventati parte integrante del modo in cui interagiamo quotidianamente con le informazioni. Cloud computing ha fatto registrare una crescita impressionante negli ultimi anni, sia come concetto che come componente pratico dell’infrastruttura IT.
Una soluzione di Cloud computing particolarmente interessante è Microsoft SQL Azure. SQL Azure è un'infrastruttura potente e semplice per archiviare, gestire e analizzare i dati. che offre anche i vantaggi del Cloud computing. Un'infrastruttura condivisa e ospitata consente di ridurre i costi diretti e indiretti. Un modello "a consumo" consente di ottenere una maggiore efficienza, considerando che le funzionalità di disponibilità elevata e di tolleranza di errore sono integrati.
Tuttavia, alcuni aspetti di questo nuovo modello pongono delle problematiche al professionista IT. Fare la scelta corretta in merito all'utilizzo di servizi ospitati o di un'infrastruttura interna è un problema serio. È necessario garantire un'integrazione graduale tra i due approcci e mantenere un livello di sicurezza elevato e piani di continuità aziendale. Si tratta solo di alcune delle problematiche che i professionisti IT devono considerare durante la valutazione di soluzioni di Cloud computing per la propria organizzazione.
In questa sede, vi presenterò SQL Azure dal punto di vista del professionista I0054. Illustrerò come funziona SQL Azure, la posizione ottimale in cui integrarlo all'interno del vostro ambiente, informazioni introduttive e come garantire un'integrazione graduale all'interno della vostra infrastruttura dati preesistente.
Cos'è SQL Azure?
SQL Azure fa parte della piattaforma Windows Azure: una suite di servizi che offrono soluzioni di elaborazione ospitate, un'infrastruttura, servizi Web e di dati. Il componente SQL Azure offre le funzionalità di un database relazionale completo come SQL Server, ma offre anche le funzionalità di un servizio di Cloud computing, ospitato presso i datacenter di Microsoft in tutto il mondo.
SQL Azure è generalmente una scelta ideale ogniqualvolta si abbia la necessità di servizi di database. Di seguito sono riportati alcuni aspetti in cui SQL Azure rappresenterebbe particolarmente una scelta ideale:
- Collaborazione: trasferendo i dati nella cloud, SQL Azure consente di creare un hub di collaborazione. Ogniqualvolta si presentasse la necessità di condividere l'accesso alle informazioni disponibili all'interno del perimetro aziendale o scambiate tra succursali e così via, i servizi ospitati consentono di ridurre gli ostacoli tecnici di rete, garantendo contemporaneamente la sicurezza dei dati.
- Scalabilità: uno dei vantaggi intrinseci del Cloud computing è la capacità di ampliare l'infrastruttura su richiesta, garantendo una scalabilità dinamica della capacità applicativa in base all'aumento delle esigenze. Tale aspetto si rivela particolarmente utile quando il livello di utilizzo di picco delle applicazioni ospitate cambia in modo consistente con il trascorrere del tempo (ad esempio, le applicazioni utilizzate nel settore della vendita al dettaglio durante i periodi di festività e così via).
- Consolidamento: Man mano che l'esigenza di funzionalità di un database relazionale diventa più granulare fino ad arrivare a singoli reparti e gruppi di lavoro, la gestione interna dell'"espansione incontrollata del database" può diventare un problema. SQL Azure consente di consolidare i database di reparto e dei singoli gruppi di lavoro, una modalità di provisioning chiavi in mano e una gestione semplificata per consentire agli amministratori di soddisfare in modo più semplice le esigenze di reparto.
- Applicazioni ospitate: se sono già ospitati altri carichi di lavoro sulla piattaforma Windows Azure (ad esempio, applicazioni Web), l'integrazione di carichi di lavoro di un database relazionale ospitato in SQL Azure è un gioco da ragazzi che consente inoltre di sfruttare al massimo le prestazioni delle applicazioni riducendo il traffico di rete.
- Efficienza in termini di costi: a seconda dei carichi di lavoro si preveda di installare, il modello "a consumo" offerto dal Cloud computing fornisce l'approccio più efficiente in termini di costi.
In generale, la funzionalità essenziale di SQL Azure e di una soluzione SQL tradizionale è interscambiabile, fatta eccezione per alcune limitazioni in termini di dimensione del database che risiede sulla piattaforma Windows Azure (ulteriori informazioni disponibili nella pagina delle Domande frequenti su SQL Azure). Ciascun approccio offre diversi vantaggi e costi in termini infrastrutturali. Pertanto, è semplicemente una questione di scegliere la soluzione ottimale in base alle singole esigenze aziendali. È possibile anche suddividere i carichi di lavoro tra entrambe le piattaforme in un modo particolarmente intergrato.
Introduzione a SQL Azure
Iniziare a utilizzare SQL Azure è semplice, specialmente se si ha familiarità con gli strumenti di gestione di SQL Server classici come SQL Server Management Studio (che può essere utilizzato per gestire le istanze di SQL Azure).
Il primo passo consiste nell'impostare un account per la piattaforma Windows Azure che fornisce l'accesso ai relativi servizi, tra cui Windows Azure, SQL Azure e Windows Azure AppFabric ( che offre agli sviluppatori un modo per collegare le applicazioni e i servizi all'interno del perimetro aziendale e di rete). Una volta configurato l'account, è possibile accedere al pannello di controllo di SQL Azure (vedere la Figura 1).
Figura 1 Uno sguardo da vicino al pannello di controllo di SQL Azure
Il pannello di controllo di SQL Azure consente di creare nuovi database all'interno del proprio account. È possibile ciascun database come database Web Edition o Business Edition. Un singolo database Web Edition può supportare fino a un massimo di 5 GB di dati, mentre un singolo database Business Edition supporta fino a un massimo di 50 GB. Per la Business Edition vengono utilizzati incrementi di fatturazione pari a 10 GB: 10 GB, 20 GB, 30 GB, 40 GB e 50 GB.
Nel pannello di controllo è inoltre riportato un nome server dell'istanza SQL Azure, nonché stringhe di connessione ADO.NET o ODBC da utilizzare per la connessione al database (basata sulla modalità di autenticazione SQL; la modalità di autenticazione Windows non è supportata in SQL Azure). Da questa posizione, è possibile utilizzare una delle stringhe di connessione all'interno dell'applicazione, creare un oggetto ODBC o associare le informazioni del server a uno strumento di gestione come SQL Server Management Studio (vedere la Figura 2).
Figura 2 SQL Server Management Studio connesso a un database SQL Azure
Quale ulteriore misura di sicurezza, all'interno del pannello di controllo di SQL Azure si noterà la finestra Impostazioni firewall in cui è possibile specificare gli indirizzi IP dai quali saranno accessibili i database. È possibile digitare qualsiasi combinazione di singoli indirizzi, un intervallo di indirizzi o una serie di altri servizi Microsoft (in modo tale da consentire alle istanze di Windows Azure e delle applicazioni ospitate di accedere ai database).
Da questa posizione, l'interazione con i dati archiviati in SQL Azure è identica alla gestione di SQL Server. Mediante SQL Server Management Studio, è possibile eseguire tutte le attività di SQL Server classiche: creazione di tabelle, visualizzazioni e stored procedure; importazione di dati; esecuzione di istruzioni T-SQL e così via.
Un database basato su cloud offre anche alcuni strumenti di gestione appositi. Quale alternativa semplice a SQL Server Management Studio, SQL Azure Labs ha creato uno strumento di gestione basato su Web per i database SQL Azure denominato Microsoft Project con nome in codice "Houston". Offre un modo semplice per sviluppare, distribuire e gestire i database nella cloud in modo rapido.
Creato mediante Microsoft Silverlight, Project Houston offre uno strumento multipiattaforma basato su Web per la gestione di database che consente attività di gestione di database semplici, quali creazione ed esecuzione di query, progettazione e modifica di uno schema di database e modifica di dati tabella. Si osservi, tuttavia, che Project Houston è attualmente disponibile solo come CTP (Community Technology Preview), pertanto non è ufficialmente supportato dai servizi di assistenza standard di Microsoft.
Integrazione con SQL Server
Esistono diversi modi per integrare SQL Azure con l'infrastruttura SQL Server esistente. La maggior parte dei modi tradizionali per l'integrazione e la migrazione di dati tra server sono disponibili anche per SQL Azure, tra cui SQL Server Integration Services che consente l'importazione/esportazione e la trasformazione dei dati, il data warehousing e così via. SQL Azure supporta inoltre Importazione/Esportazione guidata SQL Server integrata nel set di strumenti SQL Server Management Studio per copiare i database e migrare i dati verso e da SQL Azure (vedere la Figura 3).
Figura 3 Utilizzo di Importazione/Esportazione guidata SQL Server
È disponibile un'altra opzione per l'integrazione di SQL Azure nell'infrastruttura esistente nel set di strumenti sviluppato dalla community denominata SQL Azure Migration Wizard. Nella procedura guidata vengono fornite istruzioni per la selezione degli oggetti SQL Server 2005/2008 esistenti e per creare gli script SQL corrispondenti per migrare tali oggetti in SQL Azure. Benché non ufficialmente supportato da Microsoft, il supporto di SQL Azure Migration Wizard da parte della community è notevole, tra cui video in cui vengono fornite istruzioni per l'utilizzo degli strumenti.
Infine, SQL Azure Data Sync (attualmente disponibile come CTP) è un servizio di sincronizzazione basato su cloud progettato per fornire una sincronizzazione dei dati bidirezionale tra SQL Server sul posto e SQL Azure, nonché tra database SQL Azure in posizioni diverse (che offrono funzionalità di replica geografica).
SQL Azure Data Sync è basato su Microsoft Sync Framework, quindi offre un approccio semplice per la sincronizzazione dei dati verso e da più posizioni. Ancora una volta, tuttavia, si osservi che SQL Azure Data Sync è in versione CTP e non è attualmente supportato dai servizi di assistenza Microsoft.
I vantaggi del Cloud computing sono innegabili. L'efficienza in termini di costi, il consolidamento dei server, le funzionalità di provisioning su richiesta e l'eterogeneità geografica offerti dal Cloud computing rappresentano solo l'inizio dei vantaggi che sarà possibile ottenere a seguito del trasferimento dei dati nella cloud. SQL Azure integra le prestazioni potenti e l'ambiente familiare di SQL Server con i vantaggi del Cloud computing. Dovrebbe rappresentare la soluzione ottimale per tutte le organizzazioni che cercano di creare un'infrastruttura di gestione dei dati più dinamica ed efficiente in termini di costi.
Joshua Hoffman* è l’ex caporedattore di TechNet Magazine. Oggi è un autore e consulente indipendente che offre consulenze ai clienti sulla tecnologia e sul marketing rivolto a destinatari specifici. Hoffman è inoltre caporedattore di ResearchAccess.com, un sito dedicato alla crescita e all’arricchimento della community coinvolta nella ricerca di mercato. Vive a New York.*