Přehled architektury pro Azure DevOps Server

Azure DevOps Server 2022 | Azure DevOps Server 2020 | Azure DevOps Server 2019

Abyste mohli nasazení co nejlépe naplánovat a spravovat, měli byste nejprve porozumět základní architektuře Azure DevOps Server. Pochopení architektury vám může pomoct udržet celkový stav nasazení a zajistit celkovou dostupnost serverů a služeb, které vaše vývojové týmy vyžadují.

Azure DevOps Server můžete nasadit několika způsoby: na jednom serveru, na mnoha serverech nebo v jedné doméně nebo pracovní skupině nebo napříč doménami. Případně se můžete rozhodnout použít Azure DevOps Services, kde pro vás microsoft hostuje všechny serverové prvky vašeho nasazení. Pochopení architektury vám může pomoct při rozhodování, jaká topologie bude s největší pravděpodobností vyhovovat vašim obchodním potřebám. Bez ohledu na vaši volbu topologie, pokud rozumíte architektuře, která je základem Azure DevOps Server, můžete lépe spravovat fyzické a logické požadavky. Tento článek poskytuje jednoduchý přehled různých architektur s odkazy na další informace o ukázkových nasazeních. Poskytuje také technické informace o službách, databázích, konfiguračních informacích a síťových portech a protokolech místních nasazení.

Pokud chcete porozumět architektuře Azure DevOps Server a tomu, jak ovlivňuje vaše nasazení, měli byste zvážit následující:

  • Logickou aplikační, datovou a klientskou vrstvu Azure DevOps a to, jestli chcete pro aplikaci a datové vrstvy použít jeden nebo více serverů, nebo jestli chcete, aby aplikace a datové vrstvy hostované v cloudu byly za vás pomocí Azure DevOps Services
  • Umístění fyzických nebo virtuálních serverů, které hostují tyto úrovně
  • Team Foundation Build a počet a umístění počítačů sestavení, které běží ve vašem prostředí, včetně toho, kolik možná budete potřebovat k podpoře vašich postupů vývoje, nebo jestli budete k sestavování a nasazování softwarových aplikací používat cloudové služby Azure Pipelines.
  • Potenciální potřeba proxy serveru Azure DevOps

Kromě toho musíte vzít v úvahu interakce mezi těmito entitami. Pokud se například rozhodnete použít službu hostovaného Azure DevOps Server, musíte zajistit, aby vaši klienti měli přístup ke službě na portu 443. Pokud se rozhodnete nasadit Azure DevOps Server místně, musíte vědět, jaké webové služby, databáze a objektové modely Azure DevOps Server používají. Musíte také vědět, které síťové porty a protokoly Azure DevOps Server ve výchozím nastavení používají a které síťové porty můžete přizpůsobit. Nakonec musíte vědět, jaká oprávnění musíte v Azure DevOps Server nastavit, a součásti a programy, na kterých závisí vaše nasazení.

Kromě vlastních služeb Azure DevOps Server závisí na dalších službách, aby fungovaly. Další informace o těchto službách najdete v tématech Azure DevOps Server konceptů a komponent Azure DevOps Server datového skladu. Další informace o požadavcích a závislostech pro instalaci najdete v průvodci instalací Azure DevOps Server.

Důležité

Žádnou z Azure DevOps Server databází byste neměli upravovat ručně, pokud k tomu nemáte pokyn podpora Microsoftu nebo pokud nebudete postupovat podle postupů popsaných pro ruční zálohování databází. Jakékoli další úpravy můžou zneplatnit vaši smlouvu o poskytování služeb.

Azure DevOps Services

Azure DevOps Services

Microsoft nabízí možnost používat Azure DevOps Services, která může hostovat všechny aspekty Azure DevOps Server na straně serveru. Váš zdrojový kód, pracovní položky, konfigurace sestavení a týmové funkce jsou hostované v cloudu. Z hlediska architektury to výrazně zjednodušuje používání Azure DevOps Server, protože jedinými aspekty architektury, které je potřeba vzít v úvahu, jsou klientské komponenty a jejich přístup k internetu.

