Do Windows DNA para o mundo orientado a serviços : a visão Software + Serviço e a Cloud Computing.

Olá pessoal, tudo certo?

Continuando nosso assunto de evolução de uma plataforma WinDNA para uma arquitetura baseada em serviços, vamos falar um pouco sobre Software + Services (S+S).

E indo direto ao ponto, podemos definir essa visão de software + serviço como uma estratégia que engloba software em diferentes localidades, com diferentes qualidades de entrega (ou compromissos e garantias) e com software implementado nos 4 principais universos de programação de hoje em dia: desktop, web, mobile e enterprise. E tudo isso acontecendo ao mesmo tempo, ou seja, um cenário de composição, de colaboração, de convivência.

E como sempre diz o mestre Gebara, nada como um bom exemplo para clarear alguns conceitos: vejamos um cenário de Software+Service para o serviço de mensagens (emails).

Para contas críticas, destinadas para as mensagens importantes da corporação, com criptografia, manutenção histórica de threads, etc., podemos implementar uma infra-estrutura local, com servidores dedicados e cuidar das melhores práticas de operação e higiene de mensagens para nossa empresa. Veja que a responsabilidade sobre essa infra-estrutura será nossa e o custo de operação é total também nosso.

Para caixas postais não tão críticas, mas que são usadas no dia-a-dia da empresa, podemos pensar numa solução de menor complexidade, onde parte das caixas postais estão locais e algumas funcionalidades adjacentes são contratadas da web, como gateways, repositórios de arquivos, filtros, etc.

Podemos pensar também em caixas postais mais ordinárias, que não exigem grandes cuidados com backups ou histórico de mensagens. Essas contas podem ser implementadas em provedores de email na web, de forma gratuíta ou de baixo custo.

Finalmente, podemos pensar em cenários onde para caixas postais estratégicas, a empresa prefira contratar um serviço inteiramente online, que forneça garantias para a qualidade do serviço prestado, como backup, cotas em disco, filtros, criptografia, etc.

Deu para perceber que nessa nova arquitetura de TI, nossa infra-estrutura de mensageria e caixas postais apresenta diferentes níveis de qualidade para os serviços oferecidos. De acordo com a criticidade da caixa postal ou demanda do serviço, podemos contratar um nível de qualidade mais adequado, pagando mais ou menos pela funcionalidade desejada.

A mesma discussão valeria para espaço de armazenamento em disco, por exemplo, onde podemos usar storages locais para dados importantes, com rígidas políticas de backup e contingência ou considerar o uso de espaços contratados na web, como o SkyDrive Live da Microsoft (com 5 Gb gratuítos) ou ainda o Amazon Simple Storage Service (Amazon S3).

Essa é a visão Software + Service: compor diferentes qualidades de serviço (SLA - Service Level Agreement) de acordo com a necessidade.

Evoluindo o diagrama do último post, bastaria indicar nossos serviços consumidos da nuvem para exemplificar esse cenário:

image

Claro, o mundo não é tão simples assim e diversas questões devem surgir nessa discussão, como segurança, autenticação e controle de acesso, tarifação, disponibilidade, tempo de resposta e latência, controle de versionamento, protocolos de transporte, contratos de serviços, mensagens, entre outras. Todas essas questões fazem parte do universo S+S e serão inevitáveis durante a definição da arquitetura final.

O importante é considerar essas alternativas, de acordo com a relevância do negócio e possíveis economias decorrentes da aplicação desse tipo de arquitetura.

Já falamos sobre Software + Service em discussões passadas, como no post sobre SaaS, veja:

SaaS - Software as a Service - Uma visão sobre o software como serviço.
Ref.: https://blogs.msdn.com/wcamb/archive/2008/03/09/saas-software-as-a-service-uma-vis-o-sobre-o-software-como-servi-o.aspx

Ainda como referência sobre o assunto, não deixe de reler a edição número 13 do "The Architecture Journal", onde temos o artigo:

Implications of Software + Services Consumption for Enterprise IT
Ref.: https://msdn2.microsoft.com/en-us/arcjournal/bb906061.aspx

Como mensagem final arrisco: não vamos mais decidir sobre uma abordagem ou outra, se software local ou na rede, se comprado (on premise) ou contratado (in the cloud). A tendência é pela composição, com soluções híbridas e o desafio é reconhecer quais serão os custos e economias envolvidos em nossa nova TI, enquanto suportamos a chamada Cloud Computing.

Com certeza, existem diversos benefícios envolvidos na visão Software+Services e caberá a nós, arquitetos, avaliar o impacto para nossas empresas.

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

Waldemir.