DevOps tools

Completed

What is Azure DevOps?

Azure DevOps is a platform created by Microsoft, which includes several services to help you with many of the DevOps activities.

Some tools offered by the cloud-hosted Azure DevOps include:

  • Azure Boards: organizes agile planning by work item tracking, visualization, and reporting.
  • Azure Repos: stores your code in public and private repositories.
  • Azure Pipelines: combines continuous integration (CI) and continuous delivery (CD) by automatically building and testing your code projects.

In addition to these three, Azure DevOps offers more tools to help organizations with their DevOps journey. Azure DevOps is designed as a platform, which means that you choose which of the tools you want to use. You aren't required to use all that Azure DevOps has to offer.

Many of the Azure DevOps tools work with a large variety of languages and are cross-platform. As we're exploring the relevance of DevOps principles and tools for machine learning projects, we'll focus on working with Python and Linux as they're most commonly used.

What is GitHub?

GitHub is an open-source development platform owned by Microsoft, which includes several DevOps tools like:

  • Issues: tracks your work items, feedback, and bugs.
  • Repos: stores public and private code repositories.
  • Actions: allows for creation of automation workflows.

GitHub and Git are often used together but aren't the same. Git focuses on source control and can be accessed from various tools. GitHub is a specific code-hosting provider that offers the Git system through a web-based graphical interface and combines Git repositories with other DevOps tools.

What is Git?

Git is a distributed source control system. Although there are other source control systems, Git is the most popular system available today and widely used for both open-source frameworks and machine learning projects.

The essential idea with Git is distributing the source control, meaning that every team member works on their own copy of the complete repository.

To work on a project simultaneously, Git offers trunk-based development with branching capabilities. By creating branches for your code project, you can edit the code without touching the main copy of the project. Once you complete your changes to the code, you can merge it with the main copy, for example via a pull request.