Background
Software development includes several processes like defining scopes, requirement specifications, and use cases, designing solution architects, converting use cases to tasks, writing code, testing and validations, managing releases, and deployments, and then maintenance. These tasks are repetitive and can be a highly manual process that can significantly be prone to errors. The software development process comprises different teams from operations, development as well as business. Day by day, these processes are becoming more complex, which shows the need for proper tools and practices to handle them. Additionally, technology had drastically changed and evolved in the last decade, which again adds complexity to the development process. Because development, implementation, and operational teams having different skill sets are involved together in the software development process, and they can be out of sync, can lack proper visibility which can delay the overall delivery and result in disappointing the business stakeholders.
To overcome complex situations and manage efficiently, we have DevOps.
DevOps is not a technology or a standard, it is commonly referred to as culture, DevOps culture.
DevOps is a software development culture or practice that creates collaboration among development and operations to speed up quality software delivery in efficient way. DevOps includes core development, IT Operations, quality engineering, and security to work together to produce reliable and better products faster.
To know more about DevOps and its principles: DevOps and Its key Principles
Azure DevOps provides a complete platform for DevOps operations and follows the culture. Azure DevOps provides end-to-end solution for DevOps.
In this article, I will introduce and elaborate on Azure DevOps, and its services.
Azure DevOps
Azure DevOps, earlier called as Visual Studio online, is a Microsoft product or platform for DevOps workflows. The recent version of Azure DevOps provides several exciting features to perform end-to-end DevOps operations and workflows. This platform offers a common workspace for related teams and stakeholders to plan, work, collaborate, build, develop, and deploy software applications. This Azure DevOps provides a set of processes that bind developers, product owners, contributors, and other related stakeholders to work together transparently and achieve a common goal, quality software application. Furthermore, it provides smooth and faster delivery of an application compared to the traditional approach.
It comes with both cloud and on-premises. The cloud version is called as Azure DevOps Services and on-premises is Azure DevOps Server. However, we can access Azure DevOps through web browser or IDE Client with all the integrated features.
Azure DevOps Service
It is a cloud-based Azure DevOps as a SaaS model. This is a cloud offering with 99.9 % SLA, highly scalable, secured, and can be accessed globally.
Azure DevOps Server
This is an Azure DevOps for on-premises environment and is deployed in the local server when customers need to secure their data in their local network and server. This Azure DevOps uses SQL server as backend.
Both options provide all the necessary features and services for complete DevOps workflows.
Azure DevOps Features
Now, we will explore a bit more on Azure DevOps Features. Azure DevOps provides exclusive features from project creation, following project methodologies, defining teams, managing project code repositories, task management boards, build pipelines, release pipelines, test planning and execution, and azure artifacts. We can choose the features based on business needs. Below are the features of Azure DevOps.
Overview and Dashboard
Azure DevOps provides project summaries like project scopes, project stats, members. Furthermore, we can create one or multiple dashboards with several reports. There are all the necessary reports options as well as to add custom reports/queries.
Azure Board
Azure DevOps provides rich capabilities to manage tasks and projects through Azure Board. This board provides highly configurable, customizable, and interactive tools to track tasks, issues, bugs, code defects, and resources involvement related to your project. Additionally, This Azure Board fully provides native support to various project methodologies like Kanban, Scrum, Agile, and so on. This tool is scalable and can be adapted as per organizations project practices. Furthermore, we can generate various integrated or personalized reports.
Azure Repo
Azure Repo is a version control system for managing the source code which keeps the track of it with many options. Basically, it is software to track the changes of files mostly used for coders to work collaboratively and source code management during the software development. Azure Repo is quite helpful for every kind of software projects, small to large scale, for every team size. It keeps track of every code change. It provides support for two types of version controls: Git and Team Foundation Version Control.
Azure Pipelines
Azure pipelines feature is used to create workflows to automate the builds and tests so that we can enable continuous Integration CI and Continuous Delivery CD. Based on the project type and language, Azure Pipelines provides build agent and run test task, so that working code is available for others. It provides workflows for both release and build pipelines with numerous exclusive features.
Azure Test Plans
This is a powerful tool that provides end-to-end testing of the projects for quality delivery. You can write test cases, run manual or automated testing cases with all the required capabilities managing software testing, user acceptance testing, collaborate with development teams and process as well as stakeholders.
Azure Artifacts
Azure Artifacts basically allows developers to share and consume the packages like npm, NuGet, Maven and from various private and public sources to include in project Azure pipelines.
Conclusion
In this article, I have elucidated what is Azure DevOps with its features. I have explained about Azure DevOps Service and Azure DevOps Server, and subsequently, I have briefly described each feature of Azure DevOps.