Azure DevOps Vs Github?
It was in 2008 when the idea of DevOps was originated by Patrick Debois (originally as DevOpsDays) while he was discussing the fuss between the Development and the Operations sections’ of a company with Andrew Clay Shafer. This discussion was carried out on the usage of Lean practices and Agile principles in Toronto, Canada. Hence, DevOps, as a whole, is a Cultural change that included the automation of processes as code development and review through continuous integration, while allowing for version control. It is the automation that makes the agile development cycle possible by merging different functions from software testing to deployment.
Azure DevOps is the platform by Microsoft that uses Software as a Service(SaaS) providing the whole DevOps toolchain for developing and deploying the software.
Azure DevOps Repos or formerly known as “Azure Repos” is a set of tools of version control that help us to co-ordinate with the code changes across the team. It provided an Unlimited number of private repositories and pull requests and code search.
Azure Repos provides two types of version control:
- Distributed Version Control – Git
- Centralized Version Control – Team Foundation Version Control
Git is an open-source version control tool that looks after the changes with our software without overwriting the previously built code. Github, on the other hand, is a cloud-based platform built around git tool to provide services like version control along with other features that are not native to the git tool.
Let’s dive deeper into Azure Repos and Github.
Just to give an idea of what you are diving into, here is a diagram for you:
WORKFLOWS
Git in Azure DevOps is standard git. Thereafter it defines its workflows as follows:
GITHUB REPO WORKFLOW
Github being a git repository is capable of hosting services along with supporting features of its own.
Here is the workflow:
Microsoft was acquired in 2018, it added integration features that allow Azure DevOps users to seamlessly make use of Github as well.
FEATURES
AZURE REPOS
Being Agile software management provides flexible reporting and metrics for easy project management.
GITHUB
Being a Version Control Management System, the commits to the repositories help us to know who made the commit and when.
CONCEPTS
AZURE REPOS
- BRANCH
These are lightweight references that keep a record of the commit and lets us isolate code from other baches and work. Committing to a particular branch doesn’t affect others.
- BRANCH POLICIES
These provide the security to the important branches (like master) by enabling some features like building the code changes before it gets committed.
- CLONE
Cloning is producing your own copy of the central repository locally. It downloads all the files and the related dependencies of the repo to your local machine.
- COMMIT
Committing changes are simply saving the changes to the repo (the local repo).
- FORK
Forking a repository is making a new copy of the repository including all the files and commits to your account. It is like cloning the original copy.
- GIT & GIT WORKFLOW
Git is an open-source licensed version control tool. It is one of the most used tools for version control. Due to its Distributed version controlling type out local repo is exactly the copy of the central and therefore makes it easy for working remotely. It follows a certain workflow that goes like :
- NOTIFICATIONS
Notifications via email help you know about any activity occurring in the project.
- PROJECTS
A team carrying out software management is inside a project undertaken.
- PULL
This is downloading all the changes committed by the team to the repo after a sprint.
- PUSH
Pushing the changes to the Github is finally uploading the changes from the local repository (the one we cloned) to the central repo.
- PULL REQUESTS
Pull requests are a way to review and merge the changes to the Github repository.
- REPOSITORY
Repository shortened as “repo” is a bunch of files and folders focusing on a specific project. All kinds of manipulation are done in this folder.
GITHUB REPOS
- FORK
- CLONE
- BRANCH CREATION
- COMMIT
- PUSH
- PULL
- MERGE
The concepts of Github Repos and Azure Repos are more or less the same. The differences are not that diverse. Hence, they are covered inside the Concepts of Azure Repos.
PRICING
AZURE REPOS
Point pricing for business needs, else all of its packages are free to access.
GITHUB
Pricing for teams and business repositories. Free unlimited public repos with limited storage.
IMPLEMENTATION
If a company undertakes a large enterprise project in Microsoft technologies then it should go for Azure Repos because of its wide management schema and efficiency. Azure Repos include DevOps practices which help us to improve the whole CI/CD pipeline for software delivery – all under the MS umbrella. And if a company undertakes a variant, mixed technology and vendor tools project then Github Repos may be a better option for the breadth of the community and the wider adoption beyond MS.
Add Comment
You must be logged in to post a comment.
Shashwat Kumar
Great article