Архитектура Team Foundation Server

Для оптимального планирования развертывания и управления им прежде всего необходимо понимать основную архитектуру Team Foundation Server (TFS).Понимание архитектуры может помочь поддерживать общую исправность развертывания и обеспечить общую готовность серверов и служб, необходимую командам разработчиков.

Можно выполнить развертывание сервера Team Foundation Server несколькими способами: на одном сервере; на нескольких серверах; в одном домене, рабочей группе или в нескольких доменах.Можно также использовать сервер Team Foundation Service Preview, где все элементы сервера вашего развертывания размещаются в Microsoft.Понимание архитектуры может помочь решить, какая топология с наибольшей вероятностью будет соответствовать потребностям компании.Независимо от выбранной топологии, если вы понимаете основы архитектуры Team Foundation Server, вы можете лучше управлять как физическими, так и логическими требованиями.В этом разделе приведены простые общие сведения о разных архитектур, со ссылками на дополнительные сведения о примерах развертывания.Она также предоставляет технические сведения о службах, базах данных, информации о конфигурации и сетевых портах и протоколах локальных развертываний.

Чтобы понять архитектуру Team Foundation Server и ее влияние на развертывание, необходимо учитывать следующее:

  • Логические уровни приложений, данных и клиентов Team Foundation, нужно ли использовать один или несколько серверов для уровней приложений и данных или требуется, чтобы уровни приложений и данных были размещены в облаке с помощью предварительной версии Team Foundation Service Preview

  • Расположение физических или виртуальных серверов, на которых размещены эти уровни.

  • Team Foundation Build и количество и расположение компьютеров построения, которые будут работать в вашей среде, в том числе, сколько может потребоваться для поддержки работ по разработке

  • Потенциальная необходимость в прокси-сервере Team Foundation Server

Кроме того, нужно учесть взаимодействие этих сущностей.Например, если выбрать для использования службу размещенного сервера TFS, необходимо убедиться, что клиенты могут получить доступ к службе с использованием порта 443.При выборе локального развертывания Team Foundation Server необходимо знать, какие веб-службы, базы данных и объектные модели используются сервером Team Foundation Server.Кроме того, нужно знать, какие сетевые порты и протоколы используются TFS по умолчанию, и какие сетевые порты вы можете изменить.И наконец, необходимо определить разрешения, которые следует установить в Team Foundation Server, а также в программах и компонентах, от которых зависит развертывание.

Кроме собственных служб, функционирование Team Foundation Server зависит и от других служб.Дополнительные сведения об этих службах см. в разделах Общие сведения о Team Foundation Server и Компоненты хранилища данных для Team Foundation.Дополнительные сведения о требованиях установки и ее зависимостях см. в разделе Установка Team Foundation Server и Visual Studio ALM.

Содержание раздела

  • Предварительная версия Team Foundation Service

  • Объектная модель

  • Веб-службы и базы данных для локальных развертываний

    • Службы уровня коллекции

    • Службы уровня сервера

    • Уровень данных

    • Клиентский уровень

  • Информация о конфигурации

  • Группы и разрешения

  • Сетевые порты и протоколы

    • Сетевые параметры по умолчанию

    • Изменяемые сетевые параметры

Предварительная версия Team Foundation Service

Простая схема размещенной службы TFS

Корпорация Microsoft предлагает возможность использования предварительной версии службы Team Foundation, для которой обеспечивается размещение для всех аспектов развертывания на стороне сервера.Ваш исходный код, рабочие элементы, конфигурации построения и командные функции — все это размещается в облаке.Из архитектурной точки зрения это значительно упрощает развертывание, так как единственные аспекты архитектуры, которые необходимо учитывать, — это клиентские компоненты и их доступ в Интернет.

При использовании службы используйте веб-браузер для подключения к службе с использованием своей учетной записи Microsoft.Можно создавать командные проекты, добавлять элементы в команды и работать так же, как и с локально установленным развертыванием без затрат на управление серверами.Уровень приложений, уровень данных и серверы построения размещаются в облаке с помощью платформы Microsoft Cloud и SQL Server Azure.

Для получения дополнительной информации см. Примеры размещенной топологии.

Объектная модель

При использовании размещенной или локально развернутой архитектуры можно расширить функций и возможности Team Foundation, написав приложение, основанное на серверной или клиентской объектной модели этой системы.Во всех типах развертывания можно написать приложения, которые расширяют возможности клиента.Однако если необходимо расширить возможности серверов, приложение должно выполняться на сервере уровня приложений.Для расширения возможностей клиентов приложение должно выполняться на одном компьютере с Team Explorer.

Объектные модели для Team Foundation

Дополнительные сведения см. в разделе Расширение Team Foundation.

