Gerência - Ciclo de Vida de Desenvolvimento

Visual Studio Team System – Planejamento para evitar desastres

A tecnologia Visual Studio Team System esta em sua segunda versão, iniciou-se com a Versão 2005, hoje estamos na Versão 2008 e em breve, teremos a Versão Codi-Nome Rosário liberada também.

por Marcus Garcia



Esse artigo destina-se a Desenvolvedores ou Administradores de Redes?

Quando comecei a escrever esse artigo, minha primeira dúvida foi: Para quem devo escrever esse artigo? Para Desenvolvedores ou para Administradores de Redes? Minha dúvida foi rapidamente respondidada. Para ambos! Por que? Fácil resposta! O Desenvolvedor precisa de argumentos para convencer que a tecnologia em questão não será um grande impacto de infra-estrutura e o Administrador de Redes, precisa ter certeza que isso é verdade. Então, por que não fomentar informações aos “dois mundos” de maneira simples? Meu objetivo nesse artigo não é mostrar como se instala, então vamos lá!

Antes do primeiro click

A tecnologia Visual Studio Team System esta em sua segunda versão, iniciou-se com a Versão 2005, hoje estamos na Versão 2008 e em breve, teremos a Versão Codi-Nome Rosário liberada também. No entanto, mesmo com toda essa tecnologia e segurança embarcada é preciso planejamento adequado antes de efetivamente colocar em produção na sua empresa. Lembre-se, planos pilotos são muito válidos, mas geralmente o foco desses pilotos esta totalmente na utilização e não na ambientalização do backoffice necessário. Sendo assim, vou apresentar para você leitor, minha percepção de como colocar em produção o ambiente sem traumas.

Entendendo o ambiente:

· Arquitetura

· Camadas

· Pré-Requisitos

· Tipos de Instalação

· Gerenciamento de Dados e Disponibilidade

· Recuperação de Desastres

Exatamente! Precisamos inicialmente entender não somente como trabalhar com os pilares do VSTS, mas como tudo isso é acondicionado em nosso ambiente, como é tratado e principalmente, como se comporta.

Arquitetura

A arquitetura em questão é divida em 3 partes, sendo elas:

· Aplicativos

· Dados

· Cliente

A camada de Aplicativos (Figura1) é composta dos softwares básicos para operaçao que são; Windows 2003 Server ou 2008, bem como a instalação dos Web Services, Diretórios Virtuais (IIS), ferramentas administrativas e toda integração implicita dos ambientes de servidores, como o AD (Active Directory).

Figura1

A camada de dados (Figura2), contém todos os bancos que irão gerar a massa de dados do ambiente Team Foundation Server, assim como a camada de aplicativos essa camada é composta pelos softwares Windows 2003 Server ou 2008 e SQL Server 2005.

Figura2

A camada cliente por sua vez (Figura3), é mais conhecida com Team Explorer, composta pelo Shell do Visual Studio para proporcionar acesso as funcionalidades básicas do ambiente, além é claro, de permitir a integração com MS Excel e MS Project. Essa camada tem como software básico no mínimo o sistema operacional Windows 2000. A integração via camada cliente é possível também através de um Web Browser, permitindo acesso ao Portal do Projeto baseado em Sharepoint e funcionalidades do ambiente.

Figura3

Portas de rede

As portas de rede necessárias são basicamente as mesmas que você já utilize no seu di-a-dia, sem impacto algum, veja:

· 80

· 8080

· 1443/1444

· 9191

Abaixo (Figura4), veja o diagrama de funcionamento dessas portas, note que a figura vislumbra um ambiente que pode não ser o da sua empresa, mas o mais importante é que, as portas de comunicação são básicas e de sua comum nas empresas.

Figura4

Pré-requisitos

Hardware

Os pré-requisitos na camada de hardware – aplicativos (Figura5), podem ir dos mais básicos encontrados em servidores departamentais, como até grandes servidores virtualizados. Veja um exemplo :

Figura5

OBS: maiores informações consulte: www.msdnbrasil.com.br e procure por pré-requisitos para instalar Visual Studio Team Foundation Server 2008.

No caso dos pré-requisitos na camada de hardware – dados (Figura6), você deve ficar atento ao modelo de instalação que irá escolher (Single Sever, Dual Server, etc) e calcular sua necessidade com base nesse modelo. Abaixo, mais um exemplo de configurações recomendadas

Figura6

OBS: maiores informações consulte: www.msdnbrasil.com.br e procure por pré-requisitos para instalar Visual Studio Team Foundation Server 2008.

Software

Nada além do normal, sistema operacional e banco de dados que podem ser da versão Standard.

