Hark: here is a strange tale of two Microsoft DevOps tools: Azure DevOps and GitHub. Who comes out on top in Azure DevOps vs GitHub? And how did Microsoft end up with twin DevOps tools anyhow? Let’s dig in!
How did Microsoft end up with two DevOps tools?
Once upon a time, there was a Microsoft product called Team Foundation Server (TFS). The online version of TFS then became Visual Studio Online, which became Visual Studio Team Services, which is now Azure DevOps.
Microsoft bought Github in 2018, which is also a DevOps tool and shares a lot of the same features. I mean, what’s that about?
Microsoft bought GitHub to heighten its focus on open-source development and bring Microsoft’s developer tools to new audiences, and now they have two very mature and very popular DevOps tools. Let me explain some of the differences and similarities between Azure DevOps and Github — giving you a clearer understanding of why there are two, and where each fits in.
Developer tool basics
If you’re looking for a more elementary breakdown of Azure DevOps vs GitHub, below are some common questions you might have. Know the gist of what Azure DevOps and GitHub are and do? Jump ahead!
- What is Github? What is Azure DevOps?
- What are GitHub and Azure DevOps used for?
- Is Azure DevOps an alternative to GitHub?
- How do I learn Azure DevOps and GitHub?
What is GitHub?
GitHub is one of the most well-known open-source project management tools. Git is a version control system. GitHub is a website — a platform where people share Git repositories online. (Repositories are basically snapshots of a version of a bit of code.)
What is Azure DevOps?
Azure DevOps is a collection of Azure developer services for building software. Azure DevOps includes the ability to do what most people use GitHub for, but it also comes with some other unique features. Azure DevOps is a fully integrated set of services that provide you with all the tools necessary for building and maintaining a backlog, hosting your source code repositories, implementing continuous integration, along with delivery and testing workflows for your products before releasing them. (Translation: It’s basically everything you need to make and launch a product.)
How do people use Azure DevOps?
Azure DevOps is used for planning and collaborating on code development and building and deploying applications. Compared to GitHub, Azure DevOps tends to be more preferred by enterprises. Like Github, it offers both public and private repositories.
How do people use GitHub?
GitHub is used by developers and companies to build, ship, and maintain software. It makes it possible to collaborate and share code and keep tabs of what’s changed along the way. (This process can make it easy to track down, say, when or how a bug was introduced.) Like Azure DevOps, it offers public and private repositories and tends to be the favorite of the developer community. Even Microsoft hosts most of its open-source projects on GitHub.
Is Azure DevOps an alternative to GitHub?
Azure DevOps could be seen as a bit of a GitHub alternative. It has repositories. But it also has other tools. It also integrates with GitHub, so there’s the possibility for a “why not both” type situation.
How do I learn Azure DevOps?
Whether you are a developer or not, working solo or in a team, ACG’s Introduction to Azure DevOps course can help you organize the way you plan, create and deliver software. This course will show you how Azure DevOps works, how to get started, and tips and tricks on how to get the most out of Azure Boards, Azure Repos, Azure Pipelines, Azure Test Plans, and Azure Artifacts.
How do I learn GitHub?
GitHub offers learning labs to help you get started. Their one-hour introduction to GitHub course is free and a good way to pick up the basics of how to GitHub.
Want to learn more about Azure certifications?
Check out our Azure Certifications and Learning Paths.
Closed Source vs Open Source Management
- GitHub: Preferred by the community. Offers both public and private repositories.
- Azure DevOps: Preferred by the enterprise. Offers both public and private repositories.
- Which is better? Even Microsoft hosts most of their open-source projects on GitHub.
Traditionally GitHub has been one of the go-to places for open source communities and projects. Large, well-known projects such as Bootstrap and Node.js are hosted on GitHub, and even most of the Microsoft code base for developer tools and languages is also available on GitHub as open-source. While public projects are free on GitHub, they also offer paid private repositories.
Microsoft Azure DevOps tool is more corporate in approach and while you can definitely host public projects, this is not what the platform is known for. A lot of enterprise-level companies use Azure DevOps as part of their approved product suite.
DevOps Continuous Integration and Deployment (CI/CD)
- GitHub: New and relatively unproven, but easy to use.
- Azure DevOps: Mature and feature-rich pipelines. Good integration with enterprise tooling.
- Which is better? Azure DevOps already has full integration with GitHub repositories, but GitHub Actions are neat and will improve a lot.
Continuous integration, or CI, is the process of continually merging any new code into the master/common code base and building it to make sure nothing is broken. “Fail early” is one of the mantras connected to CI, the thought being that the earlier you find bugs, the easier and cheaper they are to fix.
GitHub has a relatively new feature called “Actions”. These actions can “automate, customize, and execute your software development workflows right in your repository”, including setting up a CI process.
Azure DevOps has an entire section of the platform dedicated to CI. Pipelines is a mature and fully featured service to handle both your CI and CD, continuous delivery. In fact, a lot of the GitHub Actions functionality is built on the same platform as Azure DevOps.
DevOps Project Management
- GitHub: Good if all your stuff is within GitHub
- Azure DevOps: Mature and full-featured. Integrates with 1000+ extensions.
- Which is better? Azure DevOps is the choice here for any semi-serious project and beyond.
A big part of an effective process means having an effective DevOps project management tool to keep track of tasks and timelines, issues, and schedules. Both GitHub and Azure DevOps have tools to help project managers, but are they equal?
GitHub Projects is a lesser-known part of GitHub, which offers a good project management platform for code projects already in GitHub.
The Azure Boards, as the project management side of things is called in Azure DevOps, has its roots in TFS, and is a very mature product. As well as working seamlessly with other parts of Azure DevOps, Boards has over 1,000 extensions too for integrating with almost any other system you need to. Get notifications on Slack, hook into AWS services, or create automated documentation.
- GitHub: Spirit animal
- Azure DevOps: Third-favorite child
- Which is better? For hosting code repositories, nothing comes close to GitHub.
Ask almost any open source project where their code is hosted, and it will be GitHub. Code management is where GitHub has its roots. It is its spirit animal. Everything you could possibly do with pull requests, branching, code reviews, and everything else is here.
Azure DevOps has a good code repository offering too, but it isn’t a spirit animal. More like a third favorite child. It works very well, and it does almost everything you want for your projects.
- GitHub: GitHub Enterprise
- Azure DevOps: Azure DevOps Server
- Which is better? Either self-hosted version comes on 3872 floppy disks.
What if you don’t trust this new-fangled cloud stuff? You may have security concerns about hosting the code for your new Nicolas Cage image hosting service in the cloud. Good news! You can get a self-hosted version of both GitHub and Azure DevOps.
- GitHub: GitHub has the community feels. Companies with open source projects on GitHub get free karma points.
- Azure DevOps: The scent of TFS still lingers. This is enterprise territory.
- Which is better? Microsoft is definitely looking to borrow some reputation points from GitHub.
Azure DevOps came from TFS, possibly one of the Microsoft products with the biggest love/hate division amongst users. Azure DevOps has inherited some of that division. Throughout the many changes and rebranding exercises has emerged a modern tool that is a far cry from the old TFS days, but the memory still lingers at times.
GitHub on the other hand is the default platform for a lot of DevOps tasks, especially anything to do with code management. Most companies will have a development stack that somewhere uses GitHub.
Want to learn more about DevOps Project Management? We have a course for that: Introduction to Azure DevOps and Project Management
FAQs: Comparing Azure DevOps and GitHub
Looking for a TL;DR version? Here are a few frequently asked questions about Azure DevOps and GitHub.
Both are used in software development and both offer compelling use cases depending on your needs. Historically, GitHub has been the go-to place for open source; Azure DevOps is more corporate and enterprise-focused, though it can also host public projects.
Azure DevOps is more mature and integrates with GitHub repos; GitHub actions are new but promising.
Azure DevOps is more mature and integrates with GitHub repos; GitHub actions are new but promising.
Code management is at the heart of GitHub. But Azure DevOps has a good code repository offering too that does almost everything you want for your projects. But for hosting code repos, GitHub is the one to beat.
There are self-hosted versions of both GitHub and Azure DevOps: GitHub Enterprise and Azure DevOps Server.
Azure DevOps came from TFS, possibly one of the Microsoft products with the biggest love/hate division amongst users. That memory lingers, whether it’s fair or not. GitHub is the default platform for a lot of DevOps tasks.
OK. But really, which is better: Azure DevOps or GitHub?
All those comparisons are well and good, but being that the two products are so similar, why have two? Part of the reason is that GitHub was becoming both a huge repository of Microsoft code and also a competitor. The popularity of GitHub still endures today and now their audience also has access more directly to the, frankly, excellent developer tools that Microsoft produces.
So, which should you choose? The non-committal answer of course is “it depends.” What kind of project are you creating? Which DevOps features do you require? Which kind of systems do you need to connect and automate?
Hopefully, you at least now have an idea of where to start and which platform to try out first. They are both excellent in different ways.
Ready to dive deeper? A Cloud Guru has fresh, comprehensive Azure training, including an Azure DevOps course with Microsoft MVP Henry Been.