Computação em nuvem: uma introdução ao SQL Azure

Com o SQL Azure, você pode aproveitar as vantagens tanto de uma plataforma de banco de dados relacional conhecida quanto da computação em nuvem.

Joshua Hoffman

Os dados são a alma dos negócios. Garantir sua segurança, disponibilidade e acessibilidade é um requisito fundamental de qualquer departamento de TI. Mais importante ainda, garantir que os dados estão sendo usados da melhor forma possível — para orientar processos, informar os tomadores de decisões e fazê-los reagir com inteligência em diferentes circunstâncias — é o que diferencia a empresa bem-sucedida daquelas que ficaram para trás.

A maneira pela qual as empresas garantem a disponibilidade dos dados está mudando rapidamente. Os serviços hospedados — e a ideia propriamente dita do software como serviço — para tudo, de funções centrais de data center, como email e business intelligence, a aplicativos pessoais, como os de compartilhamento de fotos e sincronização de arquivos, tornaram-se parte do nosso dia-a-dia no que diz respeito à forma como interagimos com nossas informações. A computação em nuvem teve uma ascensão meteórica nos últimos anos, tanto como conceito quanto como um componente prático da infraestrutura de TI.

Uma solução de computação em nuvem particularmente atraente é o Microsoft SQL Azure. O SQL Azure é uma infraestrutura potente e conhecida de armazenamento, gerenciamento e análise de dados. Ele também oferece as vantagens da computação em nuvem. A infraestrutura compartilhada e hospedada ajuda a reduzir os custos diretos e indiretos. Um modelo pré-pago ajuda a alcançar uma maior eficiência. E a alta disponibilidade e a tolerância a falhas são internas.

Ainda assim, alguns aspectos deste novo modelo representam desafios para os profissionais de TI. Fazer a escolha certa entre usar serviços hospedados ou uma infraestrutura local é um desafio imenso. Você deve garantir a integração perfeita entre essas duas abordagens e manter planos robustos de segurança e continuidade dos negócios. Essas são apenas algumas das questões que os profissionais de TI precisam considerar ao avaliar soluções de computação em nuvem para suas organizações.

Aqui, eu o apresentarei ao SQL Azure do ponto de vista do profissional de TI. Eu discutirei como o SQL Azure funciona, onde ele se encaixa melhor em seu ambiente e como começar a usá-lo e garantir uma integração perfeita com sua infraestrutura de dados existente.

O que é o SQL Azure?

O SQL Azure faz parte da plataforma Windows Azure: um pacote de serviços de computação hospedada, infraestrutura, serviços Web e de dados. O componente SQL Azure fornece a funcionalidade completa de banco de dados relacional do SQL Server, mas funciona também como um serviço de computação em nuvem, hospedado em data centers da Microsoft pelo mundo todo.

O SQL Azure é sempre uma boa opção para quem precisa de serviços de banco de dados. Nos seguintes cenários, o SQL Azure seria particularmente uma boa opção:

  • Colaboração: ao mover seus dados para a nuvem, o SQL Azure o ajuda a construir um hub de colaboração. Se precisar compartilhar o acesso a informações entre os limites organizacionais, entre filiais e assim por diante, os serviços gerenciados permitirão que você reduza as barreiras da rede e, ao mesmo tempo, garanta a segurança dos dados.
  • Dimensionamento: uma das vantagens inerentes à computação em nuvem é a capacidade de adicionar infraestrutura sob demanda, o que permite dimensionar a capacidade dos aplicativos conforme a necessidade. Isso é particularmente útil quando o horário de pico de uso dos aplicativos hospedados muda drasticamente com o tempo (como no caso de aplicativos do varejo durante feriados, etc.).
  • Consolidação: conforme a necessidade de funcionalidade de banco de dados torna-se mais granular e passa a ser necessária em departamentos e grupos de trabalho individuais, o gerenciamento interno dos bancos de dados pode se tornar um desafio. O SQL Azure lhe permite consolidar bancos de dados de departamentos e grupos de trabalho, o provisionamento turnkey e o gerenciamento simplificado para que os administradores possam atender mais facilmente às necessidades dos departamentos.
  • Aplicativos hospedados: se você já estiver hospedando outras cargas de trabalho na plataforma Windows Azure (como aplicativos Web), será muito rápido integrar as cargas de trabalho de banco de dados relacional hospedado no SQL Azure. Isso também o ajudará a maximizar o desempenho dos aplicativos por meio da redução do tráfego de rede.
  • Eficiência de custos: Dependendo das cargas de trabalho que você pretende instalar, o modelo pré-pago oferecido pela computação em nuvem pode representar a abordagem com melhor custo-benefício.