Při používání Azure DevOps Services se ke službě připojíte pomocí svého účtu Microsoft pomocí webového prohlížeče. Můžete vytvářet projekty, přidávat členy do týmu a pracovat stejně jako s místně nainstalovaným Azure DevOps Server bez režijních nákladů na správu serverů. Azure DevOps Services hostuje vaši aplikační vrstvu, datovou vrstvu a servery sestavení v cloudu.

Další informace o cloudových službách a místních nasazeních najdete v tématu Azure DevOps Services a Azure DevOps Server.

Objektový model

Pomocí hostované nebo místně nasazené architektury můžete rozšířit funkce a funkce Azure DevOps napsáním aplikace založené na objektovém modelu serveru nebo klienta. Ve všech typech nasazení můžete psát aplikace, které rozšiřují možnosti klienta. Pokud ale chcete rozšířit možnosti serveru, musí vaše aplikace běžet na serveru aplikační vrstvy. Pokud chcete rozšířit možnosti klienta, musíte aplikaci spustit na stejném počítači jako Team Explorer.

Objektový model Azure DevOps Server

Webové služby a databáze pro místní nasazení

Azure DevOps Server zahrnuje sadu webových služeb a databází, které instalujete a nakonfigurujete samostatně na serveru nebo serverech, které hostují logickou aplikaci, data a klientské vrstvy pro Azure DevOps. Některé funkce, jako je panel úkolů a týmové funkce backlogu, jsou zcela založené na webu a jsou přístupné výhradně prostřednictvím webového portálu, webové služby na straně klienta. Jiné, například funkce správy verzí, jsou přístupné prostřednictvím webového portálu nebo klientské aplikace. Následující ilustrace poskytují přehled webových služeb, aplikací a databází pro místní nasazení Azure DevOps Server.

Azure DevOps Server hlavních úrovní služby

Volitelné Azure DevOps Server služby

Azure DevOps Server klientů

Služby na úrovni kolekce

Služby na úrovni kolekce poskytují funkce pro operace na úrovni kolekce projektů. Pomocí některých z těchto služeb můžete vytvářet aplikace, které rozšiřují Azure DevOps Server. Další informace o vytváření aplikací pro Azure DevOps Server najdete v tématu Vývoj rozšíření.

Poznámka

Některé služby se zobrazují na více než jedné úrovni. Například služba Registru funguje na úrovni kolekce a na úrovni serveru a zobrazuje se v obou seznamech.

Služby architektury:

  • Služba registru
  • Registrační služba (kvůli kompatibilitě se staršími verzemi Azure DevOps Server)
  • Služba vlastností
  • Služba událostí
  • Služba zabezpečení
  • Zjišťování polohy
  • Služba Správa identit
  • Webová služba Správy verzí
  • Webová služba sledování pracovních položek
  • Webová služba Team Foundation Build
  • Webová služba Správa testovacího prostředí
  • Webová služba pro správu nástroje VMM
  • Webová služba Test Agent Controller

Služby na úrovni serveru

Služby na úrovni serveru (označované také jako služby na úrovni aplikací) poskytují funkce pro operace pro Azure DevOps Server jako softwarovou aplikaci. Pomocí některých z těchto služeb můžete vytvářet aplikace, které rozšiřují Azure DevOps Server.

Služby architektury:

  • Služba registru
  • Služba událostí
  • Služba Shromažďování projektů
  • Služba vlastností
  • Služba zabezpečení
  • Zjišťování polohy
  • Služba Správa identit
  • Služba správy
  • Služba správy kolekcí
  • Katalogová služba

Datová vrstva

