Condividi tramite


Architettura di Team Foundation Server

Per pianificare e gestire al meglio la distribuzione, è necessario innanzitutto comprendere l'architettura sottostante di Team Foundation Server (TFS). Comprendere l'architettura consente di gestire l'integrità complessiva della distribuzione e di garantire la disponibilità generale dei server e dei servizi necessari ai team di sviluppo.

È possibile distribuire TFS in diverse modalità: in un server; in molti server; in un dominio o gruppo di lavoro o nei domini. In alternativa, è possibile scegliere di usare Visual Studio Online, dove tutti gli elementi server della distribuzione sono ospitati automaticamente da Microsoft. Comprendere l'architettura può aiutare a decidere la topologia che con più probabilità soddisfa le proprie esigenze. Indipendentemente dalla scelta della topologia, se si comprende l'architettura sottostante TFS, è possibile gestire meglio i requisiti fisici e logici. In questo argomento viene fornita una panoramica semplice delle varie architetture, con collegamenti a ulteriori informazioni sulle distribuzioni di esempio. Vengono inoltre fornite informazioni tecniche sui servizi, sui database, sulle informazioni di configurazione, nonché protocolli e porte di rete delle distribuzioni locali.

Per comprendere l'architettura di TFS e il modo in cui influisce sulla distribuzione, è necessario considerare quanto segue:

  • I livelli client, dati e applicazione logici di Team Foundation e se si desidera usare uno o più server per i livelli applicazione e dati oppure se si desidera che i livelli applicazione e dati vengano ospitati nel cloud automaticamente usando Visual Studio Online

  • La posizione dei server fisici o virtuali in cui vengono ospitati i livelli in questione

  • Team Foundation Build e il numero e la posizione dei computer di compilazione che verranno eseguiti nell'ambiente, incluso il numero di cui si potrebbe necessitare per supportare le procedure di sviluppo

  • La potenziale necessità del proxy di Team Foundation Server

È inoltre necessario considerare le interazioni tra queste entità. Ad esempio, se si sceglie di usare il servizio TFS ospitato, è necessario assicurarsi che tramite i client sia possibile accedere al servizio sulla porta 443. Se si decide di distribuire TFS localmente, è necessario conoscere i servizi Web, i database e i modelli a oggetti usati da TFS. È inoltre necessario conoscere i protocolli e le porte di rete usati da TFS per impostazione predefinita e quali porte di rete possono essere personalizzate. Infine, è opportuno conoscere le autorizzazioni che devono essere impostate in Team Foundation Server e i componenti e i programmi dai quali dipende la distribuzione.

Oltre che dai propri servizi, il funzionamento di Team Foundation Server dipende anche da altri servizi. Per informazioni su questi servizi, vedere Concetti su Team Foundation Server e Componenti del data warehouse di TFS. Per altre informazioni sulle dipendenze e i requisiti di installazione, vedere Guida all'installazione di Team Foundation Server.

Avviso

Non è consigliabile modificare manualmente i database TFS, a meno che non si siano ricevute indicazioni in tal senso dal supporto tecnico Microsoft o si seguano le procedure descritte per il backup manuale dei database.Tutte le altre modifiche possono invalidare il contratto di assistenza.

Contenuto dell'argomento

  • Visual Studio Online

  • Il modello a oggetti

  • Servizi Web e database per distribuzioni locali

    • Servizi a livello di raccolta

    • Servizi a livello di server

    • Livello dati

    • Livello client

  • Informazioni di configurazione

  • Gruppi e autorizzazioni

  • Porte e protocolli di rete

    • Impostazioni di rete predefinite

    • Impostazioni di rete personalizzabili

Visual Studio Online

Diagramma semplice del servizio TFS ospitato

Microsoft offre la possibilità di usare Visual Studio Online, in cui tutti gli aspetti del lato server della distribuzione sono ospitati automaticamente. Il codice sorgente, gli elementi di lavoro, le configurazioni di compilazione e le funzionalità del team sono tutti ospitati nel cloud. Da un punto di vista architetturale, si semplifica notevolmente la distribuzione, poiché gli unici aspetti dell'architettura di cui è necessario tenere conto sono i componenti client e il relativo accesso Internet.

