Azure DevOps and GitHub are both great development platforms that cover most parts of the software development process, all the way from planning to released product. Here is my Azure DevOps vs GitHub comparison between the two tools.
First off, both platforms can be run in the Cloud and on-prem.
Azure DevOps vs GitHub differences and similarities
To kick this Azure DevOps vs GitHub comparison off, let's look at how they handle code. Both platforms use Git as their main source control provider. Azure DevOps also still provide their old source control provider Team Foundation version control, but Git is still the main one.
So if Git is Git, what’s the difference? Well, both platforms are of course capable of handling common Git stuff like Commits and Pull Request.
What makes GitHub a better coding platform as I see it, are the following features:
- Dependency scanning where you get notifications and automatic pull requests when you have dependency vulnerabilities in third party packages
- Secret scanning that watches public and private repositories for known secret formats and immediately notifies either the secret provider or private repository admins when secrets are found.
- The ability to find security issues as you code.
- GitHub Insights that shows your team how to work better with each pull request, review, and commit.
GitHub has a backlog, and you can also get a Kanban board. That’s enough for smaller teams, but if you have needs for more advanced Scrum based planning, I’d say that Azure DevOps is better suited.
Build and release
Azure DevOps task-based build systems has been around for a long time, and they’re working well for both build and releases - including several quality gates types. You can also do most of the builds and releases as YAML, so storing your definitions as code is no problem.
GitHub released its YAML-based GitHub Actions about six months ago and it has been a big success with help of the huge open source community. You can also use GitHub Actions to automate lots of things in the GitHub platform.
Both GitHub and Azure DevOps has artifact storage, enabling you to publish your NuGet and NPM packages. Azure DevOps also has upstream storage, meaning that you can subscribe external feeds as well.
In both platform you pay a small fee for package storage.
Azure DevOps has Azure Test plans for Manual testing. GitHub, on the other hand, doesn’t have anything for manual testing. Still, you can of course use Azure Test Plans with GitHub as well.
The integration between the two products is good:
- If you want to do your planning in Azure Boards but have your code in GitHub, you can link them together to get Commits and Pull Requests linked to Azure Board work items
- If you use Azure Pipelines but have your code in GitHub, you can select GitHub as source in your build and get CI and Pull Request triggers.
In the battle of Azure DevOps vs GitHub, what would I choose?
- If a started from scratch with a new Agile team, I would definitely go all in on with GitHub.
- If I need more advanced planning than GitHub can offer, I combine GitHub with Azure Boards.
- If I am a long-time user hand heavy invested in Azure DevOps, I would probably start moving my code to GitHub anyway, depending on the security features.
Solidify and GitHub
Earlier this year, we announced the exciting news that we became one of the world's first GitHub Advanced Services and Technology Partners. It's a tool we very much enjoy, and understand why so many others do, too. If you're interested, take a look at our GitHub page here. If you want to know more about us here at Solidify, take a look at our About page.
In short, we will publish more news regarding our work surrounding GitHub. We can't quite yet say what it is and what it means, but stay updated! You won't regret it.