Em termos gerais, as funcionalidades essenciais do SQL Azure e do SQL tradicional são intercambiáveis, com exceção de algumas limitações de tamanho do banco de dados na plataforma Windows Azure (leia mais sobre isso nas Perguntas frequentes sobre o SQL Azure). Cada abordagem oferece diferentes vantagens e custos em termos de infraestrutura, então é tudo uma questão de escolher a melhor opção com base no caso de negócios individual. Você pode também distribuir as cargas de trabalho em ambas as plataformas de uma forma estritamente integrada.

Introdução ao SQL Azure

O SQL Azure é muito simples de começar a usar, especialmente se você conhece as ferramentas de gerenciamento tradicionais do SQL Server, como o SQL Server Management Studio (que pode ser usado para gerenciar instâncias do SQL Azure).

A primeira etapa é configurar uma conta para a plataforma Windows Azure, que concede acesso aos serviços do Windows Azure, incluindo o Windows Azure, o SQL Azure e o Windows Azure AppFabric (que fornece um meio de os desenvolvedores conectarem aplicativos e serviços entre os limites organizacionais e de rede). Uma vez criada sua conta, você pode acessar o painel de controle do SQL Azure (veja a Figura 1).

Figure 1 A close look at the SQL Azure control panel

Figura 1 Uma visualização detalhada do painel de controle do SQL Azure

O painel de controle do SQL Azure lhe permite criar novos bancos de dados em sua conta. Você pode definir cada banco de dados como sendo da Web Edition ou da Business Edition. Um único banco de dados da Web Edition pode oferecer suporte a até 5 GB de dados, e um único banco de dados da Business Edition oferece suporte a até 50 GB. (A Business Edition usa incrementos de cobrança de 10 GB: 10 GB, 20 GB, 30 GB, 40 GB e 50 GB.)

O painel de controle também fornece um nome de servidor para sua instância do SQL Azure, bem como cadeias de caracteres de conexão ADO.NET ou ODBC que podem ser usadas para você se conectar ao banco de dados (com base na Autenticação SQL; não há suporte para a Autenticação do Windows no SQL Azure). A partir desse ponto, você pode usar as cadeias de caracteres de conexão de um aplicativo, criar um objeto ODBC ou conectar as informações do servidor a uma ferramenta de gerenciamento, como o SQL Server Management Studio (veja a Figura 2).

Figure 2 SQL Server Management Studio connected to a SQL Azure database

Figura 2 SQL Server Management Studio conectado a um banco de dados do SQL Azure

Como uma medida adicional de segurança, você perceberá a janela Configurações de Firewall no painel de controle do SQL Azure. Ela lhe permite especificar os endereços IP a partir dos quais seus bancos de dados podem ser acessados. Você pode inserir qualquer combinação de um endereço individual, uma faixa de endereços ou uma concessão de outros serviços da Microsoft (para que suas próprias instâncias e os aplicativos hospedados do Windows Azure possam acessar os bancos de dados).

Consequentemente, interagir com os dados armazenados no SQL Azure é um processo idêntico ao de trabalhar com seu próprio SQL Server. Com o SQL Server Management Studio, é possível executar todas as tarefas tradicionais do SQL Server: criar tabelas, visualizações e procedimentos armazenados; importar dados; executar instruções T-SQL e assim por diante.

