Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of de directory te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen de mappen te wijzigen.
Azure DevOps Server |Azure DevOps Server |Azure DevOps Server 2022 | Azure DevOps Server 2020
Als u uw implementatie het beste wilt plannen en beheren, moet u eerst de onderliggende architectuur van Azure DevOps Server begrijpen. Als u de architectuur begrijpt, kunt u de algehele status van de implementatie behouden en zorgen voor de algehele beschikbaarheid van de servers en services die uw ontwikkelteams nodig hebben.
U kunt Azure DevOps Server op verschillende manieren implementeren: op één server; op veel servers; of in één domein of werkgroep of in meerdere domeinen. U kunt er ook voor kiezen om Azure DevOps Services te gebruiken, waarbij alle serverelementen van uw implementatie voor u worden gehost door Microsoft. Als u de architectuur begrijpt, kunt u bepalen welke topologie waarschijnlijk voldoet aan de behoeften van uw bedrijf. Ongeacht uw keuze voor topologie, als u de architectuur begrijpt die onderliggende Azure DevOps Server is, kunt u de fysieke en logische vereisten beter beheren. Dit artikel bevat een eenvoudig overzicht van de verschillende architecturen, met koppelingen naar meer informatie over voorbeeldimplementaties. Het biedt ook technische informatie over de services, databases, configuratie-informatie en netwerkpoorten en protocollen van lokale implementaties.
Als u inzicht wilt in de architectuur van Azure DevOps Server en hoe dit van invloed is op uw implementatie, moet u rekening houden met het volgende:
- De logische toepassing, gegevens en clientlagen van Azure DevOps en of u een of meer servers wilt gebruiken voor de toepassings- en gegevenslagen, of dat u de toepassings- en gegevenslagen wilt hosten in de cloud met behulp van Azure DevOps Services
- De locatie van de fysieke of virtuele servers waarop deze lagen worden gehost
- Team Foundation Build en het aantal en de locatie van buildcomputers die in uw omgeving worden uitgevoerd, inclusief het aantal dat u mogelijk nodig hebt om uw ontwikkelprocedures te ondersteunen of om Azure Pipelines-cloudservices te gebruiken om uw softwaretoepassingen te bouwen en te implementeren
- De mogelijke behoefte aan Azure DevOps-proxyserver
Daarnaast moet u rekening houden met de interacties tussen deze entiteiten. Als u bijvoorbeeld de gehoste Azure DevOps Server-service wilt gebruiken, moet u ervoor zorgen dat uw clients toegang hebben tot de service op poort 443. Als u ervoor kiest om Azure DevOps Server lokaal te implementeren, moet u weten welke webservices, databases en objectmodellen azure DevOps Server gebruikt. U moet ook weten welke netwerkpoorten en -protocollen Azure DevOps Server standaard gebruikt en welke netwerkpoorten u kunt aanpassen. Ten slotte moet u begrijpen welke machtigingen u moet instellen in Azure DevOps Server en welke onderdelen en programma's van uw implementatie afhankelijk zijn.
Naast zijn eigen services is Azure DevOps Server afhankelijk van andere services om te kunnen functioneren. Zie azure DevOps Server-concepten en -onderdelen van het Azure DevOps Server-datawarehouse voor meer informatie over deze services. Zie de installatiehandleiding voor Azure DevOps Server voor meer informatie over de vereisten en afhankelijkheden voor installatie.
Belangrijk
U moet geen van de Azure DevOps Server-databases handmatig wijzigen, tenzij u wordt gevraagd dit te doen door Microsoft Ondersteuning of u volgt de procedures die worden beschreven voor het handmatig maken van back-ups van de databases. Andere wijzigingen kunnen uw serviceovereenkomst ongeldig maken.
Azure DevOps Services
Microsoft biedt de mogelijkheid om Azure DevOps Services te gebruiken, die alle aspecten aan de serverzijde van Azure DevOps Server voor u kan hosten. Uw broncode, werkitems, buildconfiguraties en teamfuncties worden allemaal gehost in de cloud. Vanuit een architectonisch oogpunt vereenvoudigt dit het gebruik van Azure DevOps Server aanzienlijk, omdat de enige aspecten van de architectuur die u moet overwegen de clientonderdelen en hun internettoegang zijn.
Wanneer u Azure DevOps Services gebruikt, gebruikt u een webbrowser om verbinding te maken met de service met behulp van uw Microsoft-account. U kunt projecten maken, leden toevoegen aan uw team en werken zoals u dat zou doen met een lokaal geïnstalleerde Azure DevOps-server, zonder de overhead van het beheren van de servers. Azure DevOps Services host uw toepassingslaag, gegevenslaag en buildservers in de cloud.
Raadpleeg Azure DevOps Services versus Azure DevOps Server voor meer informatie over de cloudservices versus on-premises implementaties.
Het objectmodel
Met de gehoste of lokaal geïmplementeerde architectuur kunt u de functies en functionaliteit van Azure DevOps uitbreiden door een toepassing te schrijven die is gebaseerd op het server- of clientobjectmodel. In alle implementatietypen kunt u toepassingen schrijven die de clientmogelijkheden uitbreiden. Als u echter servermogelijkheden wilt uitbreiden, moet uw toepassing worden uitgevoerd op de server in de toepassingslaag. Als u de clientmogelijkheden wilt uitbreiden, moet u de toepassing uitvoeren op dezelfde computer als Team Explorer.
Webservices en databases voor lokale implementaties
Azure DevOps Server bevat een set webservices en databases die u afzonderlijk installeert en configureert op de server of servers waarop de logische toepassing, gegevens en clientlagen voor Azure DevOps worden gehost. Sommige functies, zoals het takenbord en functies op basis van backlogteam, zijn volledig webgebaseerd en alleen toegankelijk via een webportal, een webservice aan de clientzijde. Andere functies, zoals de functies voor versiebeheer, kunnen worden geopend via een webportal of via een clienttoepassing. De volgende illustraties bieden een algemeen overzicht van webservices, toepassingen en databases voor lokale implementaties van Azure DevOps Server.
Services op verzamelingsniveau
Services op verzamelingsniveau bieden de functionaliteit voor bewerkingen op het niveau van de projectverzameling. U kunt toepassingen maken die Azure DevOps Server uitbreiden met behulp van een aantal van deze services. Zie Extensies ontwikkelen voor meer informatie over het maken van toepassingen voor Azure DevOps Server.
Opmerking
Sommige services worden in meer dan één niveau weergegeven. De registerservice werkt bijvoorbeeld op verzamelingsniveau en serverniveau en wordt weergegeven in beide lijsten.
Framework-services:
- Registratieservice
- Registratieservice (voor compatibiliteit met eerdere versies van Azure DevOps Server)
- Vastgoedservice
- Evenementendienst
- Beveiligingsservice
- Locatieservice
- Identiteitsbeheer-service
- Versiebeheer-webservice
- Webservice voor het bijhouden van werkitems
- Team Foundation Build-webservice
- Lab Management-webservice
- VMM-beheerwebservice
- Webservice agentcontroller testen
Services op serverniveau
Services op serverniveau (ook wel bekend als services op toepassingsniveau) bieden de functionaliteit voor bewerkingen voor Azure DevOps Server als softwaretoepassing. U kunt toepassingen maken die Azure DevOps Server uitbreiden met behulp van een aantal van deze services.
Framework-services:
- Registratieservice
- Gebeurtenisservice
- Projectcollectieservice
- Eigenschapsservice
- Beveiligingsservice
- Locatieservice
- Identiteitsbeheer-service
- Beheerservice
- Verzamelingsbeheerservice
- Catalogusservice
Gegevenslaag
De gegevenslaag bevat gegevens, opgeslagen procedures en andere bijbehorende logica. Wanneer u Azure DevOps Services gebruikt, wordt de gegevenslaag voor u gehost met behulp van SQL Server Azure. In een lokale implementatie van Azure DevOps Server bestaat de logische gegevenslaag uit de volgende operationele archieven in SQL Server. Deze winkels bevinden zich mogelijk op één fysieke server of verspreid over veel servers. U kunt toepassingen maken die Azure DevOps Server uitbreiden met behulp van een aantal van deze operationele archieven.
- Configuratiedatabase (TFS_Configuration)
- Toepassingswarehouse (TFS_Warehouse)
- Analysis Services-database (TFS_Analysis)
- Databases voor projectverzamelingen (TFS_CollectionName)
De volgende tabel bevat een lijst met de databases die azure DevOps Server gebruikt in lokale implementaties. Tenzij anders vermeld, kunt u alle databases in deze lijst verplaatsen van de oorspronkelijke server en het exemplaar waarop ze zijn geïnstalleerd en terugzetten naar een andere server of instantie.
Databasenaam Beschrijving Serverapparaat TFS_Configuration Deze database slaat de catalogus met resources en de configuratiegegevens voor Azure DevOps Server op. Deze database bevat de operationele archieven voor Azure DevOps Server. Exemplaar van SQL Server dat wordt gebruikt wanneer Azure DevOps Server is geïnstalleerd en geconfigureerd. TFS_Warehouse In deze database worden de gegevens voor rapporten opgeslagen. Exemplaar van SQL Server dat wordt gebruikt wanneer Azure DevOps Server is geïnstalleerd en geconfigureerd. TFS_Analysis In deze multidimensionale database worden de geaggregeerde gegevens uit projectverzamelingen opgeslagen. Exemplaar van SQL Server dat wordt gebruikt wanneer SQL Server Analysis Services is geïnstalleerd en geconfigureerd. Databases voor projectverzamelingen Eén database voor elke projectverzameling, die gegevens uit alle projecten in die verzameling bevat. Exemplaar van SQL Server dat compatibel is met Azure DevOps Server.
Clientlaag
De clientlaag communiceert met de toepassingslaag via het serverobjectmodel en gebruikt dezelfde webservices die voor die laag worden vermeld. Dit geldt ongeacht of u Azure DevOps Server lokaal implementeert of als u Azure DevOps Services gebruikt. Naast dat model bestaat de clientlaag uit VSIP-onderdelen (Visual Studio Industry Partners), Microsoft Office-integratie, opdrachtregelinterfaces en een framework voor check-in-beleid.
Configuratie
De gehoste service is afhankelijk van de clientservices, lokaal geïmplementeerd en een internetverbinding met de toepassing en gegevenslagen die worden gehost in de cloud. Een lokale implementatie van Azure DevOps Server is afhankelijk van SQL Server, Internet Information Services (IIS) en het Windows-besturingssysteem. Afhankelijk van de gekozen topologie kan Azure DevOps Server ook afhankelijk zijn van SQL Server Reporting Services of SharePoint-producten. Daarom kunnen configuratiegegevens voor Azure DevOps Server worden opgeslagen op een van de volgende locaties:
- IIS-gegevensarchieven.
- Configuratiebestanden voor Azure DevOps Server.
- Gegevensbronnen voor Reporting Services (bijvoorbeeld TFSREPORTS-gegevens).
- Configuratiedatabase voor Azure DevOps Server. Het Azure DevOps Server-register maakt deel uit van de configuratiedatabase.
- Windows-register.
Zie Voorbeelden van eenvoudige topologieën, voorbeelden van gemiddelde topologieën en voorbeelden van complexe topologieën voor voorbeelden van lokale implementatietopologieën en waar deze resources worden opgeslagen. Wanneer u een lokale implementatie van Azure DevOps Server onderhoudt, moet u rekening houden met deze configuratiebronnen. Als u de configuratie op welke manier dan ook wilt wijzigen, moet u mogelijk informatie wijzigen die op meerdere locaties is opgeslagen. Mogelijk moet u ook configuratiegegevens voor de gegevens- en clientlagen wijzigen. Azure DevOps Server bevat een beheerconsole en verschillende opdrachtregelprogramma's om u te helpen deze wijzigingen aan te brengen. Zie Snelzoekgids voor beheertaken voor meer informatie.
Active Directory en synchronisatie van groepsidentiteiten
In lokale implementaties waarop Azure DevOps wordt uitgevoerd in een Active Directory-domein, worden groeps- en identiteitsgegevens gesynchroniseerd wanneer een van de volgende gebeurtenissen plaatsvindt:
- De toepassingslaagserver wordt gestart.
- Er wordt een Active Directory-groep toegevoegd aan een Azure DevOps-groep.
De periode die is opgegeven in de geplande taak, is verstreken. De standaardwaarde is één uur en alle groepen in Azure DevOps Server worden elke 24 uur bijgewerkt.
Identity Management Services (IMS) synchroniseert met Active Directory en gewijzigde identiteiten worden doorgegeven van de server aan de clients. Standaard worden alle groepen binnen 24 uur bijgewerkt, maar u kunt dit aanpassen aan de behoeften van uw implementatie. Voor meer informatie, zie Overwegingen voor trusts en forests voor Azure DevOps Server. Zie Azure DevOps Server beheren in een werkgroep voor lokale implementaties die geen gebruikmaken van Active Directory.
Groepen en machtigingen
In een lokale implementatie heeft Azure DevOps Server een eigen set standaardgroepen en machtigingen die u kunt instellen op project-, verzameling- of serverniveau. U kunt aangepaste groepen maken en machtigingen aanpassen op groepsniveau en afzonderlijke niveaus. Gebruikers of groepen die u toevoegt aan Azure DevOps Server, worden echter niet automatisch toegevoegd aan twee onderdelen waarop lokale implementaties van Azure DevOps Server afhankelijk kunnen zijn: SharePoint-producten en Reporting Services. Als uw implementatie gebruikmaakt van deze programma's, moet u gebruikers en groepen aan hen toevoegen en de juiste machtigingen verlenen om deze gebruikers of groepen correct te laten functioneren voor alle bewerkingen in Azure DevOps Server. Zie Gebruikers of groepen beheren in Azure DevOps Server voor meer informatie.
Voor gehoste implementaties wordt de toegang beheerd via een combinatie van Microsoft-accounts en teamlidmaatschap. Zie het overzicht van Azure DevOps Services voor meer informatie.
Netwerkpoorten en -protocollen
Standaard is een lokale implementatie van Azure DevOps Server geconfigureerd voor het gebruik van specifieke netwerkpoorten en -protocollen. In de volgende afbeelding ziet u netwerkverkeer voor Azure DevOps Server in een eenvoudige implementatie.
Op dezelfde manier is de gehoste service voor Azure DevOps Server geconfigureerd voor het gebruik van specifieke netwerkpoorten en -protocollen. In de volgende afbeelding ziet u netwerkverkeer in een gehoste implementatie.
In de volgende afbeelding ziet u netwerkverkeer in een complexere implementatie die de onderdelen voor Visual Studio Lab Management bevat. (Lab management is afgeschaft voor TFS 2017 en nieuwere versies.)
Virtuele machines gebruiken poort 80 om te communiceren met een testcontroller over het downloaden van een labbeheeragent. Controleer of deze poort is ingeschakeld als u communicatieproblemen ondervindt.
Standaardnetwerkinstellingen
De communicatie tussen de computers in een implementatie van Azure DevOps maakt standaard gebruik van de protocollen en poorten die worden weergegeven in de volgende tabel. Als een sterretje (*) het poortnummer volgt, kunt u die poort aanpassen.
| Niveau en service | protocol | Porto |
|---|---|---|
| Toepassingslaag – Webservices | HTTP/HTTPS | 8080/443* |
| Toepassingslaag - Beheer van SharePoint-producten | HTTP | 17012* als SharePoint-producten zijn geïnstalleerd met Azure DevOps Server; anders, willekeurig gegenereerd |
| Toepassingslaag - SharePoint-producten en Reporting Services | HTTP WMI-service (Windows Management Instrumentation) (vereist tijdens de installatie om de URL's voor Reporting Services op te geven en te verifiëren) |
80* Dynamische poort |
| Gegevenslaag | MS-SQL TCP | 1433* |
| Gegevenslaag (SQL Server Analysis Services) | MS-AS | standaard (2382 of 2383)* De standaardpoort is afhankelijk van de versie van SQL Server die u hebt geïnstalleerd en het type exemplaar. Gebruik SQL Server Configuration Manager om de poorten te bepalen die door uw implementatie worden gebruikt. |
| Azure DevOps-proxyserver - client naar proxy | HTTP | 8081* |
| Azure DevOps-proxyserver - proxy naar toepassingslaag | HTTP/HTTPS | 8080/443* |
| Clientlaag - Reporting Services | HTTP | 80* |
| Clientlaag - Webservices | HTTP/HTTPS | 8080/443* |
| Controller bouwen voor HTTP/HTTPS in de toepassingslaag | 8080/443 | |
| Agent opbouwen voor integratie met de toepassingslaag | HTTP/HTTPS | 8080/443 |
| Releasebeheerserver | HTTP of HTTPS | 1000* |
| Releasebeheer-client | HTTP of HTTPS | 1000* |
| Agent voor releasebeheer | HTTP of HTTPS | 1000* |
| Testcontroller naar de applicatielaag | HTTP/HTTPS | 8080/443* |
| Toepassingslaag om controller te testen | Externe communicatie van .NET | 6901* |
| Toepassingslaag naar Domain Name System (DNS) | Dynamische DNS-update | 53 |
| Toepassingslaag – Virtual Machine Manager | HTTP | 8100 |
| Testcontroller om agent te testen | Externe communicatie van .NET | 6910* |
| Agent testen om controller te testen | Externe communicatie van .NET | 6901* |
| Bouwcontroller om agent te bouwen | SOAP via HTTP | 9191 |
| Labagent naar labagent in een geïsoleerde omgeving | TCP-sockets | 9050 |
| Agent bouwen om controller te bouwen | SOAP via HTTP | 9191 |
| Virtual Machine Manager Beheerconsole – Virtual Machine Manager | HTTP | 8100 |
| Virtual Machine Manager: Virtual Machine Manager-hosts | Windows Remote Management (WinRM) voor het uitvoeren van acties Background Intelligent Transfer Service (BITS) voor het overdragen van gegevens |
80 voor het uitvoeren van acties 443 om gegevens over te dragen |
| Virtual Machine Manager: Virtual Machine Manager-bibliotheekserver | WinRM voor het uitvoeren van acties BITS om gegevens over te dragen |
80 voor het uitvoeren van acties 443 om gegevens over te dragen |
| Toepassingslaag : Virtual Machine Manager-hosts | DCOM/WMI-communicatie (Distributed Component Object Model/Windows Management Interface) om gegevens over te dragen | 135 Dynamisch toegewezen in het bereik 49152 tot 65535 |
| Clientlaag – hosts voor Virtual Machine Manager | Op host gebaseerde verbinding met de virtuele machine. | 2179 voor het uitvoeren van hostverbindingen |
| Gehoste services | HTTPS | 443 |
Aanpasbare netwerkinstellingen
Zoals in de vorige tabel wordt weergegeven, kunt u de communicatie tussen de toepassings-, gegevens- en clientlagen in lokale implementaties wijzigen door Azure DevOps Server te wijzigen om aangepaste poorten te gebruiken. In de volgende tabel worden voorbeeldwijzigingen in poorten van HTTP naar HTTPS beschreven.
Opmerking
Als u Azure DevOps Server wilt configureren voor het gebruik van HTTPS en Secure Sockets Layer, moet u niet alleen poorten inschakelen voor HTTPS-netwerkverkeer, maar ook veel andere taken uitvoeren. Zie HTTPS instellen met SSL (Secure Sockets Layer) voor Azure DevOps Server voor meer informatie.
| Dienst | protocol | Porto |
|---|---|---|
| Webservices met SSL | HTTPS | Geconfigureerd door de beheerder |
| Centraal beheer van SharePoint HTTPS | Geconfigureerd door de beheerder | |
| SharePoint-producten | HTTPS | 443 |
| Rapportagediensten | HTTPS | 443 |
| Clientwebservices | HTTPS | Geconfigureerd door de beheerder |
| Releasebeheer | HTTPS | Geconfigureerd door de beheerder |