Set up a multiple server configuration, Azure DevOps on-premises
TFS 2017 | TFS 2015
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
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.
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.
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.
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 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.
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.
And authentication method.
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.
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
If you're installing TFS 2015 or earlier version, 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
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.
On the Account page, specify the service account to use.
And authentication method.
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.