Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
Azure DevOps Server 2022 | Azure DevOps Server 2020 | Azure DevOps Server 2019
Per pianificare e gestire al meglio la distribuzione, è prima necessario comprendere l'architettura sottostante di Azure DevOps Server. Comprendere l'architettura consente di mantenere l'integrità complessiva della distribuzione e garantire la disponibilità complessiva dei server e dei servizi richiesti dai team di sviluppo.
È possibile distribuire Azure DevOps Server in diversi modi: in un server; su molti server; o in un dominio o in un gruppo di lavoro o in più domini. In alternativa, è possibile scegliere di usare Azure DevOps Services, in cui tutti gli elementi server della distribuzione sono ospitati da Microsoft. Comprendere l'architettura può aiutare a decidere quale topologia è più probabile soddisfare le esigenze aziendali. Indipendentemente dalla scelta della topologia, se si comprende l'architettura sottostante al server Azure DevOps, è possibile gestire meglio i requisiti fisici e logici. Questo articolo offre una semplice panoramica delle varie architetture, con collegamenti ad altre informazioni sulle distribuzioni di esempio. Fornisce inoltre informazioni tecniche sui servizi, i database, le informazioni di configurazione e le porte di rete e i protocolli delle distribuzioni locali.
Per comprendere l'architettura di Azure DevOps Server e come influisce sulla distribuzione, è necessario tenere presente quanto segue:
- L'applicazione logica, i dati e i livelli client di Azure DevOps e se si vogliono usare uno o più server per l'applicazione e i livelli dati oppure se si vuole che l'applicazione e i livelli dati siano ospitati nel cloud usando Azure DevOps Services
- Posizione dei server fisici o virtuali che ospitano tali livelli
- Team Foundation Build e il numero e la posizione dei computer di build in esecuzione nell'ambiente, tra cui quanti potrebbero essere necessari per supportare le procedure di sviluppo o se si useranno i servizi cloud di Azure Pipelines per compilare e distribuire le applicazioni software
- La potenziale necessità del server proxy di Azure DevOps
Inoltre, è necessario considerare le interazioni tra queste entità. Ad esempio, se si sceglie di usare il servizio Azure DevOps Server ospitato, è necessario assicurarsi che i client possano accedere al servizio sulla porta 443. Se si sceglie di distribuire Azure DevOps Server in locale, è necessario conoscere i servizi Web, i database e i modelli a oggetti usati da Azure DevOps Server. Inoltre, è necessario conoscere le porte di rete e i protocolli usati da Azure DevOps Server per impostazione predefinita e quali porte di rete è possibile personalizzare. Infine, è necessario comprendere quali autorizzazioni è necessario impostare in Azure DevOps Server e i componenti e i programmi da cui dipende la distribuzione.
Oltre ai propri servizi, Azure DevOps Server dipende da altri servizi per funzionare. Per ulteriori informazioni su questi servizi, vedere Concetti di Azure DevOps Server e Componenti del data warehouse di Azure DevOps Server. Per altre informazioni sui requisiti e sulle dipendenze per l'installazione, vedere la guida all'installazione di Azure DevOps Server.
Importante
Non è consigliabile modificare manualmente uno dei database del server Azure DevOps, a meno che non venga richiesto dal supporto tecnico Microsoft o di seguire le procedure descritte per il backup manuale dei database. Eventuali altre modifiche possono invalidare il contratto di servizio.
Servizi di Azure DevOps
Microsoft offre la possibilità di usare Azure DevOps Services, che può ospitare tutti gli aspetti lato server di Azure DevOps Server. Il codice sorgente, gli elementi di lavoro, le configurazioni di compilazione e le funzionalità del team sono tutti ospitati nel cloud. Dal punto di vista dell'architettura, questo semplifica notevolmente l'uso di Azure DevOps Server, in quanto gli unici aspetti dell'architettura da considerare sono i componenti client e il relativo accesso a Internet.
Quando si usa Azure DevOps Services, si usa un Web browser per connettersi al servizio usando l'account Microsoft. È possibile creare progetti, aggiungere membri al team e lavorare come si farebbe con un server Azure DevOps installato in locale, senza il sovraccarico di amministrazione dei server. Azure DevOps Services ospita il livello applicativo, il livello di dati e i server di build nel cloud.
Per altre informazioni sui servizi cloud rispetto alle distribuzioni locali, vedere Azure DevOps Services e Azure DevOps Server.
Modello a oggetti
Con l'architettura ospitata o distribuita in locale, è possibile estendere le funzionalità e le funzionalità di Azure DevOps scrivendo un'applicazione basata sul relativo modello a oggetti client o server. In tutti i tipi di distribuzione è possibile scrivere applicazioni che estendono le funzionalità client. Tuttavia, se si desidera estendere le funzionalità del server, l'applicazione deve essere eseguita nel server a livello di applicazione. Per estendere le funzionalità client, è necessario eseguire l'applicazione nello stesso computer di Team Explorer.
Servizi Web e database per distribuzioni locali
Azure DevOps Server include un set di servizi Web e database installati e configurati separatamente nel server o nei server che ospitano l'applicazione logica, i dati e i livelli client per Azure DevOps. Alcune funzionalità, ad esempio la scheda attività e le funzionalità basate sul team di backlog, sono completamente basate sul Web e sono accessibili esclusivamente tramite un portale Web, un servizio basato sul Web sul lato client. Altri, ad esempio le funzionalità di controllo della versione, possono essere accessibili tramite un portale Web o tramite un'applicazione client. Le illustrazioni seguenti offrono una panoramica generale dei servizi Web, delle applicazioni e dei database per le distribuzioni locali di Azure DevOps Server.
Servizi a livello di raccolta
I servizi a livello di raccolta forniscono la funzionalità per le operazioni al livello della raccolta di progetti. È possibile creare applicazioni che estendono Azure DevOps Server usando alcuni di questi servizi. Per altre informazioni sulla creazione di applicazioni per Azure DevOps Server, vedere Sviluppare estensioni.
Annotazioni
Alcuni servizi vengono visualizzati in più livelli. Ad esempio, il servizio Registro di sistema funziona a livello di raccolta e a livello di server e viene visualizzato in entrambi gli elenchi.
Servizi di framework:
- Servizio di registrazione
- Servizio di registrazione (per compatibilità con le versioni precedenti di Azure DevOps Server)
- Servizio proprietà
- Servizio eventi
- Servizio di sicurezza
- Servizio di localizzazione
- Servizio Identity Management
- Servizio Web controllo della versione
- Servizio web per il tracciamento degli elementi di lavoro
- Servizio Web Build di Team Foundation
- Servizio Web di Gestione del Laboratorio
- Servizio Web amministrazione VMM
- Servizio Web di Controllo degli Agenti di Test
Servizi a livello di server
I servizi a livello di server (noti anche come servizi a livello di applicazione) forniscono la funzionalità per le operazioni per Azure DevOps Server come applicazione software. È possibile creare applicazioni che estendono Azure DevOps Server usando alcuni di questi servizi.
Servizi del framework:
- Servizio di registrazione
- Servizio eventi
- Servizio raccolta progetti
- Servizio immobiliare
- Servizio di sicurezza
- Servizio di localizzazione
- Servizio Identity Management
- Servizio di amministrazione
- Servizio di gestione delle raccolte
- Servizio catalogo
Livello di dati
Il livello dati include dati, stored procedure e altra logica associata. Quando si usa Azure DevOps Services, il livello dati è ospitato per l'utente usando SQL Server Azure. In una distribuzione locale di Azure DevOps Server, il livello dati logico è costituito dai seguenti archivi operativi all'interno di SQL Server. Questi archivi possono trovarsi in un server fisico o distribuiti tra più server. È possibile creare applicazioni che estendono Azure DevOps Server usando alcuni di questi archivi operativi.
- Database di configurazione (TFS_Configuration)
- Magazzino applicazioni (TFS_Warehouse)
- Database di Analysis Services (TFS_Analysis)
- Database per le raccolte di progetti (TFS_CollectionName)
La tabella seguente fornisce un elenco dei database usati da Azure DevOps Server nelle distribuzioni locali. Se non diversamente specificato, è possibile spostare tutti i database in questo elenco dal server originale e dall'istanza in cui sono installati e ripristinarli in un altro server o istanza.
Nome del database Descrizione Servitore TFS_Configuration Questo database archivia il catalogo delle risorse e le informazioni di configurazione per Azure DevOps Server. Questo database contiene gli archivi operativi per Azure DevOps Server. Istanza di SQL Server usata quando Azure DevOps Server è installato e configurato. TFS_Warehouse Questo database archivia i dati per i report. Istanza di SQL Server usata quando Azure DevOps Server è installato e configurato. TFS_Analysis Questo database multidimensionale archivia i dati aggregati dalle raccolte di progetti. Istanza di SQL Server usata quando SQL Server Analysis Services è installato e configurato. Database per le raccolte di progetti Un database per ogni raccolta di progetti, contenente i dati di tutti i progetti in tale raccolta. Istanza di SQL Server compatibile con Azure DevOps Server.
Livello client
Il livello client comunica con il livello applicazione tramite il modello a oggetti server e usa gli stessi servizi Web elencati per tale livello. Questo vale se si distribuisce Azure DevOps Server in locale o se si usa Azure DevOps Services. Oltre a questo modello, il livello client è costituito da componenti dei Visual Studio Industry Partners (VSIP), integrazione con Microsoft Office, interfacce a riga di comando e un framework per i criteri di check-in.
Configurazione
Il servizio ospitato dipende dai servizi client, distribuiti in locale e da una connessione Internet ai livelli di dati e dell'applicazione ospitati nel cloud. Una distribuzione locale di Azure DevOps Server dipende da SQL Server, Internet Information Services (IIS) e dal sistema operativo Windows. In base alla topologia scelta, Azure DevOps Server potrebbe dipendere anche da SQL Server Reporting Services o prodotti SharePoint. Di conseguenza, le informazioni di configurazione per Azure DevOps Server possono essere archiviate in una delle posizioni seguenti:
- Archivi dati IIS.
- File di configurazione per Azure DevOps Server.
- Origini dati per Reporting Services(ad esempio, dati TFSREPORTS).
- Database di configurazione per Azure DevOps Server. Il Registro di sistema di Azure DevOps Server fa parte del database di configurazione.
- Registro di sistema di Windows.
Per esempi di topologie di distribuzione locali diverse e in cui sono archiviate queste risorse, vedere Esempi di topologia semplice, esempi di topologia moderata ed esempi di topologia complessa. Quando si gestisce una distribuzione locale di Azure DevOps Server, è necessario tenere conto di queste origini di configurazione. Per modificare la configurazione in qualsiasi modo, potrebbe essere necessario modificare le informazioni archiviate in più posizioni. Potrebbe anche essere necessario modificare le informazioni di configurazione per i livelli dati e client. Azure DevOps Server include una console di amministrazione e diverse utilità della riga di comando che consentono di apportare queste modifiche. Per altre informazioni, vedere Guida di riferimento rapido all'attività amministrativa.
Active Directory e sincronizzazione delle identità del gruppo
Nelle distribuzioni locali in cui Azure DevOps è in esecuzione in un dominio di Active Directory, le informazioni di gruppo e identità vengono sincronizzate quando si verifica uno degli eventi seguenti:
- Viene avviato il server a livello di applicazione.
- Un gruppo di Active Directory viene aggiunto a un gruppo di Azure DevOps.
Il periodo di tempo specificato nel processo pianificato è trascorso. Il valore predefinito è un'ora e tutti i gruppi in Azure DevOps Server vengono aggiornati ogni 24 ore.
Identity Management Services (IMS) si sincronizza con Active Directory e le identità modificate si propagano dal server ai client. Per impostazione predefinita, tutti i gruppi vengono aggiornati entro 24 ore, ma è possibile personalizzarlo in base alle esigenze della distribuzione. Per altre informazioni, vedere Considerazioni su trust e foreste per Azure DevOps Server. Per le distribuzioni locali che non usano Active Directory, vedere Gestione di Azure DevOps Server in un gruppo di lavoro.
Gruppi e autorizzazioni
In una distribuzione locale, Azure DevOps Server ha un proprio set di gruppi e autorizzazioni predefiniti che è possibile impostare a livello di progetto, raccolta o server. È possibile creare gruppi personalizzati e personalizzare le autorizzazioni a livello di gruppo e singoli livelli. Tuttavia, gli utenti o i gruppi aggiunti ad Azure DevOps Server non vengono aggiunti automaticamente a due componenti in cui le distribuzioni locali di Azure DevOps Server possono dipendere: Prodotti SharePoint e Reporting Services. Se la distribuzione usa questi programmi, è necessario aggiungere utenti e gruppi a tali programmi e concedere le autorizzazioni appropriate per avere tali utenti o gruppi funzionare correttamente in tutte le operazioni in Azure DevOps Server. Per altre informazioni, vedere Gestire utenti o gruppi in Azure DevOps Server.
Per le distribuzioni ospitate, l'accesso viene controllato tramite una combinazione di account Microsoft e appartenenza al team. Per altre informazioni, vedere Panoramica di Azure DevOps Services.
Porte e protocolli di rete
Per impostazione predefinita, una distribuzione locale di Azure DevOps Server è configurata per l'uso di porte e protocolli di rete specifici. La figura seguente illustra il traffico di rete per Azure DevOps Server in una distribuzione semplice.
Analogamente, il servizio ospitato per Azure DevOps Server è configurato per l'uso di porte e protocolli di rete specifici. La figura seguente mostra il traffico di rete in una distribuzione ospitata.
La figura seguente illustra il traffico di rete in una distribuzione più complessa che include i componenti per Visual Studio Lab Management. Si noti che Lab Management è stato deprecato per TFS 2017 e versioni successive.
Le macchine virtuali usano la porta 80 per comunicare con qualsiasi controller di test sul download di un agente di gestione del lab. Verificare che questa porta sia abilitata se si verificano problemi di comunicazione.
Impostazioni di rete predefinite
Per impostazione predefinita, la comunicazione tra i computer in una distribuzione di Azure DevOps usa i protocolli e le porte illustrate nella tabella seguente. Se un asterisco (*) segue il numero di porta, è possibile personalizzare tale porta.
Livello e servizio | Protocollo | Porto |
---|---|---|
Livello applicazione - Servizi Web | HTTP/HTTPS | 8080/443* |
Livello applicazione - Amministrazione prodotti SharePoint | HTTP | 17012* se Prodotti SharePoint è stato installato con Azure DevOps Server; in caso contrario, generato in modo casuale |
Livello applicazione - Prodotti SharePoint e Reporting Services | HTTP Servizio Strumentazione gestione Windows (WMI) (necessario durante l'installazione per specificare e verificare gli URL per Reporting Services) |
Porta dinamica 80* |
Livello di dati | MS-SQL TCP | 1433* |
Livello dati (SQL Server Analysis Services) | MS-AS | predefinito (2382 o 2383)* La porta predefinita varia a seconda della versione di SQL Server installata e del tipo di istanza. Usare Gestione configurazione SQL Server per determinare le porte usate dalla distribuzione. |
Server proxy di Azure DevOps - da client a proxy | HTTP | 8081* |
Server proxy di Azure DevOps - Proxy al livello applicativo | HTTP/HTTPS | 8080/443* |
Livello client - Reporting Services | HTTP | 80* |
Livello cliente - Servizi Web | HTTP/HTTPS | 8080/443* |
Creare il controller al livello dell'applicazione HTTP/HTTPS | 8080/443 | |
Creare un agente al livello applicazione | HTTP/HTTPS | 8080/443 |
Server di gestione delle versioni | HTTP o HTTPS | 1000* |
Client di gestione delle versioni | HTTP o HTTPS | 1000* |
Agente di Gestione delle Rilasci | HTTP o HTTPS | 1000* |
Testare il controller al livello applicazione | HTTP/HTTPS | 8080/443* |
Livello applicazione per testare il controller | Comunicazione remota .NET | 6901* |
Livello dell'applicazione al Sistema dei Nomi di Dominio (DNS) | Aggiornamento dinamico DNS | 53 |
Livello applicazione - Virtual Machine Manager | HTTP | 8100 |
Testare il controller per testare l'agente | Comunicazione remota .NET | 6910* |
Testare l'agente per testare il controller | Comunicazione remota .NET | 6901* |
Creare il controller per creare l'agente | SOAP su HTTP | 9191 |
Agente di laboratorio per agente di laboratorio in un ambiente isolato | Socket TCP | 9050 |
Creare un agente per compilare il controller | SOAP su HTTP | 9191 |
Console di amministrazione di Virtual Machine Manager - Virtual Machine Manager | HTTP | 8100 |
Virtual Machine Manager – host di Virtual Machine Manager | Gestione remota Windows (WinRM) per eseguire azioni Servizio trasferimento intelligente in background (BITS) per trasferire i dati |
80 per eseguire azioni 443 per trasferire i dati |
Virtual Machine Manager – server della libreria di Virtual Machine Manager | WinRM per eseguire azioni BITS per trasferire i dati |
80 per eseguire azioni 443 per trasferire i dati |
Livello applicazione: host Virtual Machine Manager | Comunicazione DCOM/WMI (Distributed Component Object Model/Windows Management Interface) per trasferire i dati | 135 Assegnato dinamicamente nell'intervallo da 49152 a 65535 |
Livello client dell'host di Virtual Machine Manager | Connessione basata su host alla macchina virtuale. | 2179 per eseguire connessioni basate su host |
Servizi ospitati | HTTPS | 443 |
Impostazioni di rete personalizzabili
Come illustrato nella tabella precedente, è possibile modificare la comunicazione tra l'applicazione, i dati e i livelli client nelle distribuzioni locali modificando Azure DevOps Server per usare porte personalizzate. Nella tabella seguente vengono descritte le modifiche di esempio nelle porte da HTTP a HTTPS.
Annotazioni
Per configurare Azure DevOps Server per l'uso di HTTPS e Secure Sockets Layer, è necessario non solo abilitare le porte per il traffico di rete HTTPS, ma anche eseguire molte altre attività. Per altre informazioni, vedere Configurare HTTPS con Secure Sockets Layer (SSL) per Azure DevOps Server.
Servizio | Protocollo | Porto |
---|---|---|
Servizi Web con SSL | HTTPS | Configurato dall'amministratore |
Amministrazione centrale di SharePoint HTTPS | Configurato dall'amministratore | |
Prodotti SharePoint | HTTPS | 443 |
Servizi di Reportistica | HTTPS | 443 |
Servizi Web del Cliente | HTTPS | Configurato dall'amministratore |
Gestione delle versioni | HTTPS | Configurato dall'amministratore |