Set up a multiple server configuration, Azure DevOps on-premises

Azure DevOps Server 2022 | Azure DevOps Server 2020 | Azure DevOps Server 2019

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 Always On 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 Always On Availability Group.

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

    Screenshot of 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 Always On Availability Group where you installed the database engine, or you can install it on a separate SQL Server instance or a separate Always On 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 Always On 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 Always On 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.

    Screenshot of 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.

    Screenshot of Advanced, Database.

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

    Screenshot of Advanced, Account page.

    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.

    Screenshot of Advanced, Reporting, Azure DevOps Server 2019 and later versions.

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

    Screenshot of Server Configuration Wizard, Reporting services.

  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.

    Screenshot of Advanced, Report Reader Account.

Additional application tier servers

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

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

    Screenshot of Advanced, Database.

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

    Screenshot of Advanced, Account page.

Always On Availability Group

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

  • TfsConfiguration
  • TfsDefaultCollection

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