Архитектура 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
Корпорация Microsoft предлагает возможность использования предварительной версии службы Team Foundation, для которой обеспечивается размещение для всех аспектов развертывания на стороне сервера.Ваш исходный код, рабочие элементы, конфигурации построения и командные функции — все это размещается в облаке.Из архитектурной точки зрения это значительно упрощает развертывание, так как единственные аспекты архитектуры, которые необходимо учитывать, — это клиентские компоненты и их доступ в Интернет.
При использовании службы используйте веб-браузер для подключения к службе с использованием своей учетной записи Microsoft.Можно создавать командные проекты, добавлять элементы в команды и работать так же, как и с локально установленным развертыванием без затрат на управление серверами.Уровень приложений, уровень данных и серверы построения размещаются в облаке с помощью платформы Microsoft Cloud и SQL Server Azure.
Для получения дополнительной информации см. Примеры размещенной топологии.
Объектная модель
При использовании размещенной или локально развернутой архитектуры можно расширить функций и возможности Team Foundation, написав приложение, основанное на серверной или клиентской объектной модели этой системы.Во всех типах развертывания можно написать приложения, которые расширяют возможности клиента.Однако если необходимо расширить возможности серверов, приложение должно выполняться на сервере уровня приложений.Для расширения возможностей клиентов приложение должно выполняться на одном компьютере с Team Explorer.
Дополнительные сведения см. в разделе Расширение Team Foundation.
Веб-службы и базы данных для локальных развертываний
Team Foundation Server включает набор веб-служб и баз данных, устанавливаемых и настраиваемых отдельно на сервере или серверах, на которых размещены логические уровни приложений, данных и пользовательский уровень Team Foundation.Некоторые функции, такие как доска задач и функции невыполненной работы на основе групп, полностью размещены в Интернете и доступ к ним возможен только через Team Web Access — интернет-службы на стороне клиента.Доступ к другим функциям (например функции системы управления версиями) можно получить через Team Web Access или через клиентское приложение.На следующих рисунках показано высокоуровневое представление веб-служб, приложений и баз данных для локальных развертываний TFS.
Службы уровня коллекции
Службы уровня коллекции предоставляют функциональность для операций на уровне коллекций командных проектов.С помощью некоторых из этих служб можно создавать приложения, которые расширяют возможности 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
Служба реестра
Служба событий
Служба коллекции командных проектов
Служба свойств
Служба безопасности
Служба расположения
Служба управления идентификациями
Служба администрирования
Служба управления коллекцией
Служба каталога
Уровень данных
Уровень данных содержит данные, хранимые процедуры и другую связанную логику.При использовании предварительной версии службы 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. |
Клиентский уровень
Клиентский уровень взаимодействует с уровнем приложений через серверную объектную модель и использует те же веб-службы, которые перечислены для этого уровня.Это справедливо как для локального развертывания 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.
Синхронизация удостоверений групп между 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 настроена на использование определенных сетевых портов и протоколов.На следующей иллюстрации показан сетевой трафик в размещенном развертывании.
На следующей иллюстрации показан сетевой трафик в более сложной конфигурации, которая включает компоненты Visual Studio Lab Management.
Сетевые параметры по умолчанию
По умолчанию при взаимодействии компьютеров, включенных в развертывание системы 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 |
Изменяемые сетевые параметры
Как показано в предыдущей таблице, меняя настройки 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