Arquitectura de Team Foundation Server

Para planear y administrar la implementación de la mejor forma posible, debe entender primero la arquitectura subyacente de Team Foundation Server (TFS). Entender la arquitectura puede ayudarle a mantener el buen estado global de la implementación y a garantizar la disponibilidad global de los servidores y servicios que los equipos de desarrollo requieren.

Hay varias maneras de implementar TFS: en un servidor; en muchos servidores, en un dominio o grupo de trabajo, o en varios dominios. También puede utilizar Visual Studio Online, donde Microsoft hospeda automáticamente todos los elementos de servidor de la implementación. Entender la arquitectura puede ayudarle a decidir la topología que puede satisfacer mejor sus necesidades empresariales. Cualquiera que sea la topología que elija, si entiende la arquitectura que subyace a TFS, podrá administrar mejor los requisitos físicos y lógicos. Este tema proporciona información general básica sobre las distintas arquitecturas, con vínculos a información adicional sobre implementaciones de ejemplo. También proporciona información técnica sobre los servicios, las bases de datos, la información de configuración, y los puertos y protocolos de red de las implementaciones locales.

Para comprender la arquitectura de TFS y cómo afecta a la implementación, debe tener en cuenta lo siguiente:

  • Las capas lógicas de aplicación, datos y cliente de Team Foundation, y si desea utilizar uno o varios servidores para las capas de aplicación y de datos, o si desea que las capas de aplicación y de datos se hospeden en la nube automáticamente mediante Visual Studio Online

  • La ubicación de los servidores físicos o virtuales que hospedan esas capas

  • Team Foundation Build y el número y la ubicación de los equipos de compilación que se ejecutarán en el entorno, incluido cuántos puede necesitar para llevar a cabo sus procedimientos de desarrollo

  • La posible necesidad de un proxy de Team Foundation Server

Además, debe tener en cuenta las interacciones entre estas entidades. Por ejemplo, si decide utilizar el servicio TFS hospedado, debe asegurarse de que los clientes puedan tener acceso al servicio en el puerto 443. Si decide implementar TFS localmente, debe saber qué servicios Web, bases de datos y modelos de objetos utiliza TFS. También debe saber qué puertos y protocolos de red utiliza TFS de forma predeterminada y qué puertos de red se pueden personalizar. Por último, debe entender qué permisos debe establecer en Team Foundation Server y los componentes y programas de los que depende su implementación.

Además de sus propios servicios, Team Foundation Server depende de otros servicios para funcionar. Para obtener información acerca de estos servicios, vea Conceptos de Team Foundation Server y Componentes del almacén de datos de TFS. Para obtener más información sobre los requisitos y las dependencias de la instalación, vea Guía de instalación de Team Foundation Server.

Precaución

No debe modificar manualmente ninguna de las bases de datos de TFS a menos que el soporte técnico de Microsoft así se lo indique o que siga los procedimientos descritos para realizar copias de seguridad manuales de las bases de datos.Cualquier otra modificación puede invalidar el contrato de servicio.

En este tema

  • Visual Studio Online

  • El modelo de objetos

  • Servicios Web y bases de datos para implementaciones locales

    • Servicios de nivel de colección

    • Servicios de nivel de servidor

    • Capa de datos

    • Nivel de cliente

  • Información de configuración

  • Grupos y permisos

  • Puertos y protocolos de red

    • Configuración de la red predeterminada

    • Configuración de la red personalizable

Visual Studio Online

Diagrama simple del servicio TFS hospedado

Microsoft ofrece la posibilidad de utilizar Visual Studio Online, donde todos los aspectos del servidor de la implementación se hospedan automáticamente. El código fuente, los elementos de trabajo, las configuraciones de compilación y las características del equipo se hospedan en la nube. Desde el punto de vista arquitectónico, esto simplifica en gran medida la implementación, ya que los únicos aspectos de la arquitectura que tiene que considerar son los componentes de cliente y su acceso a Internet.

