Also, the free Git Tools for Azure Devops extension designed for synchronise one Git Repository with another may help for your scenario. In addition: If you do like this sync feature, feel free to submit a feature request here in Azure Devops's User Voice forum. The product team would consider about your idea and gives reply if there's any update. Azure DevOps provides unlimited private Git hosting, cloud build for continuous integration, agile planning, and release management for continuous delivery to the cloud and on-premises. Includes broad IDE support. What is Github Actions? Automate your workflow from idea to production. Task 1: Integrate Microsoft Teams with Azure DevOps and GitHub Launch Microsoft Teams - you can either open the web app or download the app to your desktop from here Azure DevOps Services integration with Microsoft Teams provides a comprehensive chat and collaborative experience across the development cycle. On-premises Azure DevOps Servers support integration with GitHub Enterprise Server repositories. To connect Azure Boards to GitHub.com, connect and configure from Azure Boards. Or, alternatively, install and configure the Azure Boards app from GitHub. The starter workflow template can be added directly to your project in a few simple steps, and with minimal configuration, allowing you to quickly set up a DevOps workflow in GitHub. Like the.NET Core starter workflow template, this.NET Core Desktop template provides the commands to build and test your application on any of GitHub’s.
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.
GitHub
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.
Azure DevOps | GitHub | |
Ease of use | 4/5 | 4/5 |
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.
Github Desktop For Linux
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.
Azure DevOps | GitHub | |
Release rate | 4/5 | 5/5 |
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
- Node.js (JavaScript)
- Python
- Go
- 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.
Azure DevOps | GitHub | |
API and extensibility | 5/5 | 5/5 |
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
- reliable
Azure DevOps | GitHub | |
Companies that use it | 4/5 | 5/5 |
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.
Read more about security ratings here.
Azure DevOps | GitHub | |
Security rating | 751 | 808 |
Scoreboard and Summary
Azure DevOps | GitHub | |
Capability set | 5/5 | 5/5 |
Ease of use | 4/5 | 4/5 |
Community support | 4/5 | 5/5 |
Release rate | 4/5 | 5/5 |
Pricing and support | 4/5 | 4/5 |
API and extensibility | 5/5 | 5/5 |
3rd party integrations | 5/5 | 5/5 |
Companies that use it | 4/5 | 5/5 |
Learning curve | 3/5 | 4/5 |
Security rating | 4/5 | 5/5 |
Total | 4.2/5 | 4.7/5 |
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.
-->Azure DevOps Services | Azure DevOps Server 2020 | Azure DevOps Server 2019 | TFS 2018 - TFS 2015
Choose a method to securely access the code in Azure Repos, Azure DevOps Server 2019, or Team Foundation Server (TFS) Git repositories.Use these credentials with Git at a command prompt. These credentials also work with any Git client that supports HTTPS or SSH authentication.Limit the scope of access and revoke these credentials when they're no longer needed.
Important
Github
Azure DevOps no longer supports Alternate Credentials authentication since the beginning of March 2, 2020. If you're still using Alternate Credentials, we strongly encourage you to switch to a more secure authentication method (for example, personal access tokens). Learn more.
Azure DevOps Server was formerly named Visual Studio Team Foundation Server.
Tip
Using Visual Studio? Team Explorer handles authentication with Azure Repos for you.
Note
Visual Studio 2019 now includes a new Git tool that provides an improved experience when connecting to a Git repository. When you enable this tool, the Team Explorer tool is effectively disabled when connected to a Git repository. You can acquire the new tool by downloading Visual Studio 2019 version 16.6. To enable and use the new tool, see Git experience in Visual Studio (Preview).
Authentication comparison
Authentication Type | When to use | Secure? | Ease of setup | Additional tools |
---|---|---|---|---|
Personal access tokens | You need an easy to configure credential or need configurable access controls | Very secure (when using HTTPS) | Easy | Optional (Git credential managers) |
SSH | You already have SSH keys set up, or are on macOS or Linux | Very secure | Intermediate | Windows users will need the SSH tools included with Git for Windows |
Personal access tokens
Personal access tokens (PATs) give you access to Azure DevOps and Team Foundation Server (TFS), without using your username and password directly.These tokens have an expiration date from when they're created. You can restrict the scope of the data they can access.Use PATs to authenticate if you don't already have SSH keys set up on your system or if you need to restrict the permissions that are granted by the credential.
Use Git Credential Manager to generate tokens
The Git Credential Manager Core is an optional tool that makes it easy to create PATs when you're working with Azure Repos.Sign in to the web portal, generate a token, and then use the token as your password when you're connecting to Azure Repos.
PATs are generated on demand when you have the credential manager installed.The credential manager creates the token in Azure DevOps and saves it locally for use with the Git command line or other client.
Note
Current versions of Git for Windows include the Git credential manager as an optional feature during installation.
SSH key authentication
Key authentication with SSH works through a public and private key pair that you create on your computer.You associate the public key with your username from the web. Azure DevOps will encrypt the data sent to you with that key when you work with Git.You decrypt the data on your computer with the private key, which is never shared or sent over the network.
SSH is a great option if you've already got it set up on your system—just add a public key to Azure DevOps and clone your repos using SSH.If you don't have SSH set up on your computer, you should use PATs and HTTPS instead - it's secure and easier to set up.
Learn more about setting up SSH with Azure DevOps
OAuth
Azure Devops Github Desktop Tutorial
Use OAuthto generate tokens for accessing REST APIs. The Accountsand ProfilesAPIs support only OAuth.
- SSH authenticationto generate encryption keys when you use Linux, macOS,or Windows running Git for Windowsand can't useGit credential managersor personal access tokens for HTTPS authentication.