Quando si usa questo servizio, si usa un Web browser per connettersi al servizio usando l'account Microsoft. È possibile creare progetti team, aggiungere membri al team ed eseguire operazioni come con una distribuzione installata localmente, senza il sovraccarico dovuto all'amministrazione dei server. Il livello applicazione, il livello dati e il server di compilazione vengono ospitati automaticamente nel cloud, usando la piattaforma cloud Microsoft e SQL Server Azure.

Per altre informazioni, vedere Esempi di topologia ospitata.

Il modello a oggetti

Sia con l'architettura ospitata sia con l'architettura distribuita localmente è possibile estendere le funzionalità di Team Foundation scrivendo un'applicazione basata sul modello a oggetti del server o del client. In tutti i tipi di distribuzione è possibile scrivere applicazioni mediante le quali si estendono le funzionalità client. Tuttavia, se si desidera estendere le funzionalità server, l'applicazione deve essere in esecuzione nel server a livello applicazione. Per estendere le funzionalità client, l'applicazione deve essere eseguita nello stesso computer in cui è installato Team Explorer.

Modelli a oggetti per Team Foundation

Per altre informazioni, vedere Estensione di Team Foundation.

Servizi Web e database per distribuzioni locali

Team Foundation Server include un set di servizi Web e database che si installano e configurano separatamente in uno o più server che ospitano i livelli applicazione, dati e client logici per Team Foundation. Alcune funzionalità, ad esempio l'area attività, e le funzionalità basate su team backlog, sono interamente basate sul Web e accessibili unicamente tramite Team Web Access, un servizio lato client basato sul Web. Altre, ad esempio le funzionalità di controllo della versione, sono accessibili tramite Team Web Access o tramite un'applicazione client. Nelle seguenti illustrazioni è fornita una panoramica di alto livello dei servizi Web, delle applicazioni e dei database per le distribuzioni locali di TFS.

Diagramma architettura serverServer aggiuntivi usati in TFSDiagramma architettura client

Servizi a livello di raccolta

I servizi a livello di raccolta forniscono le funzionalità per le operazioni al livello della raccolta di progetti team. È possibile creare applicazioni che estendono Team Foundation Server tramite alcuni di questi servizi. Per altre informazioni sulla creazione di applicazioni per TFS, vedere Estensione di Team Foundation.

Suggerimento

Alcuni servizi vengono visualizzati in più di un livello.Ad esempio, il servizio Registro di sistema opera a livello di raccolta e a livello di server e viene visualizzato in entrambi gli elenchi.

  • Servizi Framework di Team Foundation

    • Servizio Registro di sistema

    • Servizio di registrazione (per la compatibilità con le versioni precedenti di Team Foundation Server).

    • Servizio proprietà

    • Servizio eventi

    • Servizio di sicurezza

    • Servizio di percorso

    • Servizio di gestione identità

  • Servizio Web del controllo della versione

  • Servizio Web della gestione elementi di lavoro

  • Servizio Web di Team Foundation Build

  • Servizio Web Lab Management

  • Servizio Web di amministrazione VMM

  • Servizio Web controller dell'agente di test

Servizi a livello di server

I servizi a livello di server, noti anche come servizi a livello applicazione, offrono le funzionalità necessarie affinché Team Foundation Server funzioni come applicazione software. È possibile creare applicazioni che estendono Team Foundation Server tramite alcuni di questi servizi. Per altre informazioni, vedere Estensione di Team Foundation.

  • Servizi Framework di Team Foundation

    • Servizio Registro di sistema

    • Servizio eventi

    • Servizio della raccolta di progetti team

    • Servizio proprietà

    • Servizio di sicurezza

    • Servizio di percorso

    • Servizio di gestione identità

    • Servizio amministrazione

    • Servizio di gestione raccolta

    • Servizio catalogo

Livello dati

