Team Foundation Server 아키텍처

업데이트: 2010년 6월

비즈니스 요구 사항에 맞는 최적의 Visual Studio Team Foundation Server 배포를 분석 및 계획하려면 다음 측면을 고려해야 합니다.

  • Team Foundation의 논리적 응용 프로그램, 데이터 및 클라이언트 계층

  • 이러한 계층을 호스팅하는 실제 서버의 위치

  • 환경에서 실행할 Team Foundation Build 및 빌드 컴퓨터

  • Team Foundation Server Proxy

또한 이러한 엔터티 간의 상호 작용도 고려해야 합니다. 사용되는 웹 서비스, 데이터베이스 및 개체 모델을 알아야 합니다. 또한 기본적으로 사용되는 네트워크 포트 및 프로토콜과 사용자 지정 가능한 네트워크 포트를 알아야 합니다. 마지막으로 Team Foundation Server에서 설정해야 하는 사용 권한과 배포가 종속된 구성 요소 및 프로그램을 이해해야 합니다.

Team Foundation Server가 작동하는 데는 Team Foundation Server 서비스뿐 아니라 다른 서비스도 필요합니다. 자세한 내용은 Team Foundation Server 개념Team Foundation의 데이터 웨어하우스 구성 요소를 참조하십시오. 설치의 요구 사항 및 종속성에 대한 자세한 내용은 Team Foundation 구성 요소 설치를 참조하십시오.

개체 모델

서버 또는 클라이언트 개체 모델을 기반으로 하는 응용 프로그램을 작성하여 Team Foundation의 기능을 확장할 수 있습니다. 서버 기능을 확장하려면 응용 프로그램이 응용 프로그램 계층 서버에서 실행되어야 합니다. 클라이언트 기능을 확장하려면 응용 프로그램이 팀 탐색기와 동일한 컴퓨터에서 실행되어야 합니다.

Team Foundation용 개체 모델

자세한 내용은 Extending Team Foundation을 참조하십시오.

웹 서비스 및 데이터베이스

Team Foundation Server에는 Team Foundation의 논리적 응용 프로그램, 데이터 및 클라이언트 계층을 호스팅하는 하나 이상의 서버에서 별도로 설치 및 구성하는 웹 서비스 및 데이터베이스 집합이 포함되어 있습니다. 다음 그림에서는 웹 서비스, 응용 프로그램 및 데이터베이스를 간략하게 보여 줍니다.

서버 아키텍처 다이어그램TFS에 사용된 추가 서버클라이언트 아키텍처 다이어그램

컬렉션 수준 서비스

컬렉션 수준 서비스는 팀 프로젝트 컬렉션 수준의 작업을 위한 기능을 제공합니다. 이러한 서비스 중 일부를 사용하여 Team Foundation Server를 확장하는 응용 프로그램을 만들 수 있습니다. 자세한 내용은 Extending Team Foundation을 참조하십시오.

  • Team Foundation 프레임워크 서비스

    • 레지스트리 서비스

    • 등록 서비스(이전 버전 Team Foundation Server와의 호환용)

    • 속성 서비스

    • 이벤트 서비스

    • 보안 서비스

    • 위치 서비스

    • ID 관리 서비스

  • 버전 제어 웹 서비스

  • 작업 항목 추적 웹 서비스

  • Team Foundation Build 웹 서비스

  • Lab Management 웹 서비스

  • VMM 관리 웹 서비스

  • 테스트 에이전트 컨트롤러 웹 서비스

서버 수준 서비스

응용 프로그램 수준 서비스라고도 하는 서버 수준 서비스는 Team Foundation Server를 소프트웨어 응용 프로그램으로 사용하는 작업을 위한 기능을 제공합니다. 이러한 서비스 중 일부를 사용하여 Team Foundation Server를 확장하는 응용 프로그램을 만들 수 있습니다. 자세한 내용은 Extending Team Foundation을 참조하십시오.

  • Team Foundation 프레임워크 서비스

    • 레지스트리 서비스

    • 이벤트 서비스

    • 팀 프로젝트 컬렉션 서비스

    • 속성 서비스

    • 보안 서비스

    • 위치 서비스

    • ID 관리 서비스

    • 관리 서비스

    • 컬렉션 관리 서비스

    • 카탈로그 서비스