Um banco de dados baseado em nuvem também poderá oferecer algumas ferramentas de gerenciamento baseadas na nuvem. Como uma alternativa mais simples para o SQL Server Management Studio, o SQL Azure Labs criou uma ferramenta de gerenciamento baseada na Web para bancos de dados do SQL Azure, denominada Microsoft Project Code-Named “Houston”. Ela fornece uma maneira simples e rápida de desenvolver, implantar e gerenciar bancos de dados na nuvem.

Criado com o Microsoft Silverlight, o Project Houston é uma ferramenta de gerenciamento de banco de dados para várias plataformas e baseada na Web desenvolvida para executar tarefas básicas de gerenciamento de bancos de dados, como criar e executar consultas, projetar e editar um esquema de banco de dados e editar dados de tabelas. É importante lembrar, no entanto, que o Project Houston está disponível apenas como uma versão CTP (Community Technology Preview), portanto, ele não é oficialmente suportado pelos serviços padrão de suporte da Microsoft.

Integração com o SQL Server

Existem várias maneiras de integrar o SQL Azure com sua infraestrutura existente do SQL Server. A maior parte dos meios tradicionais de integração e migração de dados entre servidores está disponível também para o SQL Azure, incluindo o SQL Server Integration Services, que permite a importação/exportação de dados, a transformação de dados, o armazenamento em data warehouses e assim por diante. O SQL Azure também oferece suporte ao Assistente de Importação e Exportação do SQL Server incluído com o conjunto de ferramentas do SQL Server Management Studio para copiar bancos de dados e migrar dados de e para o SQL Azure (veja a Figura 3).

Figure 3 Working with the SQL Server Import and Export Wizard

Figura 3 Trabalhando com o Assistente de Importação e Exportação do SQL Server

Há outra opção para integrar o SQL Azure a sua infraestrutura existente no conjunto de ferramentas desenvolvido pela comunidade denominado Assistente de Migração do SQL Azure. Esse assistente o orientará pela seleção de objetos existentes do SQL Server 2005/2008 e criará os scripts SQL correspondentes para migrar esses objetos para o SQL Azure. Embora não tenha o suporte oficial da Microsoft, há um amplo suporte da comunidade ao Assistente de Migração do SQL Azure, incluindo vídeos que irão orientá-lo pelo processo de uso das ferramentas. 

Finalmente, a Sincronização de Dados do SQL Azure (atualmente disponível na versão CTP) é um serviço de sincronização baseado na nuvem desenvolvido para permitir a sincronização bidirecional de dados entre SQL Servers locais e o SQL Azure, bem como entre bancos de dados do SQL Azure em diferentes locais (fornecendo funcionalidade de georreplicação).

A Sincronização de Dados do SQL Azure é baseada no Microsoft Sync Framework e, por isso, fornece uma abordagem familiar para a sincronização de dados de e para vários lugares. No entanto, mais uma vez é importante lembrar que a Sincronização de Dados do SQL Azure está disponível em uma versão CTP e atualmente não é suportada pelos serviços de suporte da Microsoft.

As vantagens da computação em nuvem são inegáveis. A eficiência de custos, a consolidação de servidores, o provisionamento sob demanda e a diversidade geográfica oferecidos pela computação em nuvem são apenas algumas das vantagens que poderemos obter ao mover os dados para a nuvem. O SQL Azure combina o ótimo desempenho e o ambiente familiar do SQL Server com os benefícios da computação em nuvem. Ele é uma boa opção para qualquer organização que esteja buscando criar uma infraestrutura de gerenciamento de dados mais dinâmica e econômica.

Joshua Hoffman

Joshua Hoffmané o antigo diretor-chefe da TechNet Magazine. Agora, ele é autor e consultor independente, aconselha seus clientes sobre tecnologia e marketing voltado ao público. Hoffman também trabalha como editor-chefe do ResearchAccess.com, um site dedicado ao crescimento e enriquecimento da comunidade de pesquisas de mercado. Ele mora em Nova York.

Conteúdo relacionado