Cuando utiliza el servicio, emplea un explorador web para conectarse al servicio mediante su cuenta de Microsoft. Puede crear proyectos de equipo, agregar miembros al equipo y trabajar como lo haría con una implementación instalada localmente, pero sin la sobrecarga que supone administrar los servidores. La capa de aplicación, la capa de datos y los servidores de compilación se hospedan en la nube, utilizando la plataforma de nube de Microsoft y SQL Server Azure.

Para obtener más información, consulta Ejemplos de topología alojada.

El modelo de objetos

Tanto con la arquitectura hospedada como con la implementada localmente, puede extender las características y la funcionalidad de Team Foundation escribiendo una aplicación basada en su modelo de objetos de servidor o de cliente. En todos los tipos de implementación, se pueden crear aplicaciones que extienden las capacidades de cliente. Sin embargo, si desea extender las capacidades de servidor, la aplicación debe ejecutarse en el servidor de capa de aplicación. Para extender las capacidades de cliente, debe ejecutar la aplicación en el mismo equipo que Team Explorer.

Modelos de objeto para Team Foundation

Para obtener más información, consulta Ampliar Team Foundation.

Servicios Web y bases de datos para implementaciones locales

Team Foundation Server incluye un conjunto de servicios Web y bases de datos que se instalan y configuran por separado en el servidor o servidores que hospedan las capas lógicas de aplicación, datos y cliente de Team Foundation. Algunas características, como el panel de tareas y las características de trabajo pendiente de equipo, se basan por completo en una interfaz web y solo se tiene acceso a ellas a través de Team Web Access, un servicio Web de cliente. A otras, como las características de control de versiones, se puede tener acceso a través de Team Web Access o mediante una aplicación cliente. En las ilustraciones siguientes se proporciona una visión general de los servicios Web, las aplicaciones y las bases de datos para implementaciones locales de TFS.

Diagrama de arquitectura de servidorServidores adicionales usados en TFSDiagrama de arquitectura de cliente

Servicios de nivel de colección

Los servicios de nivel de colección proporcionan funcionalidad para las operaciones en el nivel de la colección de proyectos de equipo. Puede crear aplicaciones que extienden Team Foundation Server utilizando algunos de estos servicios. Para obtener más información acerca de la creación de aplicaciones para TFS, vea Ampliar Team Foundation.

Sugerencia

Algunos servicios aparecen en varios niveles.Por ejemplo, el servicio de Registro funciona en el nivel de colección y en el de servidor, y aparece en ambas listas.

  • Servicios de marco de trabajo de Team Foundation

    • Servicio del Registro

    • Servicio de registro (para que exista compatibilidad con versiones anteriores de Team Foundation Server).

    • Servicio de propiedades

    • Servicio de eventos

    • Servicio de seguridad

    • Servicio de ubicación

    • Servicio de administración de identidades

  • Servicio Web de control de versiones

  • Servicio Web de seguimiento de elementos de trabajo

  • Servicio Web de Team Foundation Build

  • Servicio Web de Lab Management

  • Servicio Web de administración de VMM

  • Servicio Web de controlador de Test Agent

Servicios de nivel de servidor

Los servicios de nivel de servidor (también denominados servicios de nivel de aplicación) proporcionan funcionalidad para las operaciones de Team Foundation Server como una aplicación de software. Puede crear aplicaciones que extienden Team Foundation Server utilizando algunos de estos servicios. Para obtener más información, consulta Ampliar Team Foundation.

  • Servicios de marco de trabajo de Team Foundation

    • Servicio del Registro

    • Servicio de eventos

    • Servicio de la colección de proyectos de equipo

    • Servicio de propiedades

    • Servicio de seguridad

    • Servicio de ubicación

    • Servicio de administración de identidades

    • Servicio de administración

    • Servicio de administración de colecciones

    • Servicio del catálogo

Capa de datos