데이터 계층

Team Foundation의 논리적 데이터 계층은 SQL Server 2008에 있는 다음 작업 저장소로 구성되어 있습니다. 이 계층에는 데이터, 저장 프로시저 및 기타 관련 논리가 포함되어 있습니다. 이러한 작업 저장소는 모두 한 대의 물리적 서버에 저장될 수도 있고 여러 서버에 분산 저장될 수도 있습니다. 이러한 작업 저장소 중 일부를 사용하여 Team Foundation Server를 확장하는 응용 프로그램을 만들 수 있습니다. 자세한 내용은 Extending Team Foundation을 참조하십시오.

  • 구성 데이터베이스(TFS_Configuration)

  • 응용 프로그램 웨어하우스(TFS_Warehouse)

  • Analysis Services 데이터베이스(TFS_Analysis)

  • 팀 프로젝트 컬렉션(TFS_CollectionName)용 데이터베이스

다음 표에서는 Team Foundation Server에서 사용하는 데이터베이스의 목록과 해당 데이터베이스가 저장되는 위치를 제공합니다. 별도로 언급하지 않는 한 이 목록의 모든 데이터베이스를 해당 데이터베이스가 설치되고 구성된 원래 서버에서 다른 서버로 이동할 수 있습니다.

데이터베이스 이름 및 설명

서버

TFS_Configuration: 이 데이터베이스에는 Team Foundation Server의 구성 정보 및 리소스 카탈로그가 저장됩니다. 이 데이터베이스는 Team Foundation Server의 작업 저장소를 포함합니다.

Team Foundation Server를 처음 설치 및 구성할 때 사용하는 SQL Server의 인스턴스

TFS_Warehouse: 이 데이터베이스에는 보고서의 데이터가 저장됩니다.

Team Foundation Server를 처음 설치 및 구성할 때 사용하는 SQL Server의 인스턴스

TFS_Analysis 이 다차원 데이터베이스에는 팀 프로젝트 컬렉션에서 집계한 데이터가 저장됩니다.

Team Foundation Server를 처음 설치 및 구성할 때 사용하는 SQL Server의 인스턴스

팀 프로젝트 컬렉션용 데이터베이스: 각 팀 프로젝트 컬렉션에는 컬렉션의 모든 팀 프로젝트에 대한 데이터가 저장되는 자체 데이터베이스가 있습니다.

Team Foundation Server와 호환되는 SQL Server의 인스턴스

클라이언트 계층

클라이언트 계층은 응용 프로그램 계층에 나열되어 있는 것과 같은 웹 서비스를 사용하여 해당 계층과 통신합니다. 이때 통신은 Team Foundation Server 개체 모델을 통해 이루어집니다. 클라이언트 계층에는 이 모델 외에 VSIP(Visual Studio Industry Partners) 구성 요소, Microsoft Office 통합, 명령줄 인터페이스 및 체크 인 정책 프레임워크도 포함되어 있습니다.

구성 정보

Team Foundation Server는 SQL Server, IIS(인터넷 정보 서비스) 및 Windows 운영 체제에 종속됩니다. 또한 배포에 따라서는 Team Foundation Server가 SQL Server Reporting Services 또는 SharePoint 제품에도 종속될 수 있습니다. 따라서 Team Foundation Server의 구성 정보를 다음 위치에 저장할 수 있습니다.

  • IIS 데이터 저장소

  • Team Foundation Server 구성 파일

  • Reporting Services 데이터 소스(예: TFSREPORTS 데이터)

  • Team Foundation Server의 구성 데이터베이스

  • Windows 레지스트리

