If you are looking for a Microsoft solution to continuous integration & continuous development, Azure DevOps Server is a server download that is possibly a good choice for those that are invested in the Microsoft ecosystem. In this post, we will look at the differences between Azure DevOps Server Express and Azure DevOps Server. We will also look at the steps to install Azure DevOps Server Express in your environment.
What is Azure DevOps Server?
In case you didn’t know already, Azure DevOps Server is Team Foundation Server (TFS) rebranded. It includes development tools and services for modern dev teams and devops engineers.
With it, you get features like source control, tracking, build automation, and it also includes release management tools. You can run it both on-premises and in the cloud. It will likely fill the use case of enterprise-level projects that need version control and CI/CD capabilities.
Azure DevOps Server vs Azure DevOps Server Express
Azure DevOps Express is a free version of Azure DevOps Server. When you install it, it installs the client and server operating systems. Actually, it supports the same features as Azure DevOps Server.
The limitation comes to active users. Azure DevOps Server Express limits the active users of the solution to 5 active users.
Deployment configurations
There are different deployment configurations with Azure DevOps Server, including the following:
- Single Server – This is a deployment that is easy to deploy and simple. It includes the application-tier and the data-tier on the same machine. It is normally a good fit for a single team or small number of teams that may need to use the deployment. If you are looking to install Azure DevOps Server in your home lab, this is also a great configuration.
- Dual Servers – The dual-server configuration has a separate application and database tier. As you would expect, it has better performance for large teams and heavy usage.
- Multiple servers – When you need to provide support for very large teams and very heavy use, the multiple server configuration is the best configuration for this use case. It has high-availability and disaster recovery features.
Azure DevOps Requirements
Single-Server Deployment:
- Basic: 1 dual-core processor, 4 GB RAM, fast HDD (supports up to 250 users).
- Elastic Search: 2 dual-core processors, 8 GB RAM.
- Scaled-up: Increase RAM to 8 GB to support up to 500 users.
- Evaluation/Personal: As little as 2 GB RAM (not recommended for more than one user).
Multi-Server Deployment:
- For teams >500 users:
- Application tier: 1 dual-core processor, 8 GB memory, fast HDD.
- Data tier: 1 quad-core processor, 16 GB memory, high-performance storage (e.g., SSD).
- For teams >2000 users:
- Application tier: 1 quad-core processor, 16+ GB memory, fast HDD.
- Data tier: 2+ quad-core processors, 16+ GB memory, advanced high-performance storage (e.g., SSD, high-performance SAN).
Supported 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, Windows Server 2012
- TFS 2018: Windows Server 2016, Windows Server 2012 R2, Windows Server 2012
- Server Core installation supported for Azure DevOps Server 2022, 2020, 2019, and TFS 2018.
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
SQL Server Requirements:
- 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)
- SQL Server on Linux is not supported.
- Azure SQL Database: Only supported with Azure Virtual Machines.
- SQL Server 2016: Requires Visual C++ runtime update.
How To Install Azure DevOps Server Express
Just to set up my environment so you know what I am using. I created a new VMware vSphere virtual machine running Windows Server 2022 with 4 cores and 8 gigs of memory. This is running on my mini PC home lab. Below are the specs and details of the machine:
After getting the machine created, I simply mounted the Azure DevOps Server Express ISO image in the VM. You can download Azure DevOps Server and Express from this URL: Azure DevOps Server Download – Azure DevOps Server & TFS | Microsoft Learn.
Now, we can get started with the installation. We run the setup found on the Azure DevOps Server ISO.
It will ask you to choose your installation directory.
The installation progresses after clicking Install.
Now that we have Azure DevOps Server installation setup, we will need to go through the Configuration Center wizard to finish out the configuration of the Azure DevOps Server. Click Start Wizard.
Make your choice on the welcome screen if you want to participate in improving the product.
On the Deployment Type I am selecting This is a new Azure DevOps Server deployment. This will create a new Azure DevOps Server deployment with new databases. You can also select I have existing databases to use for this Azure DevOps Server deployment. In this option you will be configuring an Azure DevOps Server deployment against existing databases, which you will select in the configuration pages.
Next, select the deployment scenario. There are three options here. I am selecting the New Deployment – Basic installation. This allows you to create a new Azure DevOps Server deployment using default options for most inputs. It allows you to get up and running very quickly and is a great option for testing and playing around with the solution in a lab environment.
Next, select the language you want to use for the Azure DevOps Server installation.
On the next page, you select a SQL Server instance for your Azure DevOps databases. It makes it easy if you want to get up and running quickly with a SQL Server Express installation. When you select this option, a new instance of Microsoft SQL Server Express is installed and your configuration and team project collection databases will be stored there.
Provide the settings for your application web services tier in Azure DevOps Server.
Next, provide the search configuration settings, including installing the search service and specifying an account to use to enable basic authentication in search service.
Finally, review your configuration settings carefully. Then if everything looks ok, select Next.
The configuration wizard begins making progress.
After quite a while of installation, the configuration progress should complete successfully.
Review the results of the installation and configuration changes that have been made.
Once you click Close on the screen above, it will take you back to the Configuration Center. You can just click Close on this screen.
Creating a new Azure DevOps Project
Browse to the URL of your Azure DevOps Server. If you didn’t change anything, this will be located on port 80. As a note, you will want to configure a proper certificate to encrypt your traffic for production environments. After logging in, you will be prompted to create a new project.
After a couple of moments, the new project will get created and you will be taken to the project dashboard.
Wrapping up
Azure DevOps Server is a really good option for those that like the Microsoft look and feel to solutions. It also as you would expect has integrations with the Microsoft ecosystem, including Azure. I really like that Microsoft gives the Azure DevOps Server Express edition as a free download and there is no difference in functionality aside from a max of 5 active users which is a great option for home lab environments.