Nel livello dati sono inclusi dati, stored procedure e altra logica associata. Quando si usa Visual Studio Online, il livello dati viene ospitato automaticamente tramite SQL Server Azure. In una distribuzione locale di TFS, il livello dati logico è costituito dagli archivi operativi indicati di seguito all'interno di SQL Server. Questi archivi possono trovarsi in un server fisico o distribuiti in più server. È possibile creare applicazioni che estendono Team Foundation Server tramite alcuni di questi archivi operativi. Per altre informazioni, vedere Estensione di Team Foundation.

  • Database di configurazione (TFS_Configuration)

  • Warehouse applicazioni (TFS_Warehouse)

  • Database di Analysis Services (TFS_Analysis)

  • Database per le raccolte di progetti team (TFS_CollectionName)

La tabella seguente fornisce un elenco di database usati da Team Foundation Server nelle distribuzioni locali. Purché non sia diversamente specificato, è possibile spostare tutti i database in questo elenco dall'istanza e dal server originale in cui sono installati e ripristinarli in un altro server o un'altra istanza.

Nome e descrizione del database

Server

TFS_Configuration In questo database vengono archiviati il catalogo delle risorse e le informazioni di configurazione per Team Foundation Server. Questo database contiene gli archivi operativi per Team Foundation Server.

Istanza di SQL Server usata quando Team Foundation Server viene installato e configurato.

TFS_Warehouse In questo database vengono archiviati i dati per i report.

Istanza di SQL Server usata quando Team Foundation Server viene installato e configurato.

TFS_Analysis In questo database multidimensionale vengono archiviati i dati aggregati dalle raccolte di progetti team.

Istanza di SQL Server usata quando Team Foundation Server viene installato e configurato.

Database per le raccolte di progetti team Un database per ogni raccolta di progetti team contenente i dati per tutti i progetti team nella raccolta in questione.

Istanza di SQL Server compatibile con Team Foundation Server.

Livello client

Le comunicazioni tra il livello client e il livello applicazione vengono stabilite attraverso il modello a oggetti del server e da parte del livello client vengono usati gli stessi servizi Web elencati per il livello in questione. Questa condizione è valida se si distribuisce TFS localmente o se si usa Visual Studio Online. Oltre a tale modello, il livello client è costituito da componenti di Visual Studio Industry Partners (VSIP), integrazione con Microsoft Office, interfacce della riga di comando e un framework per criteri di archiviazione.

Informazioni di configurazione

Il servizio ospitato dipende dai servizi client, distribuiti in locale, e da una connessione Internet ai livelli applicazione e dati ospitati nel cloud. Una distribuzione locale di Team Foundation Server dipende da SQL Server, Internet Information Services (IIS) e dal sistema operativo Windows. In base alla topologia scelta, Team Foundation Server potrebbe inoltre dipendere da SQL Server Reporting Services o Prodotti SharePoint. Le informazioni di configurazione per Team Foundation Server possono pertanto essere archiviate in qualsiasi delle posizioni riportate di seguito.

  • Archivi dati di IIS.

  • File di configurazione per Team Foundation Server.

  • Origini dati per Reporting Services, ad esempio dati di TFSREPORTS.

  • Database di configurazione per Team Foundation Server. Il Registro di sistema di Team Foundation Server fa parte del database di configurazione.

  • Registro di sistema di Windows.

Per esempi relativi a differenti topologie di distribuzione locale e relativi alla posizione in cui queste risorse vengono archiviate, vedere Esempi di topologia semplice, Esempi di topologia moderata e Esempi di topologia complessa. Quando si gestisce una distribuzione locale di Team Foundation Server, è necessario prendere in considerazione queste origini di configurazione. Per modificare la configurazione in qualsiasi modalità, potrebbe essere necessario modificare le informazioni archiviate in più posizioni. Potrebbe inoltre essere necessario modificare le informazioni di configurazione per i livelli dati e client. In Team Foundation Server sono incluse una console di amministrazione e diverse utilità della riga di comando per apportare queste modifiche. Per altre informazioni, vedere Configurare e gestire risorse TFS.

Sincronizzazione delle identità di gruppo tra Active Directory e Team Foundation Server