Веб-службы и базы данных для локальных развертываний

Team Foundation Server включает набор веб-служб и баз данных, устанавливаемых и настраиваемых отдельно на сервере или серверах, на которых размещены логические уровни приложений, данных и пользовательский уровень Team Foundation.Некоторые функции, такие как доска задач и функции невыполненной работы на основе групп, полностью размещены в Интернете и доступ к ним возможен только через Team Web Access — интернет-службы на стороне клиента.Доступ к другим функциям (например функции системы управления версиями) можно получить через Team Web Access или через клиентское приложение.На следующих рисунках показано высокоуровневое представление веб-служб, приложений и баз данных для локальных развертываний TFS.

Схема серверной архитектурыДополнительные серверы, используемые в Team Foundation ServerСхема клиентской архитектуры

ms252473.collapse_all(ru-ru,VS.110).gifСлужбы уровня коллекции

Службы уровня коллекции предоставляют функциональность для операций на уровне коллекций командных проектов.С помощью некоторых из этих служб можно создавать приложения, которые расширяют возможности Team Foundation Server.Дополнительные сведения о создании приложений для TFS см. в разделе Расширение Team Foundation.

СоветСовет

Некоторые службы отображаются более чем на одном уровне.Например, функции службы реестра на уровне коллекции и уровне сервера и появляются в обоих списках.

  • Службы Team Foundation Framework

    • Служба реестра

    • Служба регистрации (для обеспечения совместимости с предыдущими версиями Team Foundation Server)

    • Служба свойств

    • Служба событий

    • Служба безопасности

    • Служба расположения

    • Служба управления идентификациями

  • Веб-служба управления версиями

  • Веб-служба отслеживания рабочих элементов

  • Веб служба Team Foundation Build

  • Веб-служба Lab Management

  • Веб-служба администрирования VMM

  • Веб-служба контроллера агентов тестирования

ms252473.collapse_all(ru-ru,VS.110).gifСлужбы уровня сервера

Службы уровня сервера (которые также называются службами уровня приложений) обеспечивают функции для работы Team Foundation Server как программного приложения.С помощью некоторых из этих служб можно создавать приложения, которые расширяют возможности Team Foundation Server.Дополнительные сведения см. в разделе Расширение Team Foundation.

  • Службы Team Foundation Framework

    • Служба реестра

    • Служба событий

    • Служба коллекции командных проектов

    • Служба свойств

    • Служба безопасности

    • Служба расположения

    • Служба управления идентификациями

    • Служба администрирования

    • Служба управления коллекцией

    • Служба каталога

ms252473.collapse_all(ru-ru,VS.110).gifУровень данных

Уровень данных содержит данные, хранимые процедуры и другую связанную логику.При использовании предварительной версии службы Team Foundation Service уровень данных размещается с помощью SQL Server Azure.В локальном развертывании TFS логический уровень данных состоит из операционных хранилищ в SQL Server, перечисленных ниже. Эти хранилища могут быть расположены на одном физическом сервере или распределены по многим серверам.С помощью некоторых из этих операционных хранилищ можно создавать приложения, которые расширяют возможности Team Foundation Server.Дополнительные сведения см. в разделе Расширение Team Foundation.

  • База данных конфигурации (TFS_Configuration)

  • Хранилище приложений (TFS_Warehouse)

  • База данных служб аналитики (TFS_Analysis)

  • Базы данных коллекций командных проектов (TFS_имя_коллекции)

В следующей таблице приводится список баз данных, используемых Team Foundation Server в локальных развертываниях. Если не указано иное, все базы данных можно переместить с первоначального сервера и экземпляра, на котором они были установлены, и восстановить их на другом сервере или экземпляре.

Имя и описание базы данных

Server

TFS_Configuration — эта база данных хранит каталог ресурсов и сведения о конфигурации для Team Foundation Server.В ней находятся оперативные хранилища Team Foundation Server.

Экземпляр SQL Server, который используется при первоначальной установке и конфигурации Team Foundation Server.

TFS_Warehouse — эта база данных хранит данные для отчетов..

Экземпляр SQL Server, который используется при первоначальной установке и конфигурации Team Foundation Server.

TFS_Analysis — эта многомерная база данных хранит объединенные данные из коллекций командных проектов.

Экземпляр SQL Server, который используется при первоначальной установке и конфигурации Team Foundation Server.

Базы данных коллекций командных проектов По одной базе данных для каждой коллекции командных проектов, в которой хранятся данные из всех командных проектов этой коллекции.

Экземпляр SQL Server, совместимый с Team Foundation Server.

ms252473.collapse_all(ru-ru,VS.110).gifКлиентский уровень