Datová vrstva zahrnuje data, uložené procedury a další přidruženou logiku. Při použití Azure DevOps Services se datová vrstva hostuje pomocí SQL Server Azure. V místním nasazení Azure DevOps Server se logická datová vrstva skládá z následujících provozních úložišť v rámci SQL Server. Tato úložiště můžou být umístěná na jednom fyzickém serveru nebo distribuovaná na mnoha serverech. Pomocí některých z těchto provozních úložišť můžete vytvářet aplikace, které rozšiřují Azure DevOps Server.

  • Konfigurační databáze (TFS_Configuration)
  • Application Warehouse (TFS_Warehouse)
  • Databáze služby Analysis Services (TFS_Analysis)
  • Databáze pro kolekce projektů (TFS_CollectionName)

Následující tabulka obsahuje seznam databází, které Azure DevOps Server používá v místních nasazeních. Pokud není uvedeno jinak, můžete přesunout všechny databáze v tomto seznamu z původního serveru a instance, kde jsou nainstalované, a obnovit je na jiný server nebo instanci.

Název databáze Description Server
TFS_Configuration Tato databáze ukládá katalog prostředků a informace o konfiguraci pro Azure DevOps Server. Tato databáze obsahuje provozní úložiště pro Azure DevOps Server. Instance SQL Server, která se používá při instalaci a konfiguraci Azure DevOps Server.
Tfs_warehouse Tato databáze ukládá data pro sestavy. Instance SQL Server, která se používá při instalaci a konfiguraci Azure DevOps Server.
TFS_Analysis Tato multidimenzionální databáze ukládá agregovaná data z kolekcí projektů. Instance SQL Server, která se používá při instalaci a konfiguraci Služba Analysis Services serveru SQL.
Databáze pro kolekce projektů Jedna databáze pro každou kolekci projektů, která obsahuje data ze všech projektů v dané kolekci. Instance SQL Server, která je kompatibilní s Azure DevOps Server.

Klientská úroveň

Klientská vrstva komunikuje s aplikační vrstvou prostřednictvím objektového modelu serveru a používá stejné webové služby, které jsou uvedené pro danou vrstvu. To platí bez ohledu na to, jestli nasazujete Azure DevOps Server místně, nebo pokud používáte Azure DevOps Services. Kromě tohoto modelu se klientská vrstva skládá z komponent Visual Studio Industry Partners (VSIP), integrace Microsoft Office, rozhraní příkazového řádku a rozhraní pro zásady vracení se změnami.

Konfigurace

Hostovaná služba závisí na klientských službách nasazených místně a internetovém připojení k aplikacím a datovým vrstvám hostovaným v cloudu. Místní nasazení Azure DevOps Server závisí na SQL Server, Internetové informační službě (IIS) a operačním systému Windows. Závislosti na zvolené topologii, Azure DevOps Server mohou také záviset na SQL Server Reporting Services nebo SharePoint Products. Informace o konfiguraci pro Azure DevOps Server proto mohou být uloženy v některém z následujících umístění:

  • Úložiště dat služby IIS.
  • Konfigurační soubory pro Azure DevOps Server.
  • Zdroje dat pro službu Reporting Services (například data TFSREPORTS).
  • Konfigurační databáze pro Azure DevOps Server. Registr Azure DevOps Server je součástí konfigurační databáze.
  • Registr systému Windows.

Příklady různých topologií místního nasazení a umístění, kde jsou tyto prostředky uložené, najdete v tématech Příklady jednoduché topologie, Příklady střední topologie a Příklady komplexní topologie. Při udržování místního nasazení Azure DevOps Server musíte vzít v úvahu tyto zdroje konfigurace. Pokud chcete konfiguraci jakýmkoli způsobem změnit, možná budete muset upravit informace, které jsou uložené na více místech. Může být také potřeba změnit informace o konfiguraci datových a klientských vrstev. Azure DevOps Server obsahuje konzolu pro správu a několik nástrojů příkazového řádku, které vám s prováděním těchto změn pomůžou. Další informace najdete v tématu Stručná referenční příručka úlohy správy.

Active Directory a synchronizace identit skupin

