When it comes to modern software development, collaboration is the name of the game; to this end, development teams have more than ample selection of tools at their disposal these days. With a user base in the double-digit millions, GitHub is the perennial favorite for sharing, collaborating, and repositing code, but Azure DevOps, which started out as Visual Studio Online—then went through a name change where it was known as Microsoft Visual Studio Team Services (VSTS)—has been stealing some of its thunder, especially when it comes to software teams that rely heavily on Microsoft technologies such as .NET and C# in their stack.
The most obvious, classic distinction between the two platforms is that Azure DevOps is geared for closed source projects while GitHub is focused on open source. That said, GitHub has always made it easy for developers to move back and forth between public/private development modes. Microsoft has also made drastic strides in gaining favor with the open-source community, with perhaps its most significant move to court the community being its acquisition of GitHub back in 2018.
Even before completing its acquisition of GitHub, Microsoft had been making great strides towards becoming more open-source friendly. With CEO Satya Nadella at the helm, the software giant has made significant investments into open source software, including acquisitions, expanding support for Linux in some products, as well as open-sourcing its in-house technologies like the .NET framework.
Azure DevOps is open-source friendly but does not go nearly as far as GitHub. The service has a significant overlap with GitHub, but it aims to be a comprehensive platform for managing DevOps. This includes release management and all other stages of the software development lifecycle for teams both large and small. GitHub has also expanded its capabilities over the years to become a compelling platform for developing and shipping code.
So for comparison's sake, it really comes down to customer fit in terms of specific features, usability, and pricing models. Let's delve into a few of these categories and see how they stack up.
Microsoft Visual Studio Team Services (VSTS)
Formerly known as Visual Studio Team Services (and, before that, Visual Studio Online) Azure DevOps is essentially an Azure cloud-hosted version of Azure DevOps Server (formerly called Team Foundation Server or TFS), Microsoft's source code and application lifecycle management platform.
The changes the product has gone through over time, including a fundamental rebranding in 2018, and releases in 2020, have been more than just a rebranding exercise. A key part of the fundamental changes has been Microsoft breaking out the individual Azure DevOps services so that they are easier to adopt for DevOps teams. This means that if a team needs just Azure Pipelines, they can get just that Azure service without incurring costs for services they don’t use. Products available in Azure DevOps include:
- Azure Boards
- Azure Pipelines
- Azure Repos
- Azure Artifacts
- And more
Azure DevOps offers extended features for supporting software team collaboration and continuous delivery/integration (CI/CD) such as Git-based source control repositories (Bitbucket, and others), project tracking tools, telemetry services, Kubernetes integration, Jenkins server support, a streamlined development IDE, and more.
Other capabilities include Microsoft Office component support (e.g., Excel and Project) as well as cloud-specific development services such as cloud build, cloud load testing, and Application Insights: a machine learning-based tool for detecting, diagnosing, and remediating web application/service problems and performance issues.
Launched in 2008, GitHub is the premier Git repository hosting service on the web that features the best of Git's source control management capabilities combined with cloud-based code sharing, social networking, and an expansive online community of collaborators/developers.
GitHub has been described as a platform for social coding—an apt descriptor, as the offering features a myriad of social features that have made it the most popular code hosting platform on the web. Indeed, most of its powerful features revolve around its collaboration and sharing capabilities: on its own, Git is a massively popular and competent distributed version control system, but GitHub takes this to the next level by allowing users to work together publicly on projects, fork projects for experimentation and specialization, as well as disseminate/share ideas, among other features.
Other social aspects of the platform worth mentioning include visibility into what other users are developing, coding "resumes" of sorts for developers to highlight previous work, and the ability to connect with other developers.
GitHub has excellent support for managing software projects of all sizes, with a robust feature set that centers around:
- Code management: public and private repositories
- Code workflow: GitHub Actions, GitHub Packages, code reviews, pull requests, protected branches
- Collaboration: manage collaborators, issues, backlogs, project boards, milestones, pages and wikis, GitHub repository insights, team discussions, organization, and team management
- Security and compliance: security alerts, automated code scanning, audit log, GitHub Connect, LDAP
- Marketplace and integrations: includes build tools, issue trackers like Jira, container platforms like Docker
Side-by-Side Scoring: Azure DevOps vs. GitHub
1. Capability Set
Both offerings are comprehensive, feature-rich platforms for sharing/tracking code and building software à la CI/CD, as well as highly focused around Git with an emphasis on different aspects of collaborative software development.
Azure DevOps, with its gamut of tools and services for facilitating software project creation, development, testing, and management—is a formidable solution for development teams of all proportions.
Similarly, GitHub's advanced features for team-based software development such as project issue tracking, code review, and various social features have made it the platform of choice for countless organizations/projects.
Azure DevOps’ services are compatible with a wide set of development tools, regardless of the framework or cloud you are using. Azure Pipelines give you continuous integration and continuous delivery that works for any programming language or cloud. You can even connect it to GitHub or any other Git repository. Using an Azure Pipeline, defined in a YAML file, you can deploy your code on Amazon AWS and Google Cloud Platform. The other services, such as Azure Boards and Azure Repos, complement this with Kanban boards for managing projects and scrum work items, private repository hosting, and more. This expansive feature set for DevOps is in many ways reminiscent of the way Gitlab, another Git source code management service, has pivoted to offering full lifecycle DevOps services in recent years.
GitHub’s feature set includes analogous features for the cloud version, with CI/CD provided by GitHub Actions. If you need on-premises hosting, similar to Azure DevOps Server, GitHub Enterprise provides all GitHub features in a self-hosted version. For even more features, including continuous learning for your team with custom GitHub Learning Lab courses, you can upgrade to GitHub One.
2. Ease of Use
Both offerings present a moderate learning curve, though this may be less of an issue for the average team (depending on what type of development is in question). For example, GitHub's born-in-the-cloud pedigree and familiar collaborative/social functions make it trivial for those with a basic command of Git and a penchant for social media tools to pick up. Microsoft-centric developers, previous Visual Studio Online users, and Azure cloud aficionados will at once feel at home with Azure DevOps’s dashboards and various development/management consoles.
Thanks to its excellent integration with IDEs like Visual Studio, Eclipse, IntelliJ, and Android Studio, Azure DevOps makes it easy for developers to manage services alongside their code. GitHub, on the other hand, has an interface that is consistently easy to use and provides an elegant experience to users. GitHub Desktop makes it easier to collaborate from your desktop development environment and is officially available for macOS and Windows.
3. Community Support
GitHub takes the cake in this category by design. As mentioned previously, the offering was designed from the ground up to be highly social and community-based; as a result, the offering's community support is unparalleled. Azure DevOps also commands a sizable following among both Microsoft-centric developers and open-source proponents alike but doesn't come close to GitHub when it comes to community support.
Azure DevOps users can find numerous questions and answers from the community over at Stack Overflow, where there are numerous questions tagged for Azure DevOps. Support is also available from Microsoft’s Azure DevOps virtual assistants. If you have an Azure Support Plan, you can get more comprehensive technical support.
The situation is a bit different for GitHub, where, in addition to all the community support and online documentation, all products come with support available via email. In addition, GitHub Enterprise Cloud customers can get enhanced support by signing up for GitHub Premium Support.
4. Release Rate
Azure DevOps Server has seen regular releases over the years, and—as an outgrowth of this offering— Azure DevOps is a beneficiary of many of its feature additions. That said, Azure DevOps is a relatively new offering, whereas GitHub Enterprise has seen multiple releases per month since its inception in 2011.
These products are both moving quite rapidly in terms of releasing bug fixes and product updates. Azure DevOps has seen releases at a cadence of about twice a month over the last several years. Features generally make it into Azure DevOps Server, the on-premises version of the product, a short while later than they make it to the cloud version.
GitHub also typically has multiple releases per month, and more frequently than Azure DevOps. These cover all the essentials, including security updates and new feature updates.
5. Pricing and Support
GitHub and Azure DevOps diverge significantly when it comes to pricing. Microsoft's offering is free for up to 5 users with an unlimited number of private repositories to boot. A free trial is available for Azure DevOps server, allowing you to download the product and try it on your premises.
When it comes to GitHub usage, all public open-source projects can be hosted free of charge—only private repositories incur a cost. Paid plans start at $7/month for personal use with unlimited private repositories and top out at $21 per user/month at the enterprise level (sold in packs of 10 users, billed annually). Enterprise plans allow you to host your team's code privately—either inside your own infrastructure or a private cloud.
With Azure DevOps, you can purchase per-user licenses to get bundles of services or units of usage for individual services. For example, the Basic Plan comes with user licenses costing $6 per user per month and gives you access to:
- Azure Pipelines
- Azure Boards
- Azure Repos
- Azure Artifacts
User licenses for the Azure DevOps Basic + Test Plans, which include access to the Test Plans service, cost $52 per user per month.
6. API and Extensibility
GitHub offers a rich, well-documented REST API for interacting with and manipulating various platform resources. All API access occurs over HTTPS with data sent/received in JSON format. Similarly, Azure DevOps' REST API is based on OAuth, JSON, and service hooks—enabling remote user/account access, build functions, Git repository actions, dashboard and widget actions, and more.
Being able to interface with your DevOps platform via API is important for automating your workflows as well as for the unique use case where you are developing an app around managing workflows, either for yourself or as a product for others. Azure DevOps has client libraries for its API available in these programming languages:
- C# and .NET
- Swagger 2.0
- Web Extensions SDK
GitHub also offers a powerful API that allows users to interface with their GitHub products as well as create GitHub Apps. In addition, starting with v4 of the GitHub API, GitHub has adopted GraphQL to make requests more flexible, efficient, as well as a return only the data that developers need in their API calls without the overhead of traditional REST APIs.
7. 3rd Party Integrations
GitHub features a myriad of integrations that allow developers to use their favorite 3rd party tools and services with the platform, from popular chat solutions like Slack and HipChat to CI/CD offerings such as Travis CI and Semaphore. Azure DevOps also features a host of extensions (e.g., Slack, Octopus Deploy, and even GitHub) for expanding the offering beyond its core capabilities.
The range of available tools that communicate with Azure DevOps includes not just marketplace extensions, but also:
- Desktop client developer tools
- Office integration tools (e.g. Excel, useful for those with batch jobs)
- Web-based tools
- Command-line tools
- REST APIs
Just like with Azure DevOps, the marketplace integrations are where you will find the greatest variety of integrations for GitHub, with GitHub Apps and Actions available for everything from continuous integration to IDE support and code review.
8. Companies that Use It
GitHub is used by government entities across the globe and the majority of leading tech enterprises in business today: Google, Adobe, Twitter, PayPal, Facebook, LinkedIn, Yahoo, and countless others. Azure DevOps' customer list—while respectable—is not as illustrious as GitHub's: Shell, Alaska Airlines, Hawaiian Airlines, Ordina, and OSIsoft, to name a few.
Paying attention to what the companies and developers that use these two competing products have to say about them can be helpful for making your own pick. In reviews, Azure DevOps is noted by users for being or having:
- feature-complete and extremely capable
- possessing a sizable extension ecosystem
- a one-stop-shop for build server, project management, CI/CD
- excellent Azure integration
For GitHub, the top strengths cited in reviews tend to be:
- ease of use
- used by developers around the world
- UI is minimal and allows you to focus on what's important
- readily available integrations and tools
- easy to incorporate in whatever workflow you may have
9. Learning Curve
When it comes to GitHub, those with experience with Git will find the offering easy to get up to speed with. Despite its relatively intuitive and well-designed interface, an abundance of widgets and tools can make Azure DevOps somewhat of a challenge to master. Additionally, its repository management features are less intuitive than Github's.
To help you learn these tools, you can use the official documentation as well as training materials available from both Microsoft and GitHub. For example, there are tutorials and videos available from Microsoft for Azure DevOps. Microsoft Docs also has excellent practical learning tutorials, however, there are relatively few of them dedicated to Azure DevOps.
GitHub makes the learning curve easier to navigate for its product with multiple user-friendly, fun courses in its Learning Lab. These hands-on tutorials will teach you everything from basics to advanced power user tasks you can complete with the various features of the platform.
10. Security rating
The Azure DevOps website has a number of shortcomings that make its website perimeter security less than ideal: lack of HTTP strict transport security, secure cookies, and an insecure SSL/TLS version. GitHub, on the other hand, scores an excellent security rating of 808 out of 950 for its bolstered website perimeter security.
The Azure DevOps site is somewhat behind, with a securityr rating of 751 out of 950. This score earns a B grade on our comprehensive cybersecurity rating.
A security rating is a standadized system that UpGuard maintains in order to standardize cybersecurity ratings among organizations with an online footprint. The score reflects an organization’s aptitudes in the areas of cybersecurity compliance, integrity, and security. A perfect score is 950, with 0 being the lowest. The higher the score the better off an organization is in terms of its cybersecurity profile.
Scoreboard and Summary
In short, if the intent is to build and collaborate on open source projects with the developer community at large, GitHub is the ideal platform. Just know that you'll be on the hook to pay if you decide to go private with your code repositories. Obviously, GitHub is a near-ideal fit as well if you are a corporate team with developers already used to working on the platform. Microsoft's Azure DevOps is a highly competitive offering with robust application lifecycle management tools—ideal for Microsoft-centric shops and Azure-hosted applications. Last but not least, both are reasonably priced and ship with a plethora of integrations for dovetailing into any number of toolchain compositions.