Arquitetura do Team Foundation Server
Para melhor planejar e gerenciar sua implantação, primeiro compreenda a arquitetura subjacente do TFS (Team Foundation Server). A compreensão da arquitetura pode ajudá-lo a manter o funcionamento geral da implantação e ajudar a garantir a disponibilidade geral dos servidores e dos serviços que suas equipes de desenvolvimento necessitam.
Você pode implantar o RFS de várias maneiras: em um servidor, em vários servidores ou em um domínio ou um grupo de trabalho ou entre domínios. Ou então, opte por usar o Visual Studio Online, em que todos os elementos do servidor de sua implantação são hospedados por você pela Microsoft. A compreensão da arquitetura pode ajudá-lo a decidir qual topologia provavelmente atende melhor às suas necessidades comerciais. Independentemente de sua escolha de topologia, se você compreender a arquitetura subjacente do TFS, poderá gerenciar melhor os requisitos físicos e lógicos. Este tópico fornece uma visão geral simples das várias arquiteturas, com links para obter mais informações sobre implantações de exemplo. Fornece também informações técnicas sobre os serviços, bancos de dados, informações de configuração e portas e protocolos de rede de implantações locais.
Para compreender a arquitetura do TFS e como ela afeta sua implantação, você deve considerar o seguinte:
O aplicativo lógico, os dados e as camadas do cliente do Team Foundation e se deseja usar um ou mais servidores para o aplicativo e as camadas de dados, ou se quer que o aplicativo e as camadas de dados sejam hospedados na nuvem para você, usando o Visual Studio Online
O local dos servidores físicos ou virtuais que hospedam essas camadas
Team Foundation Build e o número e o local de computadores de compilação que serão executados em seu ambiente, incluindo quantos você precisa para oferecer suporte às suas práticas de desenvolvimento
A necessidade potencial para Team Foundation ServerProxy
Além disso, você deve considerar as interações entre essas entidades. Por exemplo, se escolher usar o serviço TFS hospedado, deverá garantir que os clientes possam acessar o serviço na porta 443. Se escolher implantar o TFS localmente, saiba quais serviços Web, bancos de dados e modelos de objeto o TFS utiliza. Além disso, você tem que saber quais portas e protocolos de rede o TFS utiliza por padrão e quais portas de rede pode personalizar. Finalmente, você tem que compreender quais permissões deve configurar em Team Foundation Server e os componentes e programas dos quais dependem sua implantação.
Além dos seus próprios serviços, o Team Foundation Server depende de outros serviços para funcionar. Para obter informações sobre esses serviços, consulte Conceitos do Team Foundation Server e Componentes do data warehouse do TFS. Para obter informações sobre os requisitos e dependências para instalação, consulte Guia de Instalação do Team Foundation Server.
Aviso
Você não deve modificar manualmente nenhum banco de dados do TFS, a menos que seja instruído a fazê-lo pelo suporte da Microsoft ou esteja seguindo os procedimentos descritos para fazer backup manual dos bancos de dados.Quaisquer outras modificações podem invalidar o contrato de serviço.
Neste tópico
Visual Studio Online
O Modelo de Objeto
Serviços Web e Bancos de Dados para Implantações Locais
Serviços de Nível de Coleção
Serviços de Nível do Servidor
Camada de Dados
Camada do Cliente
Informações da Configuração
Grupos e Permissões
Portas e Protocolos de Rede
Configurações de Rede Padrão
Configurações de Rede Personalizáveis
Visual Studio Online
A Microsoft oferece a opção de usar o Visual Studio Online, onde todos os aspectos do lado do servidor da implantação são hospedados por você. Seu código-fonte, seus itens de trabalho, suas configurações de compilação e seus recursos de equipe são todos hospedados na nuvem. Do ponto de vista de uma arquitetura, isso simplifica enormemente sua implantação, uma vez que os únicos aspectos da arquitetura que devem ser considerados são os componentes cliente e seu acesso à Internet.
Ao usar o serviço, você usa um navegador da web para conectar ao serviço usando sua conta da Microsoft. Você pode criar projetos de equipe, adicionar membros à sua equipe e trabalhar como faria com uma implantação instalada localmente, sem a sobrecarga de administrar os servidores. Sua camada de aplicativo, camada de dados e servidores de compilação são hospedados por você na nuvem, usando a plataforma Microsoft Cloud e SQL Server Azure.
Para obter mais informações, consulte Exemplos de topologia hospedado.
O modelo de objeto
Com a arquitetura hospedada ou implantada localmente, você pode estender os recursos e a funcionalidade do Team Foundation, gravando um aplicativo baseado em seu servidor ou no modelo de objeto cliente. Em todos os tipos de implantação, é possível gravar aplicativos que estendem os recursos do cliente. No entanto, se desejar estender os recursos do servidor, seu aplicativo deverá executar no servidor da camada de aplicativo. Para estender os recursos do cliente, execute o aplicativo no mesmo computador do Team Explorer.
Para obter mais informações, consulte Estendendo o Team Foundation.
Serviços web e bancos de dados para implantações locais
O Team Foundation Server inclui um conjunto de serviços Web e bancos de dados que você instala e configura separadamente no servidor ou nos servidores que hospedam o aplicativo lógico, os dados e as camadas do cliente do Team Foundation. Alguns recursos, como o painel de tarefas e recursos da lista de pendências baseado na equipe, são inteiramente baseados na web e acessados unicamente por meio do Team Web Access, um serviço baseado na web do lado do cliente. Outros, como os recursos de controle de versão, podem ser acessados por meio do Team Web Access ou por meio de um aplicativo cliente. As ilustrações a seguir fornecem uma exibição de alto nível de serviços web, aplicativos e bancos de dados para implantações locais do TFS.
Serviços de nível de coleção
Os serviços de nível de coleção fornecem a funcionalidade para operações no nível da coleção do projeto de equipe. Você pode criar aplicativos que estendem o Team Foundation Server usando alguns desses serviços. Para obter mais informações sobre como criar aplicativos para o TFS, veja Estendendo o Team Foundation.
Dica
Alguns serviços aparecem em mais de um nível.Por exemplo, as funções do serviço de Registro no nível da coleção e no nível do servidor e aparecem nas duas listas.
Team Foundation Framework Services
Serviço de Registro
Serviço de Registro (para compatibilidade com versões anteriores do Team Foundation Server)
Serviço de Propriedade
Serviço de Eventos
Serviço de Segurança
Serviço de Local
Serviço de Gerenciamento de Identidades
Serviço Web de Controle de Versão
Serviço Web de Acompanhamento do Item de Trabalho
Serviço Web Team Foundation Build
Serviço Web de Gerenciamento de Laboratórios
Serviço Web de Administração de VMM
Serviço Web de Controlador de Agente de Teste
Serviços de Nível do Servidor
Os serviços de nível do servidor (também conhecidos como serviços de nível do aplicativo) fornecem a funcionalidade para operações do Team Foundation Server como um aplicativo de software. Você pode criar aplicativos que estendem o Team Foundation Server usando alguns desses serviços. Para obter mais informações, consulte Estendendo o Team Foundation.
Team Foundation Framework Services
Serviço de Registro
Serviço de Eventos
Serviço de Coleção de Projeto de Equipe
Serviço de Propriedade
Serviço de Segurança
Serviço de Local
Serviço de Gerenciamento de Identidades
Serviço de Administração
Serviço de Gerenciamento de Coleções
Serviço de Catálogo
Camada de dados
A camada de dados inclui dados, procedimentos armazenados e outra lógica associada. Quando você usa o Visual Studio Online, a camada de dados é hospedada por você usando o SQL Server Azure. Em uma implantação local do TFS, a camada de dados lógicos consiste nos seguintes armazenamentos operacionais dentro do SQL Server. Esses armazenamentos podem estar localizados em um servidor físico ou distribuídos em vários servidores. Você pode criar aplicativos que estendem o Team Foundation Server usando alguns desses armazenamentos operacionais. Para obter mais informações, consulte Estendendo o Team Foundation.
Banco de dados de configuração (TFS_Configuration)
Depósito do aplicativo (TFS_Warehouse)
Banco de dados do Analysis Services (Tfs_Analysis)
Bancos de dados para coleções do projeto de equipe (TFS_CollectionName)
A tabela a seguir fornece uma lista dos bancos de dados que o Team Foundation Server usa em implantações locais. A menos que indicado de outra forma, você pode mover todos os bancos de dados nesta lista do servidor original e da instância em que eles estão instalados e restaurá-los em outro servidor ou outra instância.
Nome e Descrição do Banco de Dados |
Servidor |
---|---|
TFS_Configuration Esse banco de dados armazena o catálogo de recursos e as informações de configuração do Team Foundation Server. Esse banco de dados contém os armazenamentos operacionais do Team Foundation Server. |
A instância do SQL Server que é usada quando o Team Foundation Server está instalado e configurado. |
TFS_Warehouse Esse banco de dados armazena os dados dos relatórios. |
A instância do SQL Server que é usada quando o Team Foundation Server está instalado e configurado. |
TFS_Analysis Esse banco de dados multidimensional armazena os dados agregados das coleções do projeto de equipe. |
A instância do SQL Server que é usada quando o Team Foundation Server está instalado e configurado. |
Bancos de dados para coleções do projeto de equipe Um banco de dados para cada coleção do projeto de equipe, contendo dados de todos os projetos de equipe nessa coleção. |
A instância do SQL Server que é compatível com o Team Foundation Server. |
Camada do cliente
A camada do cliente se comunica com a camada do aplicativo por meio do modelo de objeto do servidor e usa os mesmos serviços Web que estão listados para essa camada. Este é o caso se você implantar o TFS localmente ou se usar o Visual Studio Online. Além desse modelo, a camada do cliente consiste nos componentes Visual Studio Industry Partners (VSIP), na integração do Microsoft Office, nas interfaces da linha de comandos e em uma estrutura para políticas de check-in.
Informações da configuração
O serviço hospedado depende dos serviços do cliente, implantados localmente e de uma conexão com a Internet para o aplicativo e as camadas de dados hospedados na nuvem. Uma implantação local do Team Foundation Server depende do SQL Server, dos Serviços de Informações da Internet (IIS) e do sistema operacional Windows. Dependendo da topologia escolhida, o Team Foundation Server pode depender também do SQL Server Reporting Services ou do Produtos do SharePoint. Portanto, as informações de configuração do Team Foundation Server podem ser armazenadas em alguns dos seguintes locais:
Armazenamentos de dados do IIS.
Arquivos de configuração do Team Foundation Server.
Fontes de dados do Reporting Services (ex.: dados do TFSREPORTS).
Banco de dados de configuração do Team Foundation Server. O registro do Team Foundation Server faz parte do banco de dados de configuração.
Registro do Windows.
Para obter exemplos de diferentes topologias de implantação local e onde esses recursos são armazenados, veja Exemplos de topologia simples, Exemplos de topologia moderada e Exemplos de topologia complexa. Enquanto mantiver uma implantação local do Team Foundation Server, você tem que levar essas fontes de configuração em conta. Para alterar a configuração de alguma maneira, talvez seja necessário modificar informações que estão armazenadas em vários locais. Também pode ser necessário alterar informações de configuração dos dados e camadas do cliente. O Team Foundation Server inclui um console de administração e vários utilitários de linha de comandos para ajudá-lo a fazer essas alterações. Para obter mais informações, consulte Configurar e gerenciar os recursos do TFS.
Sincronização de identidades de grupos entre o Active Directory e o Team Foundation Server
Em implantações locais em que o Team Foundation Server está sendo executado em um domínio do Active Directory, as informações do grupo e da identidade são sincronizadas quando ocorrer algum dos seguintes eventos:
O servidor da camada de aplicativo para Team Foundation for iniciado.
Um grupo do Active Directory for adicionado a um grupo no Team Foundation Server.
O período de tempo especificado no trabalho agendado tiver decorrido. O padrão é uma hora e todos os grupos no Team Foundation Server são atualizados a cada 24 horas.
Os Serviços de Gerenciamento de Identidades (IMS) forem sincronizados com o Active Directory e as identidades alteradas se propagarem do servidor aos clientes. Por padrão, todos os grupos são atualizados dentro de 24 horas, mas você pode personalizar isso para melhor se adequar às suas necessidades de implantação. Para obter mais informações, consulte Relações de confiança e considerações de florestas para Team Foundation Server. Para implantações locais que não usam o Active Directory, consulte Gerenciamento de servidor Team Foundation em um grupo de trabalho..
Grupos e permissões
Em uma implantação local, o Team Foundation Server tem seu próprio conjunto de grupos e permissões padrão que você pode definir como no nível do projeto, da coleção ou do servidor. Você pode criar grupos personalizados e personalizar permissões nos níveis individuais e de grupo. Entretanto, os usuários ou grupos que você adiciona ao Team Foundation Server não são adicionados automaticamente aos dois componentes dos quais as implantações locais do Team Foundation Server podem depender: Produtos do SharePoint e Reporting Services. Se sua implantação utiliza esses programas, você tem que adicionar usuários e grupos a eles e conceder as permissões adequadas para que esses usuários ou grupos funcionem corretamente em todas as operações no Team Foundation Server. Para obter mais informações, consulte Gerenciar usuários ou grupos no TFS.
Para implantações hospedadas, o acesso é controlado por meio de uma combinação de contas da Microsoft e da associação da equipe. Para obter mais informações, conecte-se ao serviço com sua conta da Microsoft e escolha Saiba mais.
Portas e protocolos de rede
Por padrão, uma implantação local de TFS é configurada para usar portas e protocolos de rede específicos. A ilustração a seguir mostra o tráfego de rede do Team Foundation Server em uma implantação simples.
TFS hospedado
Da mesma forma, o serviço hospedado para TFS é configurado para usar portas e protocolos de rede específicos. A ilustração a seguir mostra o tráfego de rede em uma implantação hospedada.
A ilustração a seguir mostra o tráfego de rede em uma implantação mais complexa que inclui os componentes para Visual Studio Lab Management.
Máquinas virtuais usam a porta 80 para se comunicar com qualquer controlador de teste sobre o download de um agente de gerenciamento de laboratório. Verifique se essa porta é ativada se você estiver tendo problemas de comunicação.
Configurações de rede padrão
Por padrão, a comunicação entre os computadores em uma implantação de Team Foundation usa os protocolos e as portas mostrados na tabela a seguir. Se houver um asterisco (*) ao lado do número da porta, significa que é possível personalizar essa porta.
Camada e serviço |
Protocolo |
Porta |
---|---|---|
Camada de aplicativo – Serviços Web |
HTTP/HTTPS |
8080/443* |
Camada de aplicativo – Administração do Produtos do SharePoint |
HTTP |
17012* se Produtos SharePoint foram instalados com o Team Foundation Server; caso contrário, gerados aleatoriamente |
Camada de aplicativo – Produtos do SharePoint e Reporting Services |
HTTP Serviço Instrumentação de Gerenciamento do Windows (WMI) (necessário durante a instalação para especificar e verificar as URLs para Reporting Services) |
80* Porta dinâmica |
Camada de dados |
TCP MS-SQL |
1433* |
Camada de dados (SQL Server Analysis Services) |
MS-AS |
padrão (2382 ou 2383)* A porta padrão varia dependendo da versão de SQL Server instalada e do tipo de instância. Use SQL Server Configuration Manager para determinar as portas usadas por sua implantação. |
Team Foundation Server Proxy - cliente para proxy |
HTTP |
8081* |
Team Foundation Server Proxy - proxy para camada de aplicativo |
HTTP/HTTPS |
8080/443* |
Camada de cliente - Reporting Services |
HTTP |
80* |
Camada de cliente - Serviços Web |
HTTP/HTTPS |
8080/443* |
Controlador de compilação para camada de aplicativo |
HTTP/HTTPS |
8080/443 |
Agente de compilação para camada de aplicativo |
HTTP/HTTPS |
8080/443 |
Release Management Server |
HTTP ou HTTPS |
1000* |
Release Management Client |
HTTP ou HTTPS |
1000* |
Release Management Agent |
HTTP ou HTTPS |
1000* |
Controlador de teste para camada de aplicativo |
HTTP/HTTPS |
8080/443* |
Camada de aplicativo para controlador de teste |
.NET remoto |
6901* |
Camada de aplicativo para Sistema de Nomes de Domínio (DNS) |
Atualização Dinâmica de DNS |
53 |
Camada de aplicativo – Virtual Machine Manager |
HTTP |
8100 |
Controlador de teste para agente de teste |
.NET remoto |
6910* |
Agente de teste para controlador de teste |
.NET remoto |
6901* |
Controlador de compilação para agente de compilação |
SOAP sobre HTTP |
9191 |
Agente de laboratório para agente de laboratório em um ambiente isolado |
Soquetes TCP |
9050 |
Agente de compilação para controlador de compilação |
SOAP sobre HTTP |
9191 |
Console do Administrador do Virtual Machine Manager – Virtual Machine Manager |
HTTP |
8100 |
Virtual Machine Manager– Hosts do Virtual Machine Manager |
Windows Remote Management (WinRM) para executar ações Serviço de Transferência Inteligente em Segundo Plano (BITS) para transferir dados |
80 para executar ações 443 para transferir dados |
Virtual Machine Manager– Servidor de bibliotecas do Virtual Machine Manager |
WinRm para executar ações BITS para transferir dados |
80 para executar ações 443 para transferir dados |
Camada de aplicativo – Hosts do Virtual Machine Manager |
Comunicação do Distributed Component Object Model/Interface de Gerenciamento do Windows (DCOM/WMI) para transferir dados |
135 Atribuído dinamicamente no intervalo de 49152 a 65535 |
Camada de cliente – Hosts do Virtual Machine Manager |
Conexão baseada em host para a máquina virtual. |
2179 para executar conexões baseadas em host. |
Serviços hospedados |
HTTPS |
443 |
Configurações de rede personalizáveis
Conforme mostrado na tabela anterior, você pode alterar a comunicação entre o aplicativo, dados e camadas de cliente em implantações locais modificando o Team Foundation Server para usar portas personalizadas. A tabela a seguir descreve alterações de exemplo em portas de HTTP para HTTPS.
Dica
Para configurar o Team Foundation Server para usar HTTPS e Secure Sockets Layer, você deve ativar somente portas para tráfego de rede HTTPS, mas deve executar também várias outras tarefas.Para obter mais informações, consulte Instalar HTTPS com SSL para o Team Foundation Server.
Serviço |
Protocolo |
Porta |
---|---|---|
Serviços Web com SSL |
HTTPS |
Configurado pelo administrador |
Administração Central do SharePoint |
HTTPS |
Configurado pelo administrador |
Produtos do SharePoint |
HTTPS |
443 |
Reporting Services |
HTTPS |
443 |
Client Web Services |
HTTPS |
Configurado pelo administrador |
Gerenciamento de versão |
HTTPS |
Configurado pelo administrador |
Consulte também
Conceitos
Conceitos do Team Foundation Server