First page of Microsoft's 100,000-partner directory, sorted by responsiveness Microsoft Solutions Partner — Security, Modern Work, Infrastructure, App Innovation Microsoft partner since 2006 1,100+ organizations under management
Home/Services/Azure DevOps Server to Azure DevOps Services Migration
MigrationDevelopment

Azure DevOps Server to Azure DevOps Services Migration

Azure DevOps Server to Azure DevOps Services Migration moves your on-premises Azure DevOps Server (or Team Foundation Server) collection into Microsoft's cloud-hosted Azure DevOps Services with full fidelity — work items, Git and TFVC repositories with complete history, test plans, and pipeline definitions — using Microsoft's official Data Migration Tool. IT Partner runs the readiness validation, prepares the Microsoft Entra ID identity mapping, executes a dry-run import into a staging organization, performs the production import in an agreed cutover window, and reconnects what the tool does not carry: build agents, service connection credentials, and extensions. The estimated price is $3,950 per project, confirmed as a fixed written quote after the readiness assessment and before any work begins; typical duration is about 3 weeks.

Timeline 3 weeksService owner Alex NikulinAzure DevOpsMicrosoft AzureMicrosoft Entra ID

What this engagement is

On-premises Azure DevOps Server estates rarely fail loudly — they age out quietly, together with the Windows Server and SQL Server versions underneath them. Microsoft's investment is visibly in the cloud service: new capabilities land in Azure DevOps Services first, and keeping a server current means recurring upgrade projects just to stay supported. The way off this treadmill is Microsoft's own high-fidelity import path — the Azure DevOps Data Migration Tool — which moves an entire collection database into a new Azure DevOps Services organization with history intact. The tool is real and proven, but it is genuinely fiddly, which is why this is a service and not a download link. It only supports the two most recent Azure DevOps Server releases at any time, so older TFS and Azure DevOps Server versions must first be upgraded to a supported level — and support for the very newest server release typically comes online weeks after it ships, which affects scheduling. Every identity in the collection must be mapped to a Microsoft Entra ID account, and a sloppy mapping file quietly strands users and history attributions. The import itself goes through validation, preparation, and a dry run into a staging organization before anyone touches production, and larger collections take a different technical import path than small ones. After the import, the pieces the tool deliberately does not carry must be rebuilt by hand: self-hosted build agents re-registered, service connection secrets and personal access tokens re-created, marketplace extensions re-installed. IT Partner runs this entire sequence — readiness through cutover through post-import validation — and hands your team a working organization, signed in, building, and releasing. Scope boundaries are explicit: a single supported-version upgrade hop is included where required; multi-hop upgrades of very old TFS servers are scoped in the written quote; wholesale pipeline modernization (for example converting classic pipelines to YAML at scale) is its own engagement; and if your destination is GitHub rather than Azure DevOps Services, that is a different project we also scope.

Success criteria

01The readiness assessment produces a written migration plan: server version and upgrade path, collection size and import method, identity state, validation findings, and the cutover window.
02The Data Migration Tool validation passes cleanly on the production collection before the dry run is attempted.
03The dry-run import into a staging organization completes, and your team verifies work items, repository history, test plans, and pipeline definitions against the source.
04The production import completes within the agreed cutover window, and users sign in to the new organization with their Microsoft Entra ID accounts, correctly mapped to their history.
05At least one representative build and one release run green in the new organization on reconnected agents and re-created service connections before closeout.

What you receive

Readiness assessment: Azure DevOps Server / TFS version check against the Data Migration Tool's supported matrix, collection size and import-method determination, identity and Entra ID readiness review, and a full validation run with findings.
Remediation of validation findings and, where required, one in-place upgrade hop to a Data Migration Tool-supported Azure DevOps Server version (multi-hop upgrades of older TFS versions are scoped in the written quote).
The Microsoft Entra ID identity mapping file, prepared, reviewed with you, and validated — so users, history attributions, and permissions survive the move.
A dry-run import into a staging Azure DevOps Services organization, with a structured verification pass and sign-off checklist for your team.
The production import executed in an agreed cutover window, using the import method appropriate to your collection size.
Post-import reconnection of what the tool does not carry: self-hosted agent pools re-registered, service connections re-created with fresh credentials, marketplace extensions re-installed, and one representative build and release verified green.
Post-import validation with your team — work items, Git/TFVC history, test plans, dashboards, permissions — plus decommissioning guidance for the old server and a closeout report.

How the work unfolds

1. Readiness and validation (week 1)

We inventory the server and collection, check the version against the Data Migration Tool's currently supported releases, run the tool's validation against the production collection, and review identity state in Microsoft Entra ID. The output is a written plan — including the import method for your collection size and any upgrade work needed first — and the fixed quote is confirmed on this basis.

2. Preparation and identity mapping (week 1–2)

Validation findings are remediated, the required upgrade hop is executed if your server is below the supported matrix, and the identity mapping file linking on-premises identities to Microsoft Entra ID accounts is built and reviewed with you. If your users are not yet in Entra ID, that is a prerequisite project we will name honestly rather than improvise around.