La capa de datos incluye datos, procedimientos almacenados y otra lógica asociada. Cuando se usa Visual Studio Online, la capa de datos se hospeda automáticamente mediante SQL Server Azure. En una implementación local de TFS, la capa de datos lógica consta de los siguientes almacenes operativos dentro de SQL Server. Estos almacenes podrían estar ubicados en un servidor físico o distribuidos en varios servidores. Puede crear aplicaciones que extienden Team Foundation Server utilizando algunos de estos almacenes operativos. Para obtener más información, consulta Ampliar Team Foundation.

  • Base de datos de configuración (TFS_Configuration)

  • Almacén de la aplicación (TFS_Warehouse)

  • Base de datos de servicios de análisis (TFS_Analysis)

  • Bases de datos para colecciones de proyectos de equipo (TFS_NombreDeColección)

En la tabla siguiente se proporciona una lista de las bases de datos que Team Foundation Server usa en las implementaciones locales. A menos que se indique lo contrario, todas las bases de datos de la lista se pueden mover del servidor y la instancia originales donde están instaladas con el fin de restaurarlas en otro servidor o instancia.

Nombre y descripción de la base de datos

Servidor

TFS_Configuration Esta base de datos almacena el catálogo de recursos y la información de configuración para Team Foundation Server. Esta base de datos contiene los almacenes operativos para Team Foundation Server.

Instancia de SQL Server que se utiliza cuando se instala y se configura Team Foundation Server.

TFS_Warehouse Esta base de datos almacena los datos para los informes.

Instancia de SQL Server que se utiliza cuando se instala y se configura Team Foundation Server.

TFS_Analysis Esta base de datos multidimensional almacena los datos agregados de las colecciones de proyectos de equipo.

Instancia de SQL Server que se utiliza cuando se instala y se configura Team Foundation Server.

Bases de datos para colecciones de proyectos de equipo Una base de datos para cada colección de proyectos de equipo, con los datos de todos los proyectos de equipo de esa colección.

Instancia de SQL Server que es compatible con Team Foundation Server.

Capa de cliente

La capa de cliente se comunica con la capa de aplicación a través del modelo de objetos de servidor y utiliza los mismos servicios Web que se enumeran para esa capa. Esto es cierto tanto si implementa TFS localmente como si utiliza Visual Studio Online. Además de ese modelo, la capa de cliente está formada por los componentes de Visual Studio Industry Partners (VSIP), la integración con Microsoft Office, las interfaces de línea de comandos y un marco para directivas de protección.

Información de configuración

El servicio hospedado depende de los servicios de cliente, implementados localmente, y de una conexión de Internet a las capas de aplicación y de datos hospedadas en la nube. Una implementación local de Team Foundation Server depende de SQL Server, Internet Information Services (IIS) y el sistema operativo Windows. En función de la topología elegida, Team Foundation Server también puede depender de SQL Server Reporting Services o de Productos de SharePoint. Por consiguiente, la información de configuración para Team Foundation Server puede estar almacenada en cualquiera de las siguientes ubicaciones:

  • Almacenes de datos de IIS.

  • Archivos de configuración de Team Foundation Server.

  • Orígenes de datos de Reporting Services (por ejemplo, datos de TFSREPORTS).

  • Base de datos de configuración de Team Foundation Server. El Registro de Team Foundation Server forma parte de la base de datos de configuración.

  • Registro de Windows.

Para obtener ejemplos de diferentes topologías de implementación local y de dónde se almacenan estos recursos, vea Ejemplos de topología sencilla, Ejemplos de topología moderada y Ejemplos de topología compleja. Cuando mantiene una implementación local de Team Foundation Server, debe tener en cuenta estos orígenes de configuración. Para realizar alguna modificación en la configuración, puede que sea necesario modificar información que está almacenada en varias ubicaciones. También es posible que se deba cambiar la información de configuración para los niveles de datos y cliente. Team Foundation Server incluye una consola de administración y varias utilidades de línea de comandos para realizar estos cambios. Para obtener más información, consulta Configurar y administrar recursos de TFS.

