Azure DevOps | Core Features and Differences
Recently, Microsoft announced a brand new cloud service available to all its customers: Azure DevOps. I want to take some time in this post to identify the core features of this service, as well as clearly differentiate it from Visual Studio Team Services (VSTS).
What is Azure DevOps?
Azure DevOps it is a collection of services used during the software development phase. All these services are interconnected between each other and can be orchestrated from one location. There is full support for services like:
- Task management and tracking (agile boards, including Kanban).
- Source control (Git).
- Build and release for CI/CD.
- Testing (load and performance testing, manual or exploring testing).
- Reporting and custom dashboard capability.
- CI/CD pipelines.
- Extension for integration with 3rd parties.
DevOps Services Overview
From a functionality perspective, many of these services are similar to those in the previous VSTS service. This is to be expected, as Microsoft has essentially consolidated the VSTS service through the following 5 pillars:
- Azure Pipelines – CI, testing, and deployment system that can connect to any Git repository (cloud or on-premises).
- Azure Board – tracking capability, including reporting and dashboard.
- Azure Artifacts – hosting capacity for NuGet, npm, and Maven.
- Azure Repos – private Git repository.
- Azure Test Plans – test management and capturing information about defects.
DevOps Services Details
Azure Pipelines give you the ability to define a release policy and request manual approval (signing) from specific people before releasing a new version in specific environments. The release can be either manual or automatic, giving us the flexibility to execute a manual release where automation it is not possible.
The collaborative services included as part of Azure DevOps allow us to define alerts to let group members know when specific actions are happening inside the system. You can also integrate with Power BI, allowing the management group to easily create a custom report and obtain important insights about the project and team.
Another key aspect of these services is that the other current Azure services already integrate with Azure DevOps. This enables you to use and deploy our products in all Azure Services. Of course, you can also deploy using the traditional mechanism of on-premise or other cloud providers.
Additionally, the support for Service Hooks can also extend the default capabilities of Azure DevOps. Using Service Hooks, we can integrate any other services from the market. Personally, I’m always a big fan of WebHooks due to its simple and powerful method of connecting and extending systems cross the world. Similar to VSTS, there is a full support to execute a build using Microsoft-hosted agents. If you’d like more information, you can also check out my previous post on the matter.
Some great things to remember
Remember that we can always use the build-in Git repository, hosted inside Azure DevOps. Alternatively, we can use any external Git or TFVC (Team Foundation Version Control System) clients. However, this isn’t reliant on whether or not its on-premises or in the cloud, as long as Azure DevOps can access the repository.
From a planning perspective, there are three native boards supported by default: Scrum, Kanban, and Scrumban. Aside from these, we can alos customize and modify the board, allowing us to create our own system for project tracking.
One of my favorite aspects of these services is the impeccable service included. The Service Level Agreement for Azure DevOps is 99.9%, with support engineers ready to help you at any time of day. It is absolutely critical to have 24/7 support like this when your team all works around the same source control and task management system in Azure.
A few days ago, I had a particularly bad experience with a Wiki service offered by another provider. It went down unexpectedly for around 2 hours in the middle of the day and the support team from their side was “offline”. Using Azure DevOps, you’ll never have to worry about that happening, thank goodness.
There is also full integration with Azure AD, which enables you to directly connect your organization with Azure DevOps. This allows for all the current security policies inside the organization to be automatically applied inside Azure DevOps.
Lastly, remember that under an Azure DevOps instance, you can create one or multiple organizations. Additionally, each organization can have one or multiple projects. Using organizations and projects, you can replicate your internal structure or your client’s structure, allowing you to totally split and control the access of your teams. Neat!
Extending Azure DevOps
Beside the build-in features, there are also four mechanisms available to further extend Azure DevOps’ capabilities:
- REST API – Used to create extensions that communicate with Azure DevOps.
- Service Hooks – Triggers events when specific actions are occurring inside your system, or vice-versa.
- Visual Studio SDK – Extents existing features of Visual Studio and shares it with the rest of your team.
- Visual Studio Marketplace – Provides extensions that can be installed and used on your development or back-end systems, providing new capabilities.
User Roles and Abilities
Inside Azure DevOps, there’s a clear list of roles that a given user can have. Each role allows a user to do specific activities or have access certain content. Below you can find a high-level overview of the different roles inside Azure DevOps:
- Software Developer – Changes the code and tasks. Can see project history and much more.
- Project Manager – Oversees task management, reporting, and queries. Uses and manages dashboards.
- DevOps – Defines and manages builds, unit tests, performance and exploring tests, pipelines, and deployment.
- Stakeholders – Can see tasks and content, provide critical feedback. However, cannot make changes to the code.
- Team Administrator – Sees board, backlog, and any activity at the team level.
- Project Administrator – Has full control at the project level.
- Organization Owner – Exercises full control at the organization level, including billing.
Pricing can vary since it largely depends on the specifics of your project and organization. Here are the main factors when to calculate the monthly price:
- Number of users
- Type of users that have access
- Number of pipelines
- Hosted type of pipeline (Microsoft-hosted or self-hosted)
- Azure test plans
- Load testing complexity
- Hosting artifacts in a private repository
Ultimately, I believe it was a smart choice for Microsoft to carry out this re-brand. Simply put, the old VSTS was much more than a TFS, and so a distinction needed to be made. The new name Azure DevOps more closely reflects the extensive capabilities provided: a full Azure Services experience that enables you to completely control and manage your software development process – from development and testing, all the way to deployment and QA.
Discover more Cloud topics with Luminos Labs
Did you find this post helpful in exploring Azure DevOps and all that it has to offer? We’re happy to provide you the answers you’re looking for in this exploratory article, as we’re highly passionate about all things cloud.
The Episerver platform also leverages the cloud, and it’s one most cloud-capable options on the market. Our teams across the world are experts at helping companies implement the platform efficiently and effectively. We also consult with the client to integrate valuable 3rd party systems – like OrderDynamics and Tealium – seamlessly into the platform.
Find out what Luminos can do for your business. We work with clients of varying sizes and industries, so we’ve got the experience to find the solutions you need. All initial consultations are free of charge. And if now just isn’t the right time, then please feel free to subscribe to our weekly newsletter for more e-commerce updates, trends, and announcements.