Azure Services Platform : falando sobre dados na nuvem.

image 

image

Olá pessoal, tudo certo?

Nossa série sobre a plataforma de serviço Azure continua e o assunto de hoje é dados na nuvem. Quando pensamos no uso de uma plataforma como serviço, é natural pensar em vários cenários diferentes: ora teremos aplicações rodando na nuvem e ora teremos aplicações rodando no enterprise, persistindo dados na nuvem, por exemplo.

Na plataforma Azure, os serviços que oferecem capacidades para armazenamento e tratamento de dados estão na suíte SQL Services.

O que é o SQL Services?

  • O SQL Services é uma pilha de capacidades da tecnologia Microsoft SQL Server baseadas na nuvem. Entre as várias capacidades previstas, o SQL Data Services (SDS) é a primeira, já disponível para testes.

O que é o SQL Data Services (SDS)?

  • O SQL Data Services (ou SDS) é uma capacidade de armazenamento de dados, que oferece um base de dados para aplicações, acessível através de um conjunto de interfaces via REST e SOAP. Esses métodos de acesso via Web permitem grande agilidade e flexibilidade de integração com diferentes plataformas de desenvolvimento. Desse modo, podemos construir aplicações em .NET, JAVA, PHP, RUBY, etc, que consomem interfaces SOAP/REST para a persistência de dados no Azure (na nuvem).

A figura abaixo apresenta esse conjunto completo de capacidades do SQL Services:

image

As caixas em destaque já estão disponíveis para testes no CTP da plataforma. As demais caixas estão previstas para os próximos CTP's.

Ainda em desenvolvimento, o SQL Services oferece uma série de recursos que podemos testar através do portal do Azure. Reveja o post sobre a "Hello Cloud", onde descrevo o passo-a-passo para criar sua conta no Azure. Você vai precisar desse registro para acessar os serviços do SQL Services.

Uma vez criada sua conta, você poderá construir aplicações no enterprise que consomem dados na nuvem, consumindo o serviço SQL Data Services (SDS).

image

Assim como acontece com os demais serviços do Azure, ainda não estão definidos os modelos de assinatura e subscrição de espaço para o SQL Services. Ao longo de 2009 deveremos ter novos anúncios sobre a plataforma e provavelmente, um simulador de custo de subscrição por espaço de dados armazenado ou transferido. Pense que uma das caraterísticas principais de uma plataforma como serviço é sua capacidade de provisionamento dinâmico, ou seja, também poderemos contratar ou liberar espaço conforme a necessidade, pagando pelo uso. Para acompanhar esses custos e mesmo a quantidade de informação persistida no SDS, o serviço ainda oferece uma série de estatísticas via interface REST e SOAP.

Olhando a arquitetura do SQL Data Services

Já que falamos em configuração dinâmica de espaço e atendimento de requisições em alta escala, a arquitetura do SQL Data Services foi pensada para esse tipo de escalabilidade, implementando 2 frentes de serviços: serviços de front-end, que recebem as requisições de aplicações dentro e fora da nuvem; e serviços de back-end, responsáveis pela persistência de dados em particionamentos de dados do Azure. A figura abaixo apresenta essa arquitetura:

image

Note que no front-end, a interface de acesso das aplicações respeita um modelo baseado nos conceitos ACE - AUTHORITY, CONTAINER e ENTITY. Atravês desses conceitos, podemos criar domínios de dados diferentes para a mesma aplicação, enquanto adicionamos nossos registros na forma de entidades. Podemos fazer uma comparação de AUTHORITY, CONTAINER e ENTITY, com SERVIDOR (SERVER), DATABASE (DATABASE) e LINHA (ROW) de uma base de dados tradicional. A camada Front-End chamada Data Access Lib é um cliente ADO.NET que faz a interface com as partiçòes no Back-End.

Qual a diferença entre o Windows Azure Storage e o SQL Data Services?

  • O windows Azure Storage é um “serviço de armazenamento essencial na nuvem”. Ele oferece o conjunto principal de repositórios de dados não relacionais e recuperação em escala massiva, através de particionamento e tipos de dados como Tables, Blobs, Queues, Locks.
  • O SQL Data Services é um “serviço de banco de dados na nuvem”. Ele extende as capacidades da plataforma de dados do SQL para a nuvem, como o pocessamento de dados relacional sobre dados estruturados e não-estruturados. Ainda, ele oferece capacidades críticas de uma plataforma de dados como Mining, Reporting, ETL, Data Mining, etc.

Essa foi apenas uma introdução sobre o tema. Para maiores informações sobre o SQL Services e suas capacidades, confira os links abaixo:

SQL Data Services (SDS) Developer Center
Ref.: https://msdn.microsoft.com/en-us/sqlserver/dataservices/default.aspx

SQL Data Services Public CTP (FREE)
Ref.: https://go.microsoft.com/fwlink/?LinkID=133905&clcid=0x409

SQL Services
Ref.: https://www.microsoft.com/azure/sql.mspx

SQL Data Services (SDS) SDK (CTP)
Ref.: https://www.microsoft.com/downloads/details.aspx?FamilyId=0B1FA5C6-EC9D-440B-939E-481DD05F2627&displaylang=en

Azure Services Training Kit - PDC Preview
Ref.: https://www.microsoft.com/downloads/details.aspx?FamilyID=413E88F8-5966-4A83-B309-53B7B77EDF78&displaylang=en

Alguns posts já publicados aqui no blog sobre o assunto:

Ref.: https://blogs.msdn.com/wcamb/archive/tags/SSDS/default.aspx

E finalmente, vale conferir a sessão sobre SQL Services, apresentada no último S+S Day, de dezembro de 2008 aqui na Microsoft.

S+S Day - SQL Services : Aplicação de dados na nuvem (ppt)
Ref.: https://www.msdnbrasil.com.br/downloads/ssday/SS_Day_SQL_Services.pdf

Por enquanto é só! Até o próximo post :)

Waldemir.