How to set up a multiple server configuration, Azure DevOps on-premises

Azure DevOps Server 2019 | TFS 2018 | TFS 2017 | TFS 2015

Note: Azure DevOps Server was previously named Visual Studio Team Foundation Server.

You can scale up an Azure DevOps Server, previously named Team Foundation Server (TFS), deployment for thousands or tens of thousands of users by installing your application tier across many servers, and you can ensure high availability by using SQL Server AlwaysOn Availability Groups.

Note

If you have an existing Azure DevOps installation and you want to upgrade it, use the upgrade wizard.

Preparation and prerequisites

Data tier

  1. Set up your SQL Server deployment using a supported version of SQL Server. Your deployment can be a single instance of SQL Server or an AlwaysOn Availability Group.

    When you set up SQL Server, install the database engine and the full text search services.

    SQL_SERVER_FEATURES

  2. Configure the firewall on each of the servers to allow access to the SQL Server database engine so that the Azure DevOps application-tier servers can get through the firewall to connect to the SQL Server database engine.

Reporting

If you're going to enable reporting, prepare the data tier servers for that.

Note

Make sure to review Reporting configuration choices to understand the choices available to you and the impact it has on your choice of work tracking customization process models.

  1. Install SQL Server Analysis Services.

    You can install Analysis Services on the server or AlwaysOn Availability Group where you installed the database engine, or you can install it on a separate SQL Server instance or a separate AlwaysOn Availability Group.

  2. Configure the firewall on each of the Analysis Services servers to allow access to Analysis Services.

  3. Install and configure SQL Server Reporting Services.

    You can install Reporting Services on the server or AlwaysOn Availability Group where you installed the database engine or Analysis Services, or you can install it on a separate SQL Server instance or a separate AlwaysOn Availability Group.

  4. Configure the firewall on each of the Reporting Services servers to allow access to Reporting Services.

Install Azure DevOps on application tier servers

Install Azure DevOps Server on multiple application tier servers.

First application tier server.

  1. If you're going to enable reporting, install SQL Server Client Tools Connectivity on the application tier server.

    SQL Server Client Tools Connectivity feature installation

  2. Download Azure DevOps Server through one of the following channels:

  3. Choose Start Wizard to run the application-tier only configuration wizard.

    Start Wizard

  4. Choose the New Deployment - Advanced option. For details, see Configure using the Advanced option.

  5. On the database page, point to the SQL Server instance on the data tier and test the connection.

    Advanced>Database

    Dabatase page in the full configuration wizard

  1. On the Account page, specify the service account to use.

    Advanced>Account

  1. On the Account page, specify the service account and authentication method.

    Service account page in the full configuration wizard

By default, Azure DevOps services will run as a network service in a domain
or as local system in a workgroup.
On a domain,
you can use a domain account and grant it only the permissions that the Azure DevOps service account needs.

Reporting

  1. If you want to enable reporting, turn it on here.

    Uncheck the Configure Reporting checkbox if you don't plan on using SQL Server Reporting Services or haven't yet installed SQL Server Analysis Services and SQL Server Reporting Services. Otherwise, keep the box checked.

    Advanced>Reporting

    Configure reporting checkbox

  2. Enter the name of the server where you installed SQL Server Reporting Services. Then, choose Populate URLs.

    Advanced>Reporting

    Reporting services page in the full configuration wizard

  3. Set the account that will be assigned the Reports Reader role in the Analysis Services instance and test that the account and password can be authenticated. Reports use this account when they access the Analysis Services database.

    Advanced>Report Reader Account

    Report reader account page in the full configuration wizard

Additional application tier servers

  1. If you're installing TFS 2015 or earlier version, install SQL Server Client Tools Connectivity on the application-tier server.

    SQL Server Client Tools Connectivity feature installation

  2. Download Azure DevOps Server through one of the following channels:

  3. On the database page, point to the SQL Server instance that is the primary replica in the AlwaysOn Availability Group where you installed the database engine, and list the available databases.

    Advanced>Database

    Database page in the application tier only configuration wizard

  1. On the Account page, specify the service account to use.

    Advanced>Account

  1. On the Account page, specify the service account and authentication method.

    Service account page in the full configuration wizard

AlwaysOn Availability Group

If you installed the database engine on a SQL Server AlwaysOn Availability Group, add the following Azure DevOps databases to the availability group.

  • TfsConfiguration
  • TfsDefaultCollection

If you add a new project collection, add that database to the AlwaysOn Availability Group, too.