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
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.
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.
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.
Configure the firewall on each of the Analysis Services servers to allow access to Analysis Services.
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.
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.
If you're going to enable reporting, install SQL Server Client Tools Connectivity on the application tier server.
-
Download Azure DevOps Server through one of the following channels:
- Visual Studio Downloads, which is the simplest method (scroll down to All downloads, Azure DevOps Server 2019)
- Visual Studio Dev Essentials
- Volume Licensing Service Center
Choose Start Wizard to run the application-tier only configuration wizard.
Choose the New Deployment - Advanced option. For details, see Configure using the Advanced option.
On the database page, point to the SQL Server instance on the data tier and test the connection.
On the Account page, specify the service account to use.
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
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.
Enter the name of the server where you installed SQL Server Reporting Services. Then, choose Populate URLs.
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.
Additional application tier servers
-
Download Azure DevOps Server through one of the following channels:
- Visual Studio Downloads, which is the simplest method (scroll down to All downloads, Azure DevOps Server 2019)
- Visual Studio Dev Essentials
- Volume Licensing Service Center
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.
On the Account page, specify the service account to use.
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.