Клиентский уровень взаимодействует с уровнем приложений через серверную объектную модель и использует те же веб-службы, которые перечислены для этого уровня.Это справедливо как для локального развертывания Team Foundation Server, так и при использовании предварительной версии службы Team Foundation Service.Кроме объектной модели, клиентский уровень включает компоненты отраслевых партнеров Visual Studio (VSIP), интеграцию с Microsoft Office, интерфейсы командной строки, а также инфраструктуру политик возврата.

Информация о конфигурации

Размещенная служба зависит от клиентских служб, развернутых локально, и от интернет-соединения с уровнями приложений и данных в облаке.Локальное развертывание Team Foundation Server зависит от SQL Server, Internet Information Services (IIS) и операционной системы Windows.В зависимости от выбранной топологии, Team Foundation Server может также зависеть от служб отчетов SQL Server или от Продукты SharePoint.Следовательно, информация о конфигурации Team Foundation Server может находиться в любом из следующих хранилищ:

  • Хранилища данных IIS.

  • Файлы конфигурации Team Foundation Server.

  • Источники данных для служб отчетов (например, данные TFSREPORTS).

  • Базы данных конфигурации Team Foundation Server.Реестр Team Foundation Server является частью базы данных конфигурации.

  • Реестр Windows.

Примеры различных топологий локальных развертываний и местоположения, в которых хранятся эти ресурсы, см. в разделах Примеры простой топологии, Примеры топологии средней сложности и Примеры сложной топологии.При локальном развертывании Team Foundation Server вы должны учитывать эти источники конфигурационных данных.При каком-либо изменении конфигурации может потребоваться внести изменения в данные, хранящиеся в нескольких местах на уровне приложений.Также может быть необходимо внести изменения в конфигурационную информацию для уровня данных и клиентского уровня. Team Foundation Server включает консоль администратора и несколько служебных программ командной строки, которые помогут осуществить эти изменения.Дополнительные сведения см. в разделах Консоль администрирования Team Foundation и Техническая справка Team Foundation.

ms252473.collapse_all(ru-ru,VS.110).gifСинхронизация удостоверений групп между Active Directory и Team Foundation Server

В локальных развертываниях, когда Team Foundation Server запущен в домене Active Directory, информация о группах и учетных записях синхронизируется при возникновении следующих событий:

  • Запускается сервер уровня приложений для Team Foundation.

  • Группа Active Directory добавляется в группу в Team Foundation Server.

  • Истекает промежуток времени, который указан для запланированного задания.По умолчанию это один час. Кроме того, все группы Team Foundation Server обновляются каждые 24 часа.

Службы управления идентификациями (IMS) синхронизируются с Active Directory; изменившиеся идентификации передаются с сервера клиентам. По умолчанию все группы обновляются в течение 24 часов, но можно настроить этот параметр в соответствии с потребностями вашего развертывания.Дополнительные сведения см. в разделе Рассмотрение доверий и лесов для Team Foundation Server.Для локальных развертываний, в которых не используется Active Directory, см. раздел Управление Team Foundation Server в рабочей группе.

Группы и разрешения

При локальном развертывании в Team Foundation Server есть собственный набор групп по умолчанию и прав, которые можно задать на уровне проекта, коллекции или сервера.Вы можете создавать собственные группы и настраивать разрешения на уровне групп и индивидуальных пользователей.Однако пользователи или группы, которые вы добавляете в Team Foundation Server, не добавляются автоматически в те два компонента, от которых могут зависеть локальные развертывания Team Foundation Server: в Продукты SharePoint и службы отчетов.Если при развертывании используются эти программы, в них необходимо добавить пользователей и группы и предоставить им соответствующие разрешения, чтобы разрешения для данных пользователей и групп правильно работали во всех операциях Team Foundation Server.Дополнительные сведения см. в разделах Добавление пользователей в командные проекты, Начало работы в команде, Настройка пользователей, групп и разрешений, Управление разрешениями и Управление профилем и просмотр разрешений.

Для размещенных развертываний доступ управляется через сочетание учетных записей Майкрософт и членства в группах.Для получения дополнительных сведений войдите в службу с помощью своей учетной записи Майкрософт и выберите "Learn".

Сетевые порты и протоколы

По умолчанию локальное развертывание сервера TFS настроено на использование определенных сетевых портов и протоколов.На следующей иллюстрации показан сетевой трафик Team Foundation Server в простой конфигурации.

Простая схема портов и коммуникаций

Аналогично, размещенная служба для TFS настроена на использование определенных сетевых портов и протоколов.На следующей иллюстрации показан сетевой трафик в размещенном развертывании.

Простая схема размещенной службы TFS

На следующей иллюстрации показан сетевой трафик в более сложной конфигурации, которая включает компоненты Visual Studio Lab Management.

