Requirements for Azure DevOps on-premises
Azure DevOps Server 2022 | Azure DevOps Server 2020 | Azure DevOps Server 2019
Prior to installing or upgrading an Azure DevOps deployment, review the requirements provided in this article.
In addition to these requirements, review the following articles as well:
- Client and on-premises build compatibility
- Service account requirements
- Architecture overview
- Default network ports and protocols
- Customizable network settings
- Azure Artifacts and version compatibility
Hardware recommendations
Azure DevOps on-premises can scale from an Express installation on a laptop that's used by a single person to a highly available deployment that's used by thousands of people. It can support high-use scenarios that have multiple application tiers behind a load balancer and multiple SQL instances that use SQL Always On.
The following recommendations apply to most Azure DevOps deployments. Your requirements might vary depending on how your team uses Azure DevOps. For example, if you have particularly large Git repositories or Team Foundation version control (TVC) branches, you might need higher-spec machines than those listed in the following sections. All the machines that are described in the next sections can be either physical or virtual.
Single-server deployment
A single-server deployment consists of a single machine with one dual-core processor, 4 GB of RAM, and a fast hard-disk drive. For Elastic Search, you should use two dual-core processors and 8 GB of RAM. This configuration typically supports up to 250 users of core source control (Team Foundation Version Control or Git) and work item tracking functionality. Extensive use of automated build, test, or release likely will cause performance issues. We don't recommend use of search or reporting features for this configuration.
When you scale up a single server, the server can handle a larger number of users and an increased use of automated build, test, or release. A scaled-up server can also use search or reporting features. For example, increasing RAM to 8 GB should enable a single-server deployment to scale up to 500 users.
For evaluation or personal use, you can use a basic configuration with as little as 2 GB of RAM. This configuration isn't recommended for a production server that's used by more than one person.
Multi-server deployments
The following scenarios might require a multiple-server deployment:
- Scaling beyond 500 users
- Extensive use of automated build, test, or release
- Using Code Search
- Using reporting features
For a team of more than 500 users, consider the following setup:
- An application tier with one dual-core processor, 8 GB of memory, and a fast hard-disk drive.
- A data tier with one quad-core processor, 16 GB of memory, and high-performance storage, such as an SSD.
For a team of more than 2,000 users, consider the following setup:
- An application tier with one quad-core processor, 16 GB or more of memory, and a fast hard-disk drive.
- A data tier with two or more quad-core processors, 16 GB or more of memory, and advanced high-performance storage, like an SSD or high-performance SAN.
If you plan to use build, test, or release automation extensively, we recommend that you use higher-spec application and data tiers to avoid performance issues. For example, a team of 250 might use a multiple-server deployment that is more in line with the recommendations for a team of 500 to 2,000 users. We also recommend that you monitor your automated processes to ensure that they are efficient. For example, retrieve data from source control incrementally during builds whenever possible instead of fully refreshing with each build.
Note
Except for very small teams that have extremely limited use of these features, we don't recommend installing build, test, or release agents on your Azure DevOps Server or TFS application tiers.
If you plan to use Code Search, we recommend that you set up a separate server for Code Search. For more information, see the hardware requirements for Code Search.
If you plan to use reporting features, we recommend that you set up a separate server for your warehouse database and SQL Server Analysis Services cube. Another option is to use a higher-spec data tier.
If you want to guarantee high availability, consider using multiple application tiers behind a load balancer and multiple SQL Server instances. In this scenario, we recommend that you put your Azure DevOps databases in an Always On Availability Group.
Build service hardware requirements
The XAML build service has the same operating system requirements as Azure DevOps Server and TFS. Usually, it makes sense to run the build service on a separate machine from the application tier. Hardware requirements for the build service are the same as the operating system on which it's running. However, you can optimize build service performance by tailoring the hardware specs of your build machine to the types of builds your team will use.
Operating systems
The following operating systems are supported for the indicated versions of Azure DevOps Server.
Server or client installation
Azure DevOps Server runs on either a Windows Server operating system or a Windows client operating system and only on a 64-bit operating system. We recommend that you use a server operating system unless your Azure DevOps Server is for evaluation or personal use.
Server operating systems
Azure DevOps Serverversion | Supported server operating systems |
---|---|
Azure DevOps Server 2022 | Windows Server 2022 Windows Server 2019 |
Azure DevOps Server 2020 | Windows Server 2019 Windows Server 2016 |
Azure DevOps Server 2019 | Windows Server 2019 Windows Server 2016 Windows Server 2012 R2 (Essentials, Standard, Datacenter) Windows Server 2012 (Essentials, Standard, Datacenter) |
TFS 2018 | Windows Server 2016 Windows Server 2012 R2 (Essentials, Standard, Datacenter) Windows Server 2012 (Essentials, Standard, Datacenter) |
The Server Core installation option is supported for Azure DevOps Server 2022, Azure DevOps Server 2020, Azure DevOps Server 2019, and TFS 2018. Windows Server version 1709 isn't supported.
Client operating systems
Azure DevOps Server version | Supported client operating systems |
---|---|
Azure DevOps Server 2022 | Windows 11 Version 21H2 Windows 10 1809 or later |
Azure DevOps Server 2020 | Windows 10 (Enterprise) Version 1803 Windows 10 (Professional, Enterprise) 1809 or later |
Azure DevOps Server 2019 | Windows 10 (Professional, Enterprise) Version 1607 or later |
TFS 2018 | Windows 10 (Professional, Enterprise) Version 1607 or later |
Although you can install Azure DevOps Server on a client operating systems, we don't recommend client operating system installation except for evaluation purposes or personal use. You can't install Azure DevOps Server Proxy on client operating systems.
Proxy server requirements
The proxy server is available only when you install Azure DevOps Server on a Windows server operating system. Supported systems are listed in the following table for each version.
Azure DevOps Proxy Server version | Supported Windows OS systems |
---|---|
Azure DevOps Proxy Server 2022 | Windows Server 2022 Windows Server 2019 Windows Server Core |
Azure DevOps Proxy Server 2020 | Windows Server 2019 Windows Server 2016 Windows Server Core |
Azure DevOps Proxy Server 2019 | Windows Server 2019 Windows Server 2016 Windows Server 2012 R2 (Essentials, Standard, Datacenter) Windows Server 2012 (Essentials, Standard, Datacenter) Windows Server Core |
Team Foundation Proxy Server 2018 | Windows Server 2016 Windows Server 2012 R2 (Essentials, Standard, Datacenter) Windows Server 2012 (Essentials, Standard, Datacenter) |
Review the following hardware recommendations to determine the optimal hardware to use for Azure DevOps Server Proxy.
Unlike operating system requirements, hardware recommendations for proxy are different from hardware recommendations for setting up the application tier of Azure DevOps Server. The application tier requires more robust hardware than the proxy server.
Recommended hardware is based on the size of the team that will use the proxy server. Usually, this is the team in your remote office. The larger your team, the more robust your hardware must be.
Remote team size | Hardware recommendations (CPU/RAM) for Azure DevOps Server Proxy |
---|---|
450 or fewer users | One processor, 2.2-GHz CPU, 4 GB of RAM |
Between 451 and 2,200 users | Two processors, 2.0-GHz CPU, 8 GB of RAM |
Between 2,201 and 3,600 users | Four processors, 2.0-GHz CPU, 8 GB of RAM |
GVFS proxy additional requirements
The Git Virtual File System (GVFS) proxy feature supports intensive input/output (I/O) operations. In addition to the basic requirements for Azure DevOps Server Proxy, GVFS proxying requires a fast, large disk to operate efficiently on the repository. Recommended hardware is based on the size of the repository that the GVFS proxy serves.
Hardware | Recommended value |
---|---|
RAM | As large as the tip of a typical branch |
Disk space | Four times the repository's entire size |
Disk hardware | A solid-state drive (SSD) |
For example, if a repository has 50 GB within it's main branch and 200 GB of history, we recommend 50 GB of RAM and 800 GB of SSD-based storage.
Virtualization
Microsoft supports Azure DevOps Server virtualization in supported virtualization environments.
For more information, see the following articles:
- Microsoft server software and supported virtualization environments
- Support policy for Microsoft software running in non-Microsoft hardware virtualization software
- Support partners for non-Microsoft hardware virtualization software
- Server virtualization (officially supported products)
Azure SQL Database and SQL Server
Azure DevOps on-premises deployments require some version of SQL Server. Azure DevOps Server supports Express, Standard, and Enterprise SQL Server editions. The Express edition is recommended only for evaluation purposes, personal use, or for very small teams. We recommend the SQL Server Standard or Enterprise versions for all other scenarios.
For production deployments, use one of the following versions of SQL Server.
Azure DevOps version | Supported SQL Server version |
---|---|
Azure DevOps Server 2022 | Azure SQL Database Azure SQL Managed Instance SQL Server 2022 SQL Server 2019 |
Azure DevOps Server 2020 | Azure SQL Database SQL Server 2019 SQL Server 2017 SQL Server 2016 (minimum SP1) |
Azure DevOps Server 2019 Update 1.1 | Azure SQL Database SQL Server 2019 SQL Server 2017 SQL Server 2016 (minimum SP1) |
Azure DevOps Server 2019 | Azure SQL Database SQL Server 2017 SQL Server 2016 (minimum SP1) |
TFS 2018 | SQL Server 2017 SQL Server 2016 (minimum SP1) |
Note
SQL Server on Linux isn't supported.
The following information applies to the indicated SQL Server version:
- Azure SQL Database: Only supported when you also use Azure Virtual Machines. For details, see Use Azure SQL Database with Azure DevOps Server.
- SQL Server 2016: If you use SQL Server 2016, you must install a Visual C++ runtime update.
Active Directory
You can install Azure DevOps on more than one server if the servers are all joined to an Active Directory domain that's based on a functional level that the servers support. You can install Azure DevOps on a single server that's joined to an Active Directory domain or that is a member of a workgroup.
Major releases and service packs
Microsoft doesn't always immediately support major new versions of dependencies like SQL Server. Sometimes, we must release updates to add support for those versions. However, when Microsoft supports a major version, we always support the latest service pack immediately when it's released. We work with product teams to test service packs before they're released.
Natural languages
You can install Azure DevOps in various languages on supported operating systems. However, you can't use any combination of localized operating system with Azure DevOps Server and TFS. Also, you can't install multiple languages on a single Azure DevOps Server or TFS server.
The following table outlines the language combinations that are supported:
Operating system | Azure DevOps Server |
---|---|
English | English |
English | Language other than English |
Language other than English | English |
Language other than English | Language must match the operating system |
If you're running an English language operating system, you can install any language version of Azure DevOps Server. If you aren't running an English language operating system, you must install the English version of Azure DevOps Server or the version that has been localized for the same language as the operating system.
Azure DevOps Proxy Server and Team Explorer don't have additional language requirements specific to working with Azure DevOps Server.
Test controllers and agents have their own language requirements. For more information, see Test controller and test agent requirements.