Team Foundation Server 배포를 유지 관리하는 경우 이러한 구성 소스를 고려해야 합니다. 구성을 변경하려면 여러 위치에 저장된 정보를 수정해야 할 수 있습니다. 또한 데이터 계층과 클라이언트 계층의 구성 정보도 변경해야 할 수 있습니다. Team Foundation Server에는 이러한 변경 작업에 도움이 되는 관리 콘솔과 다양한 명령줄 유틸리티가 포함되어 있습니다. 그러나 일부 구성의 경우에는 변경하려면 수동으로 조정해야 합니다.

Active Directory와 Team Foundation Server 간의 그룹 ID 동기화

Team Foundation Server가 Active Directory 도메인에서 실행되는 배포의 경우 다음 이벤트가 발생하면 그룹 및 ID 정보가 동기화됩니다.

  • Team Foundation의 응용 프로그램 계층 서버가 시작됩니다.

  • Active Directory 그룹이 Team Foundation Server의 그룹에 추가됩니다.

  • 예약된 작업에 지정된 시간이 경과합니다. 기본값은 1시간이며 Team Foundation Server의 모든 그룹은 24시간마다 업데이트됩니다.

IMS(ID 관리 서비스)가 Active Directory와 동기화되며 변경된 ID가 서버에서 클라이언트로 전파됩니다. 작업 서비스의 동기화 일정에 따라 변경 내용이 Team Foundation Server 전체에 즉시 반영되지 않을 수 있습니다. 기본적으로 모든 그룹은 24시간 내에 업데이트되지만 배포의 요구에 가장 적합하도록 이 기본 설정을 사용자 지정할 수 있습니다.

그룹 및 권한

Team Foundation Server에는 프로젝트, 컬렉션 또는 서버 수준에서 설정할 수 있는 자체 기본 그룹 및 사용 권한 집합이 있습니다. 사용자 지정 그룹을 만들고 그룹 및 개인 수준에서 권한을 사용자 지정할 수 있습니다. 그러나 Team Foundation Server에 추가하는 사용자 또는 그룹은 Team Foundation Server가 종속될 수 있는 두 구성 요소인 SharePoint 제품 및 Reporting Services에 자동으로 추가되지 않습니다. 배포에서 이러한 프로그램을 사용하는 경우에는 사용자 및 그룹을 이러한 프로그램에 추가하고 적절한 권한을 부여해야 해당 사용자나 그룹이 Team Foundation Server의 모든 작업을 올바르게 수행할 수 있습니다. 자세한 내용은 팀 프로젝트에 사용자 추가, 사용자, 그룹 및 권한 구성, 권한 관리, SharePoint 제품의 역할SQL Server Reporting Services 역할을 참조하십시오.

네트워크 포트 및 프로토콜

기본적으로 Team Foundation Server는 특정 네트워크 포트와 프로토콜을 사용하도록 구성되어 있습니다. 다음 그림에서는 간단한 배포의 Team Foundation Server 네트워크 트래픽을 보여 줍니다.

간단한 포트 및 통신 다이어그램

다음 그림에서는 Visual Studio Lab Management의 구성 요소가 포함된 보다 복잡한 배포의 네트워크 트래픽을 보여 줍니다.

복잡한 포트 및 통신 다이어그램 - 1복잡한 포트 및 통신 다이어그램 - 3복잡한 포트 및 통신 다이어그램 - 2

기본 네트워크 설정

기본적으로 Team Foundation 배포의 컴퓨터 간 통신에서는 다음 표에 나와 있는 프로토콜 및 포트가 사용됩니다. 포트 번호 뒤에 별표(*)가 붙은 경우에는 해당 포트를 사용자 지정할 수 있습니다.

계층 및 서비스

프로토콜

포트

응용 프로그램 계층 – 웹 서비스

HTTP/HTTPS

8080/443*

응용 프로그램 계층 – Windows SharePoint Services 관리

HTTP

17012*(Team Foundation Server에 설치된 경우)이거나 임의로 생성됨

응용 프로그램 계층 – Windows SharePoint Services 및 Reporting Services

HTTP

WMI(Windows Management Instrumentation) 서비스(설치 중에 Reporting Services의 URL을 지정하고 확인하는 데 필요함)

80*

동적 포트

빌드 컴퓨터 – 응용 프로그램 계층 서버로부터의 원격 액세스

