Building Block Services para a computação na nuvem : SSDS - SQL Server Data Services.

Olá pessoal, tudo certo?

No post anterior, vimos alguns tipos de serviços para uma arquitetura S+S. Classificamos os serviços da nuvem em Finished Services, Attached Servicesi e Building Block Services. Vimos também que dois building block services são particularmente importantes, devido sua utilização para a construção de novos serviços e aplicações: o SSDS e o SYNC.

Este post trata especificamente do SSDS.

image

Vejamos um pouco de história antes: quando pensamos nos anos 80, era importante se ter a aplicação e a base de dados muito próximos um do outro. Nesse cenário, o consumo de dados era imediato e personalizado, de tal modo que a aplicação era construída de forma muita acoplada ao modelo de dados. Já no final dos anos 80 surge o modelo Cliente/Servidor, onde de fato um servidor dedicado para os dados fornecia serviços para o mundo externo. Assim, clientes consumiam os dados através de bibliotecas de acesso. E entre os clientes e os servidores havia um protocolo de aplicação, pelo qual uma consulta SQL (query) era trafegada. Veja que nesse modelo Cliente/Servidor, a aplicação precisava ser construída pensando nas consultas, nas queries de atualização, no tempo de rede, etc, o que foi algo novo e desafiador para as primeiras soluções.

Ao longo dos últimos anos, esse mesmo modelo tem sido evoluído e se tornado mais complexo. Além de múltiplos protocolos entre clientes e servidores, existem agora diferentes middlewares de acesso, níveis de estruturas de dados, diferentes mecanismos de apresentação, como dispositivos móveis, desktops, portais web, mashups, composição, etc.

Surge então o conceito de serviços na nuvem, que tem direto impacto na forma como as aplicações hoje consomem informações. Portanto, pensar em dados na nuvem é algo natural, que fará parte de uma arquitetura tipicamente Software+Services.

Assim, o SSDS é o Microsoft SQL Server Data Services, um repositório de banco de dados exposto na Web.  É uma tecnologia de storage na nuvem. Baseado em tecnologia SQL Server, o SSDS ainda está em desenvolvimento, mas corresponde a um dos building block services mais importantes no futuro.

De fato, os repositórios SSDS estarão fisicamente em um dos vários DataCenters da Microsoft na América do Norte, na Europa ou na Ásia, permitindo um controle de acesso agrupado por localidade e distribuição. Para pequenas e médias empresas, será uma solução de baixo custo para o controle e armazenamento de informações através de uma interface Web. Os preços de utilização e políticas de licenciamento ainda estão em definição.

No futuro, as empresas poderão utilizar o SSDS como um repositório de dados virtual na nuvem, com suporte a consultas e alterações através de API's baseadas em Web Services sobre padrões REST e SOAP.

O arquiteto da Microsoft Eugenio Pace anunciou em seu blog os fontes da última versão da solução LitwareHR, um bom exemplo de arquitetura SaaS multi-inquilino. No post abaixo, ele comenta a versão do LitwareHR  já utilizando os recursos Beta do SSDS, para testes. Confira aqui:

Eugenio Pace - Software as a Service Architecture Guidance
LitwareHR on SSDS available for download

Ref.: https://blogs.msdn.com/eugeniop/archive/2008/05/06/litwarehr-on-ssds-available-for-download.aspx

Atualmente, algumas empresas já participam do programa Beta de adoção da tecnologia. A partir do segundo semestre de 2008, o programa estará disponível para todos, através do site:

Microsoft SQL Server Data Services
Ref.: https://www.microsoft.com/sql/dataservices/default.mspx

Veja também o FAQ e o blog do time SSDS, para maiores informações:

SQL Server Data Services FAQ
Ref.: https://www.microsoft.com/sql/dataservices/faq.mspx

SSDS Team's blog
Ref.: https://blogs.msdn.com/ssds/

Existem diversos desafios envolvidos na construção de uma tecnologia como o SSDS, como escalabilidade, monitoração, provisionamento, caching, etc. Mas um dos pontos que me chamou a atenção foi um comentário de Dave Campbel, um Technical Fellow da Microsoft, que trabalha no time do SQL e está diretamente envolvido no projeto do SSDS. Disse ele, em outras palavras: "um dos grandes desafios desse novo contexto de arquiteturas S+S é permitir a escalabilidade infinita de serviços, sem prejuízo para o desacoplamento entre esses serviços durante múltiplas composições".

Com certeza, o futuro é de um mundo de serviços desacoplados, infinitamente escaláveis, online e sincronizados. Sincronização torna-se tão importante quanto o próprio dado.

Por isso, nosso próximo assunto será o SYNC Services. Fiquem ligados.

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

Waldemir.