V místních nasazeních, kde je Azure DevOps spuštěný v doméně Služby Active Directory, se informace o skupině a identitě synchronizují, když dojde k některé z následujících událostí:

  • Spustí se server aplikační vrstvy.
  • Skupina Active Directory se přidá do skupiny Azure DevOps.

Časové období zadané v naplánované úloze uplynulo. Výchozí hodnota je jedna hodina a všechny skupiny v Azure DevOps Server se aktualizují každých 24 hodin.

Služba Správa identit (IMS) se synchronizuje se službou Active Directory a změněné identity se šíří ze serveru do klientů. Ve výchozím nastavení se všechny skupiny aktualizují během 24 hodin, ale můžete to přizpůsobit tak, aby lépe vyhovovalo potřebám vašeho nasazení. Další informace najdete v tématu Důležité informace o důvěryhodnosti a doménových strukturách pro Azure DevOps Server. Informace o místních nasazeních, která nepoužívají službu Active Directory, najdete v tématu Správa Azure DevOps Server v pracovní skupině.

Skupiny a oprávnění

V místním nasazení má Azure DevOps Server vlastní sadu výchozích skupin a oprávnění, které můžete nastavit na úrovni projektu, kolekce nebo serveru. Můžete vytvářet vlastní skupiny a přizpůsobovat oprávnění na úrovni skupin a jednotlivých úrovních. Uživatelé nebo skupiny, které přidáte do Azure DevOps Server, se ale automaticky nepřidají do dvou komponent, na kterých mohou záviset místní nasazení Azure DevOps Server: SharePoint Products a Reporting Services. Pokud vaše nasazení používá tyto programy, musíte k nim přidat uživatele a skupiny a udělit jim příslušná oprávnění, aby tito uživatelé nebo skupiny fungovali správně ve všech operacích v Azure DevOps Server. Další informace najdete v tématu Správa uživatelů nebo skupin v Azure DevOps Server.

U hostovaných nasazení se přístup řídí kombinací účtů Microsoft a členství v týmu. Další informace najdete v přehledu Azure DevOps Services.

Síťové porty a protokoly

Ve výchozím nastavení je místní nasazení Azure DevOps Server nakonfigurované tak, aby používalo konkrétní síťové porty a protokoly. Následující obrázek znázorňuje síťový provoz pro Azure DevOps Server v jednoduchém nasazení.

Jednoduchá místní instalace

Podobně je hostovaná služba pro Azure DevOps Server nakonfigurovaná tak, aby používala konkrétní síťové porty a protokoly. Následující obrázek znázorňuje síťový provoz v hostovaném nasazení.

Hostované Azure DevOps Server

 

Následující obrázek znázorňuje síťový provoz ve složitějším nasazení, které zahrnuje komponenty pro Visual Studio Lab Management. (Všimněte si, že správa testovacího prostředí je pro TFS 2017 a novější verze zastaralá.)

Aplikační úroveň

Virtuální prostředí

virtuální počítače

Virtuální počítače používají port 80 ke komunikaci s libovolným testovacím kontrolerem o stažení agenta pro správu testovacího prostředí. Pokud máte problémy s komunikací, zkontrolujte, že je tento port povolený.

Výchozí nastavení sítě

Ve výchozím nastavení se při komunikaci mezi počítači v nasazení Azure DevOps používají protokoly a porty uvedené v následující tabulce. Pokud za číslem portu následuje hvězdička (*), můžete tento port přizpůsobit.