Сложная схема портов и коммуникаций, часть 1Сложная схема портов и коммуникаций, часть 3Сложная схема портов и коммуникаций, часть 2

ms252473.collapse_all(ru-ru,VS.110).gifСетевые параметры по умолчанию

По умолчанию при взаимодействии компьютеров, включенных в развертывание системы Team Foundation, используются протоколы и порты, показанные в следующей таблице. Если звездочка (*) следует за номером порта, этот порт можно настроить.

Уровень и служба

Протокол

Port

Уровень приложений — Веб-службы

HTTP/HTTPS

8080/443*

Уровень приложений — администрирование Продукты SharePoint

HTTP

17012* если служба Продукты SharePoint была установлена с Team Foundation Server; в противном случае генерируется случайно

Уровень приложений — Продукты SharePoint и службы отчетов

HTTP

Служба инструментария управления Windows (WMI) (требуется во время установки для указания и проверки URL-адресов для служб отчетов)

80*

Динамический порт

Уровень данных

MS-SQL TCP

1433*

Уровень данных (аналитические службы SQL Server)

MS-AS

по умолчанию (2382 или 2383)*

Порт по умолчанию зависит от установленной версии SQL Server и типа экземпляра.Используйте диспетчер конфигурации SQL Server для определения портов, используемых развертыванием.

Прокси Team Foundation Server — соединение клиента с прокси

HTTP

8081*

Прокси Team Foundation Server — соединение прокси с уровнем приложений

HTTP/HTTPS

8080/443*

Клиентский уровень — службы отчетов

HTTP

80*

Клиентский уровень — веб-службы

HTTP/HTTPS

8080/443*

Контроллер построений — уровень приложений

HTTP/HTTPS

8080/443

Агент построения — уровень приложений

HTTP/HTTPS

8080/443

Контроллер тестирования — уровень приложений

HTTP/HTTPS

8080/443*

Уровень приложений — контроллер тестирования

Удаленное взаимодействие .NET

6901*

Уровень приложений — служба доменных имен (DNS)

Динамическое обновление DNS

53

Уровень приложений — диспетчер виртуальных машин

HTTP

8100

Контроллер тестирования — агент тестирования

Удаленное взаимодействие .NET

6910*

Агент тестирования — контроллер тестирования

Удаленное взаимодействие .NET

6901*

Контроллер построений — агент построения

SOAP поверх HTTP

9191

Агент лаборатории — агент лаборатории в изолированной среде

Сокеты TCP

9050

Агент построения — контроллер построений

SOAP поверх HTTP

9191

Консоль администрирования диспетчера виртуальных машин — диспетчер виртуальных машин

HTTP

8100

Диспетчеры виртуальных машин — узлы диспетчера виртуальных машин

Удаленное управление Windows (WinRM) для выполнения действий

Фоновая интеллектуальная служба передачи (BITS) для передачи данных

80 для выполнения действий

443 для передачи данных

Диспетчер виртуальных машин — сервер библиотеки диспетчера виртуальных машин

WinRM для выполнения действий

Служба BITS для передачи данных

80 для выполнения действий

443 для передачи данных

Уровень приложений — узлы диспетчера виртуальных машин

Взаимодействие DCOM/WMI для передачи данных

135

Динамически назначается в диапазоне 49152–65535

Клиентский уровень — узлы диспетчера виртуальных машин

Размещенное подключение к виртуальной машине.Дополнительные сведения о размещенных подключениях см. в разделе Практическое руководство. Подключение к компьютерам в лабораторной среде.

2179 для выполнения размещенных подключений.

Размещенные службы

HTTPS

443

ms252473.collapse_all(ru-ru,VS.110).gifИзменяемые сетевые параметры

Как показано в предыдущей таблице, меняя настройки Team Foundation Server, можно изменять порты взаимодействия уровней приложений, данных и клиентского уровня в локальных развертываниях.В следующей таблице показаны примеры изменений портов для перехода от использования протокола HTTP к HTTPS.

ПримечаниеПримечание

Чтобы настроить Team Foundation Server для использования HTTPS и протокола SSL, нужно не только открыть порты для сетевого трафика HTTPS, но также выполнить много других задач.Для получения дополнительной информации см. Обеспечение безопасности Team Foundation Server.

Служба

Протокол

Port

Веб-службы, использующие SSL

HTTPS

Настраивается администратором

Центр администрирования SharePoint

HTTPS

Настраивается администратором

Продукты SharePoint

HTTPS

443

Службы отчетов

HTTPS

443

Клиентские веб-службы

HTTPS

Настраивается администратором

См. также

Основные понятия

Общие сведения о Team Foundation Server

Разрешения Team Foundation Server

Компоненты хранилища данных для Team Foundation