I am preparing for a process of migrating and upgrading our on-premise Azure DevOps Server instance. I tried to collect information on the best practices to perform these tasks, but I am still not sure, what is the best way to get this done. What I want to do:
Current state
Azure DevOps Server 2019 Update 1.1 on Windows Server 2016 with databases on Windows Server 2016 + MS SQL Server 2016
And I would like to move to:
Final State
Azure DevOps Server 2020 on Windows Server 2019 with databases on Windows Server 2019 + MS SQL Server 2019
I read topics on migrating Azure DevOps instances app tier and data tier using back/restore procedures, but there has to be used exactly the same version od SQL Server. Restore data to a different server than the current one
What is a preferred series of steps to do this? First upgrade Azure DevOps Server from 2019 to 2020 with the current OS and SQL setup, then move databases to newer SQL instance on new VM (I didn't find any documentation on how to do that) and then move app tier to new VM and point to new DBs?
Additionally, to make things even more complicated, the set of VMs will be in another domain, I don't know whether it is an issue, but the current setup uses domain service users as domain\TFSService, TFSBuild etc. to run the Azure DevOps Server instance, Db, build agents and so on.
Any help to start me off is appreciated. Thank you all in advance.