Sincronización de identidades de grupo entre Active Directory y Team Foundation Server

En las implementaciones locales en las que Team Foundation Server se ejecuta en un dominio de Active Directory, la información de grupos e identidades se sincroniza cuando se produce alguno de los eventos siguientes:

  • Se inicia el servidor de nivel de aplicación de Team Foundation.

  • Un grupo de Active Directory se agrega a un grupo de Team Foundation Server.

  • El período de tiempo que se especifica en el trabajo programado transcurre. El valor predeterminado es una hora y todos los grupos de Team Foundation Server se actualizan cada 24 horas.

Los servicios de administración de identidades (IMS) se sincronizan con Active Directory y las identidades modificadas se propagan desde el servidor a los clientes. De forma predeterminada, todos los grupos se actualizan en un plazo de 24 horas, pero esto se puede personalizar para adaptarlo a las necesidades de la implementación. Para obtener más información, consulta Consideraciones de bosque y confianza para Team Foundation Server. En el caso de implementaciones locales que no utilizan Active Directory, vea Administrar Team Foundation Server en un grupo de trabajo.

Grupos y permisos

En una implementación local, Team Foundation Server tiene su propio conjunto de grupos y permisos predeterminados que se pueden establecer en el nivel de proyecto, colección o servidor. Puede crear grupos personalizados y personalizar permisos en cada grupo y cada nivel. Sin embargo, los usuarios o grupos que se agregan a Team Foundation Server no se agregan automáticamente a dos componentes de los que pueden depender las implementaciones locales de Team Foundation Server: Productos de SharePoint y Reporting Services. Si la implementación usa estos programas, se deben agregar usuarios y grupos a esos programas y conceder los permisos adecuados para que estos usuarios o grupos funcionen correctamente en todas las operaciones de Team Foundation Server. Para obtener más información, consulta Administrar usuarios o grupos en TFS.

En las implementaciones hospedadas, el acceso se controla mediante una combinación de cuentas de Microsoft y pertenencias a equipos. Para obtener más información, inicie sesión en el servicio con su cuenta de Microsoft y seleccione la opción de aprender.

Puertos y protocolos de red

De forma predeterminada, una implementación local de TFS está configurada para utilizar determinados puertos y protocolos de red. En la ilustración siguiente se muestra el tráfico de red de Team Foundation Server en una implementación sencilla.

Diagrama simple de comunicaciones y puertos

TFS hospedado

Del mismo modo, el servicio hospedado para TFS está configurado para utilizar determinados puertos y protocolos de red. En la ilustración siguiente se muestra el tráfico de red de una implementación hospedada.

Diagrama simple del servicio TFS hospedado

En la siguiente ilustración se muestra el tráfico de red en una implementación más compleja que incluye los componentes de Visual Studio Lab Management.

Diagrama complejo de comunicaciones y puertos (parte 1)Diagrama complejo de comunicaciones y puertos (parte 3)Diagrama complejo de comunicaciones y puertos (parte 2)

Las máquinas virtuales usan el puerto 80 para comunicarse con cualquier controlador de pruebas en relación a la descarga de un agente de Lab Management. Si tiene problemas de comunicación, compruebe que este puerto esté habilitado.

Configuración de red predeterminada

De forma predeterminada, la comunicación entre los equipos de una implementación de Team Foundation usa los protocolos y los puertos que se muestran en la tabla siguiente. Si el número de puerto va seguido de un asterisco (*), se puede personalizar el puerto.

Capa y servicio

Protocolo

Puerto

Nivel de aplicación: servicios Web

HTTP/HTTPS

8080/443*

Capa de aplicación: administración de Productos de SharePoint

HTTP

17012* si Productos de SharePoint se instaló con Team Foundation Server; de lo contrario, se genera de forma aleatoria

Capa de aplicación: Productos de SharePoint y Reporting Services

HTTP

Servicio Instrumental de administración de Windows (WMI) (es necesario durante la instalación para especificar y comprobar las direcciones URL para Reporting Services)

