Azure DevOps Overview
Now a days Azure DevOps is very famous with IT and Operations team along with developers, so what is Azure DevOps? It is a Software as a service (SaaS) platform from Microsoft that provides features right from project management to version control to orchestrating CI CD and test management. It provides set of toolchains manage projects, versioning of your source code, providing tools to build source code and release the generated outputs to desktops, servers or cloud and facility for manual testing of applications. It provides a collaborative platform to share ideas and communicate with team members throughout the development life cycle and beyond.
Azure DevOps has lot of features for every stage in application lifecycle, but still provide integration points to connect with other tool chains from various vendors to enhance the experience DevOps or provide extended functionalities, thus makes it very flexible DevOps platform. Azure DevOps is built from scratch with concepts of providing a single platform for end-to-end DevOps scenarios, hence all the data of various roles and departments resides in Azure, thus providing easy mechanism to achieve transparency and traceability for the project teams. At Canarys throughout our interaction with customer for a period of more than decade we have found many have adopted TFS or the cloud offering Azure DevOps in large scales regardless of the technologies, languages or platform the teams work or use.
What are the high-level services from Azure DevOps?
Currently Azure DevOps provides the following services:
Azure Boards: Basically, a project management service, to define Features, User Stories, Task, Bugs and other work with Kanban, Scrum and Agile tools. You can plan the work, track the progress, and collaborate across teams about the updates to work. Azure Boards also comes with work item queries dashboards for visualization of status of work, velocity of teams, sprint burn-down and burn-up, slippages, quality of application being developed, status of Build and Release pipelines etc.
Azure Repos: Basically, a cloud hosted git-based repository management service. Azure Repos provides version control mechanism to manage your code efficiently, to track history like who has done what changes and when. Azure repos help us to keep track of major milestone in development, and easy way to fetch or revert to code instance of that milestone through labels/tags.
Azure Pipelines: Basically, an orchestration services for continuous integration and continuous deployment or delivery of the application. The pipelines can be defined using both task based classic editor where you can drag and drop task to perform certain actions or by using YAML based which follows pipeline as code concept. The pipelines in written in YAML script and version controlled in Azure Repos and hence treated as code. Azure pipeline supports orchestration of CI CD for any language, technology or platform application and to deploy to on-premise or any cloud environments. It also supports building docker image and deploying containers on Kubernetes, AKS etc. Azure Pipelines in general supports integration with other tool chains for enabling code scanning, testing and for other automations. You can also Azure Pipelines for compile code from different version control tools like Subversion (SVN), GitHub, Bitbucket cloud etc. you can use all the Azure DevOps services or just Azure Pipelines for CI CD, that much flexibility is available and economically viable.
Azure Artifacts: Azure Artifacts is an extended service which provides package repository management service. With Azure Artifacts you can easily manage multiple package repository both public and private. You can create feeds for Maven, npm, Python and NuGet package feeds from public or private sources. And also create feeds for private packages within the organization and between multiple teams, hence encouraging collaboration culture by share reusable components.
Azure Test Plans: Azure Test Plans or Test Case Management provides browser-based test management services with capabilities required manual testing, exploratory testing, and even involve business stakeholders to provide feedback for the application. You can do manual, user acceptance, exploratory testing and provide feedbacks using feedback management feature. Test cases will be linked to user stories, and when bugs are found in applications during testing those also get linked to test cases and stories, this provides an end-to-end traceability. This helps managers to track quality of requirements being developed and deployed.
You can use all the services mentioned above which are provided by Azure DevOps or you can choose to use the services just required to enhance your existing tool chain. Few examples are
- Use Azure Boards with GitHub seamlessly for project management
- Use Azure Repos and other CI CD tools like Jenkins, which works perfectly
- Use Azure Pipelines with version control tools like Subversion (SVN), GitHub Cloud, GitHub Enterprise Server, Bitbucket Cloud or any other Git based repositors.
- You can use only Test Plans to test any browser-based applications
Canarys has been assisting customer for more than a decade in implementing DevOps practices using Azure DevOps and other tool chains. We provide services such as setting up Azure DevOps Account, implement devops features, process customization, migration from other tools to Azure DevOps, define CI CD workflows to build and deploy applications to Azure VMs, App Services, and Containers.