Como mapear camadas de uma aplicação para uma TI com private cloud? Parte 1/2

Olá pessoal, tudo certo?

Semana passada conversei bastante com o arquiteto de TI Markus Christen. Na correria do dia-a-dia, não é sempre que a gente consegue separar mais de 2 horas para falar sobre desenhos, opções de arquitetura e principalmente, Arquiteturas de Referência.

Ele me apresentou uma visão sobre uma Arquitetura de Referência para Private Cloud com tecnologias Microsoft e discutimos como mapear as camadas de uma aplicação com os recursos da infraestrutura privada. A partir de uma visão de Private Cloud, com a padronização de serviços de infraestrutura e seus recursos, quantas empresas hoje podem provisionar suas soluções para esse ambiente de virtualização on-premise de forma natural? Poucas, de fato!

Mas a pergunta persiste: como garantir a aderência de uma solução de arquitetura sobre uma infraestrutura baseada em nuvem privada? e se tiver nuvem pública, o problema é igual!

Meu comentário geral foi que um bom ponto de partida é usar o APPLICATION ARCHITECTURE GUIDE 2.0, onde encontramos alguns desenhos gerais de arquitetura e organização em camadas para cenários como:

  • Rich Client Application
  • Web Application
  • Rich Internet Application
  • Services
  • Office Business Applications
  • Cloud Services

No ArchGuide, ainda podemos identificar as principais tecnologias da plataforma .NET que são aplicáveis, como vemos na tabela a seguir:

image

Porém, não vemos nesse mapeamento uma associação direta aos recursos disponíveis na infraestrutura. O que significa isso?

Pense num cenário geral de aplicação com diversos front-ends para RIA, WEB, RICH e MOBILE APPLICATION, consumindo serviços WCF e WF. Uma solução desse tipo pode ser vista abaixo:

image

Muito bem! O desenho lógico acima pode nos ajudar bastante na definição de camadas, assim como grupos de componentes, middlewares presentes e serviços. Mas não temos um mapeamento direto para o provisionamento dessa solução no mundo de infraestrutura.

Se você é um arquiteto de infraestrutura ou um IT PRO que nos lê (benvindos!), pense o número de vezes em que você recebeu de desenvolvedores e arquitetos de soluções/software/aplicativos, pacotes fechados para serem implementados, sem ao menos uma linha de comentário sobre qual deveria ser o mapa de deployment em produção. Não é verdade?

Inúmeros profissionais de desenvolvimento esquecem ou ignoram o fato de que o mapeamento de infraestrutura é EXTREMAMENTE IMPORTANTE para qualquer solução no ambiente corporativo. Simplesmente, seguimos os caminhos do desenvolvimento de software, até usamos um excelente ALM, mas nada é definido sobre os aspectos de infraestrutura, consumo de recursos ou a padronização dos chamados UTILITY SERVICES.

Agora imagine o cenário de uma empresa com private cloud ou uma solução de datacenter dinâmico.

Como garantir que a arquitetura de referência para soluções esteja corretamente mapeada nos componentes provisionados na TI da empresa? Pense um pouco sobre isso!

No próximo post, veremos algumas alternativas para esse mapeamento de arquitetura sobre uma TI com nuvem privada.

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

Waldemir.