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

Diagrama simples do serviço hospedado do TFS

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.

Modelos de objeto do Team Foundation

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.

Diagrama de arquitetura de servidorServidores adicionais usados no TFSDiagrama de arquitetura de cliente

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.

Diagrama simples de portas e comunicações

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.

Diagrama simples do serviço hospedado do TFS

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.

Portas e comunicações diagrama complexo a parte 1Portas e comunicações diagrama complexo a parte 3Portas e comunicações diagrama complexo a parte 2

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

Referência de permissões para o Team Foundation Server

Componentes do data warehouse do TFS