80*

Puerto dinámico

Capa de datos

TCP de MS-SQL

1433*

Capa de datos (SQL Server Analysis Services)

MS-AS

valor predeterminado (2382 o 2383)*

El puerto predeterminado varía según la versión de SQL Server instalada y el tipo de instancia. Use el Administrador de configuración de SQL Server para determinar los puertos usados por la implementación.

Proxy de Team Foundation Server: cliente a proxy

HTTP

8081*

Proxy de Team Foundation Server: proxy a capa de aplicación

HTTP/HTTPS

8080/443*

Capa de cliente: Reporting Services

HTTP

80*

Nivel de cliente: servicios Web

HTTP/HTTPS

8080/443*

Controlador de compilación a capa de aplicación

HTTP/HTTPS

8080/443

Agente de compilación a capa de aplicación

HTTP/HTTPS

8080/443

Release Management Server

HTTP o HTTPS

1000*

Release Management Client

HTTP o HTTPS

1000*

Agente de Release Management

HTTP o HTTPS

1000*

Controlador de pruebas a capa de aplicación

HTTP/HTTPS

8080/443*

Capa de aplicación a controlador de pruebas

.NET Remoting

6901*

Capa de aplicación a Sistema de nombres de dominio (DNS)

Actualización dinámica de DNS

53

Capa de aplicación: Virtual Machine Manager

HTTP

8100

Controlador de pruebas a agente de prueba

.NET Remoting

6910*

Agente de prueba a controlador de pruebas

.NET Remoting

6901*

Controlador de compilación a agente de compilación

SOAP a través de HTTP

9191

Agente de laboratorio a agente de laboratorio en un entorno aislado

Sockets TCP

9050

Agente de compilación a controlador de compilación

SOAP a través de HTTP

9191

Consola de administrador de Virtual Machine Manager: Virtual Machine Manager

HTTP

8100

Virtual Machine Manager: hosts de Virtual Machine Manager

Administración remota de Windows (WinRM) para realizar acciones

Servicio de transferencia inteligente en segundo plano (BITS) para transferir datos

80 para realizar acciones

443 para transferir datos

Virtual Machine Manager: servidor de biblioteca de Virtual Machine Manager

WinRM para realizar acciones

BITS para transferir datos

80 para realizar acciones

443 para transferir datos

Capa de aplicación: hosts de Virtual Machine Manager

Comunicación de Modelo de objetos componentes distribuido/Interfaz de administración de Windows (DCOM/WMI) para transferir datos

135

Se asigna dinámicamente en el intervalo de 49152 a 65535

Capa de cliente: hosts de Virtual Machine Manager

Conexión basada en host a la máquina virtual.

2179 para realizar conexiones basadas en host.

Servicios hospedados

HTTPS

443

Configuración de red personalizable

Como se muestra en la tabla anterior, se puede cambiar la comunicación entre las capas de aplicación, datos y cliente de las implementaciones locales modificando Team Foundation Server para que utilice puertos personalizados. En la tabla siguiente se describen cambios de ejemplo en puertos de HTTP a HTTPS.

Nota

Para configurar Team Foundation Server de modo que se utilice HTTPS y Capa de sockets seguros, no solo se deben habilitar puertos para el tráfico de red HTTPS sino realizar también otras muchas tareas.Para obtener más información, consulta Configurar HTTPS con Secure Sockets Layer (SSL) para Team Foundation Server.

Servicio

Protocolo

Puerto

Servicios Web con SSL

HTTPS

Configurado por el administrador

Administración central de SharePoint

HTTPS

Configurado por el administrador

Productos de SharePoint

HTTPS

443

Reporting Services

HTTPS

443

Servicios Web de cliente

HTTPS

Configurado por el administrador

Administración de versiones

HTTPS

Configurado por el administrador

Vea también

Conceptos

Conceptos de Team Foundation Server

Referencia de permisos para Team Foundation Server

Componentes del almacén de datos de TFS