Camada de dados

· Windows Server 2003 com SP1 (Standard)

· SQL Server 2005 com SP2 (Standard)

Camada de aplicação

· Windows Server 2003 com SP1 (Standard)

· IIS 6.0 com ASP.NET

· Windows Sharepoint com SP2

· SQL Server 2oo5 (Reporting Services)

Camanda cliente

· Windows 2000 com SP4 (mínimo)

· .NET Framework 2.0 (mínimo)

OBS: maiores informações consulte: www.msdnbrasil.com.br e procure por pré-requisitos para instalar Visual Studio Team Foundation Server 2008.

Tipos de instalação

Os tipos de instalação (modelos) que podem corresponder a sua necessidade, devem ser préviamente analisados, além disso, recomendo você tentar responder questões do tipo:

O que deve ser meu ambiente?

· Será Single Server?

· Será Dual Server?

· Será para times pequenos?

· Será para times médios?

· Será para uso departamental?

· Será para uso compartilhado?

· Será para uso de ultra-usuários (base gigante)?

Single Server (Camada de aplicação + Camada de dados juntos)

A instalação do tipo Single Server (Figura7), uma das mais comuns encontradas nas empresas, coloca em um mesmo servidor Camada de Aplicativos e Camada de Dados.

Figura7
Simple Server Topology

Vantagem: Economia de hardware e administração centralizada

Desvantagem: escalabilidade limitada

Dual Server (Camada de aplicação + Camada de dados separados)

A instalação do tipo Dual Server (Figura8), é bem interessante de ser implantada, uma vez que ao instalar as duas camadas em servidores separados você pode prover administração a sua massa de dados de forma independente da administração básica do Team Foundation Server. Além disso, outros services podem ser instalados e gerenciados integrando mais ainda seu ambiente.

Figura8
Moderate Server Topology

OBS: maiores informações consulte: www.msdnbrasil.com.br e procure por pré-requisitos para instalar Visual Studio Team Foundation Server 2008.

Gerenciamento de Dados e Disponibilidade

Onde estão meus dados? Como posso acessá-los? (Figura9)

Por diversas vezes, o desenvolvedor não sabe como é feito o processamento das requisições internamente no VSTS. Obviamente isso faz sentido para ele, uma vez que ele é usuário da tecnologia e não tem necessidade de saber como ocorrem tais operações internas. Já no caso do Administrador de Redes, tais informações são essenciais para evitar futuros problemas em processos de restauração e manutenções emergenciais. Além disso, quando da necessidade de integração com outras tecnologias tem ciência de tais informações fazem a diferença.

Figura9

Essas informações – bancos de dados, você encontra na camada de dados do seu Team Foundation Server.

Recuperação de Desastres

Quando falamos em desastres, a primeira coisa que vem a minha cabeça é: queimou tudo! perdi meu servidor! E agora???

É nessa hora que colocamos a prova nosso planejamento, portanto, você:

Em hardware – Você tem acesso físico aos servidores necessários em caso de emergência?

Em sistema Operacional – Seus users/pass tem os privilégios necessários em caso de emergência?

Em massa de dados – Você sabe como são feitos os backups? Onde eles ficam? Quem deve restaurá-los para você? Onde restaurar? Principalmente: Quem é o responsável? Existem testes periódicos de integridade dos dados?

Backup

Premissa básica, ter um backup atualizado e testado de:

Bancos do TFS

Bancos do Sharepoint

Bancos do Reporting Services

Encryption Key do Reporting Services

Restore

O processo é simples, no entanto requer atenção para:

a. Camada de Aplicação

i. Instalar novamente os softwares básicos

ii. Instalar o TFS

b. Camada de Dados

i. Detach nos bancos que foram instalados

ii. Restaurar os bancos originais

iii. Se necessário, restaurar Encryption Key

Conclusão

Instalar é fácil, next-next-finish. Planejar requer estratégia, fundamental para evitar impactos negativos, portanto, invista em reuniões entre os responsáveis de infra e desenvolvimento de sua empresa antes de sair do projeto piloto para o projeto de produção.

Marcus Garcia

Marcus Garcia - Foi Microsoft MVP entre 2004 a 2009, faz gestão de Desenvolvimento de Software na Submarino (Grupo B2W), é autor de inúmeros artigos técnicos e livros, além de ter proferido treinamentos e palestras por todo o Brasil. Atualmente, um dos sócios do Centro de Treinamentos Profissionais Actiongroup (www.actiongroup.com.br) . Pode ser encontrado pelo e-mail marcus.garcia@actiongroup.com.br ou pode ser seguido pelo @marcusgarcia