Поделиться через


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

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

Развертывание сервера TFS можно выполнить несколькими способами: на одном сервере, на нескольких серверах, в одном домене, в одной рабочей группе или в нескольких доменах. Можно также использовать сервер Visual Studio Online, где все серверные элементы развертывания размещаются на серверах корпорации Майкрософт. Понимание архитектуры может помочь решить, какая топология в наибольшей степени отвечает вашим бизнес-потребностям. Независимо от выбранной топологии, если вы понимаете архитектуру, лежащую в основе TFS, вы сможете лучше управлять как физическими, так и логическими требованиями. В этом разделе содержится простой обзор различных архитектур со ссылками на дополнительные сведения о примерах развертывания. Кроме того, здесь представлены технические сведения о службах, базах данных, конфигурация, сетевых портах и протоколах локальных развертываний.

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

  • логические уровни приложений, данных и клиентов Team Foundation, нужно ли использовать один или несколько серверов для уровней приложений и данных, требуется ли, чтобы уровни приложений и данных были размещены в облаке на базе Visual Studio Online;

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

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

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

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

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

Предупреждение

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

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

  • Visual Studio Online

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

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

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

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

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

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

  • Сведения о конфигурации

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

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

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

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

Visual Studio Online

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

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

При использовании данной службы подключение к службе осуществляется с помощью веб-браузера и учетной записи Майкрософт. Можно создавать командные проекты, добавлять членов команды и работать так же, как и с локальным развертыванием, но без дополнительных затрат на администрирование серверов. Уровень приложений, уровень данных и серверы сборки размещаются в облаке на базе платформы 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Схема клиентской архитектуры

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

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

Совет

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

  • Службы Team Foundation Framework

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

  • Службы Team Foundation Framework

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

В следующей таблице приводится список баз данных, используемых 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.

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

Уровень клиентов взаимодействует с уровнем приложений через серверную объектную модель и использует веб-службы, которые были перечислены для этого уровня. Это верно независимо от того, развертывается сервер TFS локально или используется служба Visual Studio Online. Кроме объектной модели, клиентский уровень включает компоненты отраслевых партнеров Visual Studio (VSIP), интеграцию с 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. Реестр Team Foundation Server является частью базы данных конфигурации;

  • реестр Windows.

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

Синхронизация удостоверений групп между 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 и в службы Reporting Services. Если при развертывании используются эти программы, в них необходимо добавить пользователей и группы и предоставить им соответствующие разрешения, чтобы разрешения для данных пользователей и групп правильно работали во всех операциях Team Foundation Server. Для получения дополнительной информации см. Управление пользователями или группами в TFS.

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

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

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

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

Размещенный TFS

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

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

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

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

Виртуальные машины используют порт 80 для взаимодействия с контроллером тестирования в отношении загрузки агента Lab Management. При возникновении проблем взаимодействия проверьте, включен ли этот порт.

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

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

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

Протокол

Port

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

HTTP/HTTPS

8080/443*

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

HTTP

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

Уровень приложений — Продукты 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

Release Management Server

HTTP или HTTPS

1000*

Release Management Client

HTTP или HTTPS

1000*

Release Management Agent

HTTP или HTTPS

1000*

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

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

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

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

Примечание

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

Служба

Протокол

Port

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

HTTPS

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

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

HTTPS

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

Продукты SharePoint

HTTPS

443

Reporting Services

HTTPS

443

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

HTTPS

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

Управление выпусками

HTTPS

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

См. также

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

Концепции, связанные с Team Foundation Server

Справочник по разрешениям Team Foundation Server

Компоненты хранилища данных TFS