top of page
  • Writer's pictureHaflidi Fridthjofsson

A first look at revolutionizing your cloud deployments with Azure Managed DevOps Pools.

Updated: Aug 5


Architecture overview of Azure Managed DevOps Pools (MDP)
Managed DevOps Pools (MDP) Architecture overview

Recently Azure Managed DevOps Pools (MDP) went into Public Preview.

 

I know this for a fact that this new product, which I have been so lucky to be actively involved in and testing alongside PMs, Engineers, and fellow MVPs for several months now with a great success, will revolutionize the deployment of infrastructure and applications in Azure, especially when it comes to private networking, secure environments and demand for high performance agents at a lower cost.

 

Remember the "Old" and almost the only way of having a Scalable Self-Hosted Agents that has connection towards your private network the "good" and the "bad" Azure Virtual Machine Scale Set agent pools (VMSS)!?

 

Introducing Azure Managed DevOps Pools.

 

Azure Managed DevOps Pool (MDP) is the next evolution of VMSS, it's a fully managed service by Microsoft where the virtual machines or containers that power your agents live and breathe inside the prestigious Microsoft Azure subscription and not in your own Azure subscription, like they do when you are using the "classic" VMSS or other Infrastructure to host your agents, Azure Managed DevOps Pool (MDP) brings a simplification on custom pool creation, improves scalability and reliability of those custom pools, and offers extensive features and enhancements.

 

Does that mean that Azure Virtual Machine Scale Set Agent Pools (VMSS) are going away? No they are still a viable option. However MDP are much easier to setup with few clicks and have enhanced features.

 

What I personally find the most interesting feature is the possibility to use it with your own network, so to say you can inject the agents into your subnet and they can communicate safely and securely with your private Azure resources, eliminating the need to deploy self-hosted agents for deployment jobs, for me this has always been the largest barrier to cross when using Azure Pipeline hosted agents in Azure DevOps.

 

Other Interesting takeaways are:

  • The possibility to picking your own Agent Images.

    • It gives you the flexibility to use the same image as the Azure Pipeline Hosted Agents without having to create them yourself, ensuring you always have access to the latest and freshest image from Microsoft.

    • Standard Azure VM Images are also available.

    • Or any other image that you create yourself and keep in an Azure Image Gallery.

  • No more limitations to the fixed performance of the Azure Pipeline Hosted Agents as you can now pick the VM Size and performance.

  • It's highly scalable.

    • You can choose how many agent VMs you want to have in the pool.

    • As well as the minimum number of standby agents to accept pipeline executions. (Psst! You can set the standby agent count to zero to save some bucks, as VMs will be created on-demand with about 20-30 second setup delay, take this with a pinch of salt as it might be bit shorter or longer.)

    • If you need to keep one or more standby agents running to quickly execute your pipelines, you can set the specific days and hours they should be available, as well as the number of agents at any specific time, giving you full flexibility of control and to further minimize the cost of having standby agents running 24/7

  • You only pay for cost of the running agent VMs and they are licensed under the Self-hosted agent parallel job license in Azure DevOps, hence if you have for example 2 licenses for Self-hosted Agent parallel jobs you can run two parallel jobs in the pool and so on.

 

What are the benefits of using Azure Managed DevOps Pools (MDP) ?

 

Managed DevOps Pools offer several benefits for managing Azure DevOps agent pools.

  • They significantly reduce the time spent on managing CI/CD infrastructure, allowing teams to focus on other tasks.

  • The service enables the creation of team-specific pools, preventing noisy neighbor issues and tailoring pools to individual team needs.

  • It supports worry-free self-service, allowing development teams to create custom pools without compromising governance.

  • Additionally, Managed DevOps Pools optimize Azure costs, provide scalability up to thousands of agents simultaneously, ensure high reliability with minimal downtime, and enhance security with Microsoft’s best practices.

 

So what is the cost of Azure Managed DevOps Pools (MDP) ?

 

Reducing cost and utilizing your cloud environment is always something that is on everyone's mind and you might wonder if this new service is going to cost you an arm and a leg, but surprisingly it's a "simple" cost model and follow mostly the same cost model as running a Virtual Machine, but I guess it will always come down to how you set up your agents, create schedules and utilize MDP, least my prediction is that it's probably going to cost you a bit less than running your own VMSS and doing everything on your own, when taking in consideration that you need to create and maintain your own images, spending valuable time on those tasks where it could be spent on more important tasks.

 

To summarize

Azure Managed DevOps Pools (MDP) represent a significant advancement in managing agent pools for Azure DevOps. With MDP, you gain simplicity for your teams, scalability and reliability. Additionally, the ability to use your own network for secure communication is an absolute game-changer.

 

I am certain that Managed DevOps Pools (MDP) will be widely used for simplifying the management of Azure DevOps agent pools and streamlining CI/CD workflows. I'm really excited to see further development and the potential that it will bring going forward.

 

In the coming weeks I will be posting more detailed post about how to get started setting up the environment, as well as working on a Azure Verified Module for Terraform that will simplify the setup process.

 

In the mean time I highly recommend you to have a look at the documentation to get started.

 

Other posts from the community on the same topic.

Fellow MVPs that have also written great posts within the same topic, that I highly recommend you to check out!

 

Additional information


Until next time, thank you so much for the support and I really appreciate you dear reader.

667 views1 comment

1 Comment


aleqs__
Aug 21

Hi,


Firstly, I'd like thank you for a great post and great work on Managed DevOps Pools!


Some questions:

  1. You include: "...where the virtual machines or containers that power your agents...". When playing around a bit with MDP in Azure, I can't seem to find how to run the agent in a container image instead of a VM image. Could you please point me in the right direction?

  2. For our VMSS agents, we incur costs during periods even when the agent is idle or in a boot/teardown state (i.e., the VM runtime when the Azure DevOps agent isn't active or serving any pipelines). Will this be the same for MDP? Specifically, will we only be charged for compute power during the actual…


Edited
Like
bottom of page