Azure DevOps Server的複雜拓撲範例

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

您可以在數個拓撲組態的其中一個中設定 Azure DevOps Server。 一般而言,拓撲越簡單,您可以更輕鬆地維護 Azure DevOps Server 部署。 您應該部署最符合業務需求的最簡單拓撲。

本文說明兩個複雜的 Azure DevOps Server 拓撲。 複雜的拓撲 Azure DevOps Server 分散到多部伺服器的元件。 用戶端會存取位於地理位置遠方實體位置之多個網域中的用戶端。 除了 SharePoint 產品及 SQL Server Reporting Services 等選用元件之外,還會安裝 Azure DevOps Proxy Server。 有數個不同的程式代碼基底,這些程式代碼基底各自有自己的專案集合,用於使用這些基底的專案。 小組專案集合的資料庫會儲存在數部執行 SQL Server 的不同伺服器上。

複雜的單一網域拓撲

複雜的伺服器拓撲會使用叢集中的多部伺服器或其他故障轉移組態來裝載邏輯 Azure DevOps 數據和應用層元件。 下圖示範複雜的單一網域拓撲:

複雜的單一網域拓撲範例

此範例拓撲類似於 中等拓撲。 Azure DevOps Server 服務部署在一部伺服器上,而 Azure DevOps Server 資料庫會安裝在不同的伺服器上,而 Team Foundation Build 和小組的測試代理程式和測試代理程式控制器則部署於其他伺服器上。 此外,也已新增故障轉移元件。 Azure DevOps 資料庫已安裝在 SQL Server 叢集上。

此範例圖表顯示西雅圖和 Cleveland 中的子域,每個網域都有雙向可轉移信任至父域。 這兩個網域都信任 Azure DevOps Server的服務帳戶。 每個地理位置遠的子域都會使用有限的頻寬連線。 由於從 Azure DevOps Server 的版本代碼控制元件取得登記可能需要很長的時間,因此在這類有限的頻寬情況下,Azure DevOps Proxy 伺服器會安裝在每個子網域中,以作為版本控制檔案 Proxy 快取。 所有用戶端要求都會直接移至應用層,但版本控制程式代碼除外 取得 要求。 這些要求會透過 Azure DevOps Proxy 伺服器導向,然後快取它在 Proxy 伺服器上下載的所有來源檔案。

此範例中的拓撲也與容錯和高效能有關。 數據層容錯是利用 SQL Server 叢集技術來提供。 已設定多個 SharePoint Web 應用程式,以供 SharePoint Web 伺服器陣列中的集合內的專案使用。 專案集合資料庫會分散到 SQL Server 實例,以改善個別管理的效能和輕鬆。 SQL Server Reporting Services 和 SQL Server Analysis Servers 正在不同的伺服器上執行,以改善效能。

此範例專為最多 2,000 位使用者的大型軟體開發小組所設計。

複雜的多重網域拓撲

複雜的多網域伺服器拓撲會在兩個或多個網域中使用多部伺服器。 如同複雜的單一網域拓撲,部署會使用叢集或其他故障轉移設定來裝載 Azure DevOps 數據層的元件。 此部署的系統管理員已設定網路負載平衡,並新增多個應用層伺服器來分散作業負載。 下圖示範複雜的多網域拓撲:

複雜的多重網域拓撲

複雜的多重網域拓撲接續

如上述範例所示,此拓撲已針對容錯和高效能進行設定。 此外,此拓撲會分散到多個網域,其中有些是父域完全信任的子域,但其中一個 (IsolatedLab.com) 是完全不同的網域。 Azure DevOps Server 所使用的服務帳戶是所有網域的完整信任成員,而且使用者帳戶已同時設定在父網域和個別網域中,這兩個網域必須同時在兩個網域中工作的使用者。 防火牆已設定為允許 Azure DevOps Server 所需的埠流量。