Nelle distribuzioni locali in cui Team Foundation Server è in esecuzione in un dominio Active Directory, il gruppo e le informazioni di identità sono sincronizzate quando si verifica uno degli eventi seguenti:

  • Viene avviato il server di livello applicazione per Team Foundation.

  • Viene aggiunto un gruppo di Active Directory a un gruppo in Team Foundation Server.

  • Trascorre il periodo di tempo specificato nel processo pianificato. L'impostazione predefinita è un'ora e tutti i gruppi in Team Foundation Server vengono aggiornati ogni 24 ore.

I servizi di gestione di identità vengono sincronizzati con Active Directory e le identità modificate vengono propagate dal server ai client. Per impostazione predefinita, tutti i gruppi vengono aggiornati entro 24 ore. Questa impostazione, tuttavia, può essere personalizzata per meglio soddisfare le esigenze della distribuzione. Per altre informazioni, vedere Considerazioni su trust e insiemi di strutture per Team Foundation Server. Per distribuzioni locali in cui non si usa Active Directory, vedere Gestione di Team Foundation Server in un gruppo di lavoro.

Gruppi e autorizzazioni

In una distribuzione locale Team Foundation Server dispone del proprio set di gruppi e autorizzazioni predefiniti che è possibile impostare a livello di progetto, di raccolta o di server. È possibile creare gruppi personalizzati e personalizzare autorizzazioni a livelli singoli e di gruppo. Gli utenti o i gruppi aggiunti a Team Foundation Server, tuttavia, non vengono aggiunti automaticamente ai due componenti su cui si possono basare le distribuzioni locali di Team Foundation Server: Prodotti SharePoint e Reporting Services. Se nella distribuzione vengono usati questi programmi, affinché tali utenti o gruppi siano in grado di funzionare correttamente in tutte le operazioni in Team Foundation Server è quindi necessario aggiungere gli utenti o i gruppi ai programmi e concedere loro le autorizzazioni appropriate. Per altre informazioni, vedere Gestire utenti o gruppi in TFS.

Per le distribuzioni ospitate, l'accesso viene controllato mediante una combinazione di account Microsoft e appartenenza ai team. Per altre informazioni, accedere al servizio con l'account Microsoft e scegliere Informazioni.

Porte e protocolli di rete

Per impostazione predefinita, una distribuzione locale di TFS è configurata per l'uso di porte e protocolli di rete specifici. Nella figura seguente viene mostrato il traffico di rete di Team Foundation Server in una semplice distribuzione.

Diagramma di porte e comunicazioni semplice

TFS ospitato

Analogamente, il servizio ospitato per TFS è configurato per l'uso di porte e protocolli di rete specifici. Nella figura seguente viene mostrato il traffico di rete in una distribuzione ospitata.

Diagramma semplice del servizio TFS ospitato

Nella figura seguente viene mostrato il traffico di rete in una distribuzione più complessa che include i componenti di Visual Studio Lab Management.

Diagramma complesso di porte e comunicazioni - parte 1Diagramma complesso di porte e comunicazioni - parte 3Diagramma complesso di porte e comunicazioni - parte 2

Le macchine virtuali usano la porta 80 per comunicare con qualsiasi controller di test riguardo al download di un agente di Lab Management. Se si sperimentano problemi correlati alla comunicazione, verificare che questa porta sia abilitata.

Impostazioni di rete predefinite

Per impostazione predefinita, per la comunicazione tra i computer in una distribuzione di Team Foundation vengono usati i protocolli e le porte indicate nella tabella seguente. Se un asterisco (*) segue il numero di porta, è possibile personalizzare la porta.

Livello e servizio

Protocollo

Porta

Livello applicazione - Servizi Web

HTTP/HTTPS

8080/443*

Livello applicazione - Amministrazione di Prodotti SharePoint

HTTP 

17012* se i Prodotti SharePoint sono stati installati con Team Foundation Server; altrimenti viene generata casualmente

Livello applicazione - Prodotti SharePoint e Reporting Services

HTTP 