3. Dry-run import and verification (week 2)

We import the collection into a staging Azure DevOps Services organization and walk your team through a structured verification: work item queries, repository history spot-checks, test plans, pipeline definitions, and sign-in with mapped identities. Nothing proceeds to production until you sign this off — the dry run is where surprises are allowed to happen.

4. Production cutover (week 3)

In the agreed window, the source collection is taken offline, the final import runs, and the new organization comes up. Downtime length depends on collection size and import method — it is estimated from the dry run, not guessed. Users return to work in Azure DevOps Services with their identity and history intact.

5. Reconnection, validation, and closeout (week 3)

Agent pools are re-registered, service connections re-created with fresh secrets, extensions re-installed, and a representative build and release verified green. We run the post-import checklist with your team, hand over documentation including decommissioning guidance for the old server, and close out.

Prerequisites

Administrative access to the Azure DevOps Server / TFS application tier and its SQL Server database, and a maintenance window for the final cutover.
A Microsoft Entra ID tenant with your development users present (synced or cloud-native) — identity mapping targets Entra ID accounts. If your users are still only in on-premises Active Directory, see the On-premises Active Directory to Microsoft Entra ID Transition service first.
Rights to create the destination Azure DevOps Services organization, and a decision on its name and region.
An Azure subscription for temporary staging resources where the collection's size requires the SQL-based import path (torn down after the migration).
Azure DevOps Services licensing for your users after cutover (Microsoft's per-user pricing, billed by Microsoft — verified during readiness, not sold through this fee).
A named technical contact on your side for identity-mapping review, dry-run verification, and cutover sign-off.

Who does what

IT Partner

  • Run the readiness assessment, validation, and remediation, and confirm the fixed quote in writing.
  • Execute the in-scope server upgrade hop where required.
  • Prepare and validate the Entra ID identity mapping file.
  • Perform the dry-run and production imports and manage the cutover window.
  • Reconnect agents, service connections, and extensions, and verify a representative build and release.
  • Deliver post-import validation, decommissioning guidance, and the closeout report.

Your team

  • Provide access to the server, database, and Entra ID tenant, and approve the cutover window.
  • Review and sign off the identity mapping and the dry-run verification.
  • Communicate the cutover to your development team and enforce the freeze on the old server during final import.
  • Provide fresh credentials for service connections (the old secrets do not migrate and should be rotated anyway).
  • Own Azure DevOps Services licensing and any Azure costs for temporary staging resources.
  • Decommission the old server after the agreed verification period (with our written guidance).

What's not included

Wholesale pipeline modernization — converting classic build and release definitions to YAML at scale, redesigning branching strategy, or introducing approval gates and workload identity federation. That is the Azure DevOps and GitHub CI/CD Pipeline Implementation engagement, and it pairs naturally with this migration as a phase two.
Migration to GitHub instead of Azure DevOps Services — a different destination with different tooling and trade-offs. We scope that as its own project; tell us your target and we will quote the right one.
Multi-hop upgrades of very old TFS versions (for example TFS 2013/2015 era servers several versions below the supported matrix) beyond the single included hop — identified in the readiness assessment and scoped in the written quote before work begins.
Selective or project-level migration, merging multiple collections into one organization, or cross-organization moves using third-party tooling — the Data Migration Tool imports whole collections one-to-one; anything more surgical is a separately scoped engagement.
Process template redesign, work item schema consolidation, or organizational restructuring in the new organization beyond what the import carries over.
Azure DevOps Services licensing and Azure consumption costs — billed by Microsoft; we verify what you will need during readiness.
Post-migration managed operations or ongoing administration of the new organization (available separately if needed).
Decommissioning execution of the old server and its Windows/SQL hosts — we provide written guidance; if the underlying servers themselves need moving to Azure, see the Windows Server Migration to Azure service.

Limitations & technical notes

!The Data Migration Tool supports the two most recent Azure DevOps Server releases at any given time, and support for the newest release typically comes online some weeks after it ships. Scheduling is planned around Microsoft's supported matrix as it stands at execution time.
!One collection imports to one new Azure DevOps Services organization. Multiple collections mean multiple organizations (or a separately scoped consolidation project).
!The final import requires downtime on the source collection; its length depends on collection size and import method and is estimated from the dry run.
!Secrets do not migrate by design: service connection credentials must be re-entered, and users must create new personal access tokens in the new organization. Self-hosted build agents must be re-registered, and marketplace extensions re-installed.
!The $3,950 price is an estimate for a typical single-collection migration; the readiness assessment converts it into a fixed written quote — which you approve before work begins, and pay after you approve delivery.
!Azure DevOps Services pricing (including the free tier for the first five Basic users) is Microsoft's, changes on Microsoft's schedule, and should be confirmed against Microsoft's published pricing at purchase time.

Frequently asked questions

What is the Azure DevOps Server to Azure DevOps Services migration service?

It is a fixed-scope project in which IT Partner moves your on-premises Azure DevOps Server or TFS collection into Microsoft's cloud-hosted Azure DevOps Services using Microsoft's official Data Migration Tool — readiness validation, Entra ID identity mapping, a dry-run import, the production cutover, and reconnection of agents, service connections, and extensions. Estimated at $3,950 per project and about 3 weeks, with a fixed written quote confirmed after readiness.

Do we lose any history in the move?

No — this is the reason to use Microsoft's Data Migration Tool rather than copy-paste tooling. It imports the entire collection database with full fidelity: work items with their history and attachments, Git and TFVC repositories with complete commit and changeset history, test plans, and pipeline definitions. What does not carry over automatically is a short, known list — agent registrations, service connection secrets, extensions — and reconnecting those is part of this service.

We are on an old TFS version. Can we still migrate?

Yes, but with a step first: the Data Migration Tool only accepts the two most recent Azure DevOps Server releases, so older servers must be upgraded to a supported version before import. One upgrade hop is included in this service where required; a server several versions behind needs a multi-hop upgrade, which the readiness assessment identifies and the written quote prices explicitly — before work begins, not as a surprise afterward.

How much downtime should we expect?

Your team works normally through readiness, preparation, and the dry run — the source server stays live. Downtime happens only at the final cutover, when the collection is detached for the production import. Its length depends on collection size and the import method, and because we run a full dry run first, the estimate we give you for the cutover window is measured, not guessed.

How does identity mapping work?

Every identity in the collection is mapped to a Microsoft Entra ID account so that sign-in, permissions, and history attribution survive the move. We prepare the mapping file, review it with you (including how to handle departed employees and service accounts), and validate it before import. If your users are not in Entra ID yet — still purely on-premises Active Directory — that is a prerequisite we will name honestly, and our On-premises Active Directory to Microsoft Entra ID Transition service covers it.

What happens to our build and release pipelines?

Pipeline definitions import with the collection. What needs rebuilding is the connective tissue: self-hosted agents must be re-registered against the new organization, service connections re-created with fresh credentials (secrets deliberately do not migrate), and marketplace extensions re-installed. We do that reconnection and verify a representative build and release run green before closeout. Converting classic pipelines to YAML or redesigning your delivery process is separate, deliberately — see the CI/CD Pipeline Implementation service.

Can you migrate us to GitHub instead?

That is a different project with different tooling, and we scope it too. Some teams are better served by GitHub (especially those standardizing on GitHub Actions and GitHub Advanced Security); others get the fastest, highest-fidelity move via the Data Migration Tool into Azure DevOps Services and evolve from there. Tell us where you want to end up and we will quote the right migration rather than the one on this page.

We have multiple collections. What happens?

The Data Migration Tool imports one collection into one new Azure DevOps Services organization. Multiple collections become multiple organizations, each its own import — quoted accordingly. Consolidating several collections into a single organization is possible but is surgical, third-party-tooling territory and is scoped as a separate engagement with its trade-offs stated plainly.

What does Azure DevOps Services cost after the migration?

Azure DevOps Services is billed by Microsoft per user: the first five Basic users in an organization are free on Microsoft's published pricing, users with Visual Studio subscriptions are typically covered, and additional Basic users are paid monthly. We verify what your team will need during readiness — but confirm current rates against Microsoft's published pricing, since they are Microsoft's numbers, not ours, and can change.

What if the validation finds problems?

That is what it is for, and it usually finds something — size issues, identity gaps, unsupported customizations, version problems. Remediation of validation findings is part of the service, and anything that materially changes scope (like a multi-hop upgrade) goes into the written quote before work begins. The rule throughout: no production import until validation is clean and the dry run is verified by your team.

What happens to the old server afterwards?

Keep it offline but intact through an agreed verification period as a safety net, then decommission it — we hand over written guidance for that. If the retirement of that server is part of a bigger question (the Windows and SQL Server underneath it are usually aging too), our Azure migration services cover moving or retiring the rest of the stack.

Why is the price an estimate, and when does it become fixed?

$3,950 is the typical price for a single-collection migration with a supported or one-hop-upgradable server. The readiness assessment in week one converts it into a fixed quote in writing — covering any upgrade work and your specific collection — which you approve before migration work begins. Per IT Partner's standard terms, you pay after you approve delivery.

Our developers keep working during the migration, right?

Yes, until the cutover window. Readiness, the upgrade hop if needed, identity mapping, and the dry run all happen alongside normal work on the live server. The only freeze is the final import window, which is scheduled with you — typically outside working hours — and its length is estimated from the dry run.

Didn’t find your question?

Ask it here. A real engineer answers by email within one business day — and if it’s a good one, it becomes part of this page so the next person finds it.

Answered by a person, one time, to your inbox. Nothing you type here is published without a human reviewing and anonymizing it first.

Often combined with

$3,950 per project
3 weeks
Book a migration readiness call