Here is a tale of two DevOps tools: Azure DevOps and GitHub. They’re both owned by Microsoft, but how do these two developer collaboration tools compare? And which one is better? Let’s find out!
Accelerate your career in cloud
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.
Azure DevOps vs GitHub: The basics
Let’s start with some common questions. Already have 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?
- Can GitHub replace Azure DevOps?
- 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, or repos, 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. Whether you are a developer or not, working alone or in a team, Azure DevOps training can help you organize the way you plan, create and deliver software. (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 and cloud enablement initiatives. 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.
Can GitHub replace Azure DevOps?
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 Certification Guide.
Let’s see how the common features shared by Azure DevOps and GitHub compare.
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 the go-to 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 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 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 functionality of GitHub Actions 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. GitHub and Azure DevOps both 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 project management side of things in Azure DevOps is Azure Boards, which 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 for integrating with other systems. Get notifications on Slack, hook into AWS services, or create automated documentation.
- GitHub: Heart and soul.
- 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 heart and soul. 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’s 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: 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, one of the Microsoft products with possibly the biggest love/hate division amongst users. And so 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 uses GitHub somewhere.
Ready to dive deeper? Check out our AZ-400: Designing and Implementing Microsoft DevOps Solutions certification course.
OK, but which is better: Azure DevOps or GitHub?
All those comparisons are well and good, but seeing as the two products are so similar, why does Microsoft have two? Part of the reason is that GitHub was becoming both a huge repository of Microsoft code, plus it was also a big competitor. The popularity of GitHub still endures today and now we also have more direct access 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. And for more comparisons, check out our Cloud Provider Comparisons series linked below.