On-Premises Agents vs Microsoft-Hosted Agents in Azure DevOps: What is the Difference?
In today’s DevOps-driven development landscape, automation and continuous delivery are critical. One of the most essential pieces in this pipeline is the build agent — a machine responsible for executing tasks like building code, running tests, and deploying applications. In Azure DevOps, there are two primary types of agents: Microsoft-hosted agents and self-hosted (on-premises) agents.
This blog explores what each type offers, how they differ, when to use them, and which scenarios benefit from one over the other.

🚀 What Are Azure DevOps Agents?
Agents are computing infrastructure used to run your CI/CD jobs. They process build and release pipeline tasks defined in your YAML or classic pipeline.
You have two choices:
- Microsoft-hosted agents (cloud-based)
- Self-hosted agents (on-premise or cloud VM-based)
Microsoft-Hosted Agents
Microsoft provides pre-configured virtual machines with commonly used tools and SDKs installed (like .NET, Node.js, Python, PowerShell, Docker, etc.).
Benefits:
- No setup required — ready to use
- Updated weekly with latest tools and OS patches
- Auto-scaled — great for distributed teams
- Good for short and simple builds
Limitations:
- Limited concurrency on free tier
- Ephemeral agents — new machine for every run
- No customization of tools or OS
- No access to internal systems or secure resources
Self-Hosted (On-Premise) Agents
These are agents you set up and maintain yourself — either on your local data center or cloud-hosted virtual machines.
Benefits:
- Full control over tools, versions, and OS
- Persistent environments — useful for caching
- Secure resource access (databases, internal APIs)
- No build time limits
Limitations:
- You manage updates and maintenance
- Scaling requires manual provisioning
- Security and availability are your responsibility
Key Differences at a Glance
Feature | Microsoft-Hosted Agents | Self-Hosted (On-Premise) Agents |
---|---|---|
Infrastructure Ownership | Microsoft | You |
Maintenance | Microsoft | You |
Tool Customization | Limited | Full Control |
Network Access | Public resources only | Can access private/internal network |
Build Speed | Medium | Faster with caching |
Cost | Free with limits | Free but requires hosting infra |
When to Use Which?
Use Microsoft-hosted agents when:
- You want quick setup
- You run public or open-source projects
- You don’t need special tools or private network access
Use Self-hosted agents when:
- You need access to internal systems
- You require custom tools or older SDKs
- You want faster builds using persistent caching
- You have strict security or compliance requirements
Setting Up a Self-Hosted Agent
Here’s a brief look at how to configure a self-hosted agent on a Windows machine:
- Go to Azure DevOps > Project Settings > Agent Pools
- Click Add agent
- Choose your OS and download the agent
- Extract and run
config.cmd
to register - Run the agent as a service using
svc install
andsvc start
Final Thoughts
Choosing between Microsoft-hosted and self-hosted agents depends on your team’s needs for speed, control, security, and scalability. While Microsoft-hosted agents are ideal for getting started quickly, self-hosted agents offer the flexibility and control necessary for enterprise-level workflows or hybrid environments.
By understanding the trade-offs, you can design pipelines that are both efficient and tailored to your infrastructure.