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 GarciaEsse 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
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
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.
- Change Management ou a Gestão da MudançaMetodologias e Processos
- Integrando o Sub Version com o Visual StudioCiclo de Vida de Desenvolvimento
- Definição Ágil de User Stories – Toda história deve ter um início felizMetodologias e Processos
- Visual Studio Team System: mais qualidade aos times de desenvolvimento de softwareCiclo de Vida de Desenvolvimento
- Como Inserir Horas Extras no ProjectCiclo de Vida de Desenvolvimento