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 구성 요소가 있습니다. 지리적으로 먼 물리적 위치에 있는 여러 도메인의 클라이언트에서 액세스합니다. Azure DevOps 프록시 서버는 SharePoint 제품 및 SQL Server Reporting Services 같은 선택적 구성 요소 외에도 설치됩니다. 여러 코드 베이스가 있으며, 이러한 코드 베이스에는 각각 이를 사용하는 프로젝트에 대한 자체 프로젝트 컬렉션이 있습니다. 팀 프로젝트 컬렉션에 대한 데이터베이스는 SQL Server 실행 중인 여러 서버에 저장됩니다.
복잡한 단일 도메인 토폴로지
복잡한 서버 토폴로지에서는 클러스터 또는 기타 장애 조치 구성의 여러 서버를 사용하여 논리적 Azure DevOps 데이터 및 애플리케이션 계층 구성 요소를 호스트합니다. 다음 다이어그램에서는 복잡한 단일 도메인 토폴로지를 보여 줍니다.
이 예제 토폴로지는 보통 토폴로지와 비슷합니다. Azure DevOps Server 서비스는 한 서버에 배포되고 Azure DevOps Server 데이터베이스는 Team Foundation Build와 팀의 테스트 에이전트 및 테스트 에이전트 컨트롤러가 추가 서버에 배포되어 별도의 서버에 설치됩니다. 또한 장애 조치(failover) 구성 요소가 추가되었습니다. Azure DevOps 데이터베이스가 SQL Server 클러스터에 설치되었습니다.
예제 다이어그램은 시애틀과 클리블랜드의 자식 도메인을 보여 줍니다. 각각 부모 도메인에 대한 양방향 전이적 트러스트가 있습니다. Azure DevOps Server 대한 서비스 계정은 두 도메인에서 모두 신뢰할 수 있습니다. 지리적으로 먼 각 자식 도메인은 제한된 대역폭 연결을 사용합니다. Azure DevOps Server 버전 코드 제어 구성 요소에서 인리스트먼트를 가져오는 데는 이러한 제한된 대역폭 조건에서 매우 오랜 시간이 걸릴 수 있으므로 Azure DevOps 프록시 서버는 버전 제어 파일 프록시 캐시 역할을 하기 위해 각 자식 도메인에 설치됩니다. 버전 제어 코드 가져오기 요청을 제외하고 모든 클라이언트 요청은 애플리케이션 계층으로 직접 이동합니다. 이러한 요청은 Azure DevOps 프록시 서버를 통해 전달된 다음 프록시 서버에서 다운로드하는 모든 원본 파일을 캐시합니다.
이 예제의 토폴로지는 내결함성 및 고성능과도 관련이 있습니다. 데이터 계층 내결함성은 SQL Server 클러스터링 기술을 활용하여 제공됩니다. 여러 SharePoint 웹 애플리케이션은 SharePoint 웹 팜의 컬렉션 내 프로젝트에서 사용하도록 구성됩니다. 프로젝트 컬렉션 데이터베이스는 향상된 성능과 개별 관리 용이성을 위해 SQL Server 인스턴스에 분산됩니다. SQL Server Reporting Services 및 SQL Server 분석 서버는 성능 향상을 위해 별도의 서버에서 실행됩니다.
이 예제는 최대 2,000명의 사용자가 있는 대규모 제품 개발 팀을 위해 설계되었습니다.
복잡한 다중 도메인 토폴로지
복잡한 다중 도메인 서버 토폴로지에서는 둘 이상의 도메인에서 여러 서버를 사용합니다. 복잡한 단일 도메인 토폴로지와 마찬가지로 배포는 클러스터 또는 기타 장애 조치(failover) 구성을 사용하여 Azure DevOps에 대한 데이터 계층의 구성 요소를 호스트합니다. 이 배포의 관리자는 네트워크 부하 분산을 구성하고 운영 부하를 분산하기 위해 여러 애플리케이션 계층 서버를 추가했습니다. 다음 그림에서는 복잡한 다중 도메인 토폴로지를 보여 줍니다.
위의 예제와 같이 이 토폴로지는 내결함성 및 고성능에 대해 구성됩니다. 또한 이 토폴로지는 여러 도메인에 분산되며, 그 중 일부는 부모 도메인의 완전히 신뢰할 수 있는 자식 도메인이지만 그 중 하나(IsolatedLab.com)는 완전히 별도의 도메인입니다. Azure DevOps Server 사용하는 서비스 계정은 모든 도메인의 완전히 신뢰할 수 있는 멤버이며 사용자 계정은 두 도메인에서 모두 작업해야 하는 사용자에 대해 필요에 따라 부모 도메인과 별도의 도메인 모두에서 구성되었습니다. 방화벽은 Azure DevOps Server 필요한 포트 간 트래픽을 허용하도록 구성되었습니다.