HTTP를 통한 SOAP

9191*

데이터 계층

MS-SQL TCP

1433*

Team Foundation Server Proxy - 클라이언트-프록시

HTTP

8081*

Team Foundation Server Proxy - 프록시-응용 프로그램 계층

HTTP/HTTPS

8080/443*

클라이언트 계층 - Reporting Services

HTTP

80*

클라이언트 계층 - 웹 서비스

HTTP/HTTPS

8080/443*

응용 프로그램 계층-빌드 컨트롤러

HTTP를 통한 SOAP

9191*

응용 프로그램 계층-빌드 에이전트

HTTP를 통한 SOAP

9191*

빌드 컨트롤러-응용 프로그램 계층

HTTP/HTTPS

8080/443

빌드 에이전트-응용 프로그램 계층

HTTP/HTTPS

8080/443

테스트 컨트롤러-응용 프로그램 계층

HTTP/HTTPS

8080/443*

응용 프로그램 계층-테스트 컨트롤러

.NET Remoting

6901*

응용 프로그램 계층-DNS(Domain Name System)

DNS 동적 업데이트

응용 프로그램 계층-Virtual Machine Manager

HTTP

8100

테스트 컨트롤러-테스트 에이전트

.NET Remoting

6910*

테스트 에이전트-테스트 컨트롤러

.NET Remoting

6901*

빌드 컨트롤러-빌드 에이전트

HTTP를 통한 SOAP

9191

격리된 환경의 랩 에이전트-랩 에이전트

TCP 소켓

9050

빌드 에이전트-빌드 컨트롤러

HTTP를 통한 SOAP

9191

Virtual Machine Manager 관리자 콘솔–Virtual Machine Manager

HTTP

8100

Virtual Machine Manager-Virtual Machine Manager 호스트

작업 수행의 경우 WinRM(Windows 원격 관리)

데이터 전송의 경우 BITS(Background Intelligent Transfer Service)

작업 수행의 경우 80

데이터 전송의 경우 443

Virtual Machine Manager–Virtual Machine Manager 라이브러리 서버

작업 수행의 경우 WinRM

데이터 전송의 경우 BITS

작업 수행의 경우 80

데이터 전송의 경우 443

응용 프로그램 계층-Virtual Machine Manager 호스트

데이터 전송의 경우 DCOM/WMI(Distributed Component Object Model/Windows Management Interface) 통신

135

49152에서 65535 사이의 동적 포트.

클라이언트 계층-Virtual Machine Manager 호스트

가상 컴퓨터에 대한 호스트 기반 연결. 호스트 기반 연결에 대한 자세한 내용은 방법: 가상 환경에 연결을 참조하십시오.

호스트 기반 연결의 경우 2179

사용자 지정할 수 있는 네트워크 설정

위의 표에 나와 있는 것처럼 Team Foundation Server에서 사용자 지정 포트를 사용하도록 수정하여 응용 프로그램, 데이터 및 클라이언트 계층 간의 통신을 변경할 수 있습니다. 다음 표에서는 HTTP에서 HTTPS로의 포트 변경 예제에 대해 설명합니다.

참고

Team Foundation Server에서 HTTPS 및 SSL(Secure Sockets Layer)을 사용하도록 구성하려면 HTTPS 네트워크 트래픽에 대해 포트를 활성화해야 할 뿐만 아니라 다른 여러 작업도 수행해야 합니다.

서비스

프로토콜

포트

SSL을 사용하는 웹 서비스

HTTPS

관리자가 구성함

SharePoint 중앙 관리

HTTPS

관리자가 구성함

SharePoint 제품

HTTPS

443

Reporting Services

HTTPS

443

클라이언트 웹 서비스

HTTPS

관리자가 구성함

참고 항목

개념

Team Foundation Server 개념

Team Foundation Server 권한

기타 리소스

Team Foundation의 데이터 웨어하우스 구성 요소

변경 기록

날짜

변경 내용

이유

2010년 6월

Lab Management의 기본 네트워크 포트에 대한 정보가 추가되었습니다.

고객 의견