Úroveň a služba Protokol Port
Aplikační vrstva – webové služby HTTP/HTTPS 8080/443*
Aplikační vrstva – správa sady SharePoint Products HTTP 17012*, pokud byla sada SharePoint Products nainstalována s Azure DevOps Server; jinak se náhodně generuje
Aplikační vrstva – SharePoint Products a Reporting Services HTTP
Služba WMI (Windows Management Instrumentation) (vyžadovaná během instalace k určení a ověření adres URL služby Reporting Services)
80* Dynamický port
Datová vrstva MS-SQL TCP 1433*
Datová vrstva (Služba Analysis Services serveru SQL) MS-AS výchozí (2382 nebo 2383)*
Výchozí port se liší v závislosti na verzi SQL Server, kterou jste nainstalovali, a typu instance. Pomocí SQL Server Configuration Manager určete porty používané vaším nasazením.
Proxy server Azure DevOps – klient-proxy HTTP 8081*
Proxy server Azure DevOps – z proxy do aplikační vrstvy HTTP/HTTPS 8080/443*
Klientská úroveň – Reporting Services HTTP 80*
Klientská vrstva – webové služby HTTP/HTTPS 8080/443*
Sestavení kontroleru aplikační vrstvy HTTP/HTTPS 8080/443
Sestavení agenta do aplikační vrstvy HTTP/HTTPS 8080/443
Release Management Server HTTP nebo HTTPS 1000*
Release Management Client HTTP nebo HTTPS 1000*
Agent Release Management HTTP nebo HTTPS 1000*
Testovací kontroler do aplikační vrstvy HTTP/HTTPS 8080/443*
Aplikační vrstva pro testovací kontroler Vzdálené komunikace .NET 6901*
Aplikační vrstva do DNS (Domain Name System) Dynamická aktualizace DNS 53
Aplikační vrstva – Virtual Machine Manager HTTP 8100
Testovací kontroler pro testovacího agenta Vzdálené komunikace .NET 6910*
Testovací agent pro testovací kontroler Vzdálené komunikace .NET 6901*
Kontroler sestavení pro agenta sestavení SOAP přes HTTP 9191
Agent testovacího prostředí do agenta testovacího prostředí v izolovaném prostředí Sokety TCP 9050
Agent sestavení do kontroleru sestavení SOAP přes HTTP 9191
Konzola správce nástroje Virtual Machine Manager – Virtual Machine Manager HTTP 8100
Virtual Machine Manager – hostitelé nástroje Virtual Machine Manager Vzdálená správa systému Windows (WinRM) k provádění akcí
Služba inteligentního přenosu na pozadí (BITS) pro přenos dat
80 k provedení akcí
443 pro přenos dat
Virtual Machine Manager – server knihovny nástroje Virtual Machine Manager WinRM k provádění akcí
Bits pro přenos dat
80 k provedení akcí
443 pro přenos dat
Aplikační vrstva – hostitelé nástroje Virtual Machine Manager Komunikace modelu objektů distribuovaných komponent / rozhraní Windows Management Interface (DCOM/WMI) pro přenos dat 135
Dynamicky přiřazené v rozsahu 49152 až 65535
Klientská úroveň – hostitelé nástroje Virtual Machine Manager Připojení k virtuálnímu počítači na základě hostitele. 2179 k provádění připojení na základě hostitele
Hostované služby HTTPS 443

Přizpůsobitelná nastavení sítě

Jak ukazuje předchozí tabulka, můžete změnit komunikaci mezi aplikační, datovou a klientskou vrstvou v místních nasazeních úpravou Azure DevOps Server tak, aby používala vlastní porty. Následující tabulka popisuje příklad změn portů z HTTP na HTTPS.

Poznámka

Pokud chcete nakonfigurovat Azure DevOps Server tak, aby používaly protokoly HTTPS a Secure Sockets Layer, musíte nejen povolit porty pro síťový provoz HTTPS, ale také provádět řadu dalších úloh. Další informace najdete v tématu Nastavení PROTOKOLU HTTPS s protokolem SSL (Secure Sockets Layer) pro Azure DevOps Server.

Služba Protokol Port
Webové služby s protokolem SSL HTTPS Nakonfigurováno správcem
HTTPS centrální správy SharePointu Nakonfigurováno správcem
SharePoint Products HTTPS 443
Reporting Services HTTPS 443
Klientské webové služby HTTPS Nakonfigurováno správcem
Release Management HTTPS Nakonfigurováno správcem