Servizio Strumentazione gestione Windows (WMI): necessario durante l'installazione per specificare e verificare gli URL per i servizi di report

80*

Porta dinamica

Livello dati

TCP MS-SQL

1433*

Livello dati (SQL Server Analysis Services)

MS-AS

Predefinita (2382 o 2383)*

La porta predefinita varia in base alla versione di SQL Server installata e al tipo di istanza. Usare Gestione configurazione SQL Server per determinare le porte usate dalla distribuzione.

Proxy di Team Foundation Server - dal client al proxy

HTTP 

8081*

Proxy di Team Foundation Server - dal proxy al livello applicazione

HTTP/HTTPS

8080/443*

Livello client - Reporting Services

HTTP 

80*

Livello client - Servizi Web

HTTP/HTTPS

8080/443*

Dal controller di compilazione al livello applicazione

HTTP/HTTPS

8080/443

Dall'agente di compilazione al livello applicazione

HTTP/HTTPS

8080/443

Release Management Server

HTTP o HTTPS

1000*

Release Management Client

HTTP o HTTPS

1000*

Release Management Agent

HTTP o HTTPS

1000*

Dal controller di test al livello applicazione

HTTP/HTTPS

8080/443*

Dal livello applicazione al controller di test

.NET remoto

6901*

Dal livello applicazione a Domain Name System (DNS)

Aggiornamento dinamico DNS

53

Livello applicazione - Virtual Machine Manager

HTTP 

8100

Dal controller di test all'agente di test

.NET remoto

6910*

Dall'agente di test al controller di test

.NET remoto

6901*

Dal controller di compilazione all'agente di compilazione

SOAP mediante HTTP

9191

Dall'agente lab all'agente lab in un ambiente isolato

Socket TCP

9050

Dall'agente di compilazione al controller di compilazione

SOAP mediante HTTP

9191

Console di amministrazione Virtual Machine Manager - Virtual Machine Manager

HTTP 

8100

Virtual Machine Manager - Host Virtual Machine Manager

Gestione remota Windows (WinRM): per eseguire azioni

Servizio trasferimento intelligente in background (BITS): per trasferire dati

80: per eseguire azioni

443: per trasferire dati

Virtual Machine Manager - Server di libreria Virtual Machine Manager

WinRM: per eseguire azioni

BITS: per trasferire dati

80: per eseguire azioni

443: per trasferire dati

Livello applicazione - Host Virtual Machine Manager

Comunicazione Distributed Component Object Model/Strumentazione gestione Windows (DCOM/WMI): per trasferire dati

135

Assegnata in modo dinamico nell'intervallo compreso tra 49152 e 65535.

Livello client - Host Virtual Machine Manager

Connessione basata su host con la macchina virtuale.

2179: per stabilire connessioni basate su host.

Servizi ospitati

HTTPS

443

Impostazioni di rete personalizzabili

Come illustrato nella tabella precedente, è possibile cambiare la comunicazione tra i livelli applicazione, dati e client nella distribuzione locale modificando Team Foundation Server in modo da usare porte personalizzate. Nella tabella seguente sono descritte le modifiche di esempio alle porte da HTTP a HTTPS.

Nota

Per configurare Team Foundation Server per l'utilizzo di HTTPS e di Secure Sockets Layer, è necessario non solo abilitare le porte per il traffico di rete HTTPS, ma eseguire anche molte altre attività.Per altre informazioni, vedere Configurare HTTPS con Secure Sockets Layer (SSL) per Team Foundation Server.

Servizio

Protocollo

Porta

Servizi Web con SSL

HTTPS

Configurato dall'amministratore

Amministrazione centrale SharePoint

HTTPS

Configurato dall'amministratore

Prodotti SharePoint

HTTPS

443

Reporting Services

HTTPS

443

Servizi Web client

HTTPS

Configurato dall'amministratore

Release Management

HTTPS

Configurato dall'amministratore

Vedere anche

Concetti

Concetti su Team Foundation Server

Riferimento alle autorizzazioni per Team Foundation Server

Componenti del data warehouse di TFS