Skip to main content

On-Prem Exchange to Office 365: Why Bandwidth, Not the Tool, Sets Your Timeline

Nick Ross4 min read

TL;DR

  • An on-prem Exchange to Office 365 migration is limited by upload bandwidth, not by the migration tool, so the single best move is to prepare weeks in advance.
  • Prestage migration brings over the bulk of mailbox data before MX cutover, which keeps the actual cutover window short.
  • Concurrency has a ceiling: too many simultaneous migrations time the server out and fail every thread, with a guideline of three concurrent migrations per 1 Mbps of bandwidth.
  • Exchange 2010 and later have throttling policies that must be disabled for the migration; Exchange 2007 and earlier do not have them.
  • Switch MX records only after the full pass nearly completes, and recreate any third-party filtering connectors such as Symantec or Barracuda in Office 365 first.
Microsoft Exchange logo
Office 365 logo

The tool you pick for an on-prem Exchange migration matters less than the bandwidth on the source side. Whether you run BitTitan or SkyKick, the upload pipe out of the Exchange environment is what decides how long the move takes. That is why the single most useful thing you can do is prepare weeks in advance. These third-party tools let you run a prestage migration, pulling over the bulk of the data before you ever touch the MX records, so cutover becomes a short, low-drama step rather than a marathon.

This is a high-level overview of the migration steps using BitTitan. For the complete step-by-step guide with screenshots, follow this playbook PDF (opens in new tab). The guide is specific to BitTitan, but the same concepts apply with any tool.

Stand up the destination tenant

  • Provision a net-new tenant in Office 365. It is provisioned with the .onmicrosoft.com domain. Purchase it directly or under the CSP model through a distributor.
  • Add and verify the domain. In the 365 Admin Center, go to Setup > Domains > Add Domains, then add the domain and verify with a TXT record.
  • Add users and apply licenses one at a time, by bulk upload via PowerShell, by bulk upload via CSV, or through AD Connect setup (opens in new tab).

To bulk import users with passwords:

text
Import-Csv -Path 'FilePath' | foreach {New-MsolUser -UserPrincipalName $_.UserPrincipalName -FirstName $_.FirstName -LastName $_.LastName -DisplayName $_.DisplayName -Password $_.Password -ForceChangePassword $False}

Prepare the source Exchange environment

This is where the bandwidth planning happens. Spend your time here.

  • Set impersonation rights for the admin user. Open the Exchange shell on the Exchange server and run:
powershell
New-ManagementRoleAssignment -Role ApplicationImpersonation -User <admin_user_name>
  • Disable the throttling policy on Exchange. Refer to the KB article (opens in new tab) for your particular environment. This is only relevant for Exchange 2010 and later. Exchange 2007 and earlier do not have throttling policies.
  • Audit upload speeds. Bandwidth is often limited in Exchange environments. Auditing upload speeds gives you a better idea of how long the migration will take.
  • Upgrade software on workstations. If applicable, install the latest Office 365 software on all user workstations.

Set up a BitTitan account

Push the Outlook reconfiguration agent

BitTitan includes a tool called Deployment Pro that reconfigures Outlook profiles after the migration. You can push it out through GPO or by email.

BitTitan Deployment Pro device list showing registered agents and heartbeat status
BitTitan Deployment Pro agent matching users to devices

Prepare the migration endpoints and tune concurrency

  • Set up source and destination endpoints in the BitTitan portal. Find the source endpoint under "Exchange Server 2003+." The destination is Office 365. Provide admin credentials.
  • Autodiscover users. Clean up the user list as needed and remediate UPN issues by clicking the pencil icon next to a user.
  • Verify credentials. This tells you whether there are errors. The most typical errors are insufficient impersonation rights or wrong admin credentials. A successful check shows "Completed Verification."
  • Subscribe users. Select all users, click the last icon on the top toolbar (three lines), and choose "Apply User Migration Bundle." It takes 3 to 5 minutes to propagate.
  • Determine the maximum number of concurrent migrations. If you attempt too many concurrent migrations, the server times out and all threads fail. The guideline is three per 1 Mbps of bandwidth. In the BitTitan portal, go to Edit Project > Advanced Settings > set the maximum number of concurrent migrations. Audit to find the sweet spot once you kick off the migration.

Prestage, then plan the MX cutover

  • Run a prestage pass bringing mail from the Exchange server to Office 365. This brings over the bulk of the data before MX cutover. Set it prior to 60 days. Any user whose status changes to "Failed" is almost 100% due to a server timeout; adjust your maximum number of concurrent migrations and rerun those users.
BitTitan prestage migration pass progress
  • Define the MX cutover time to 365. Preferably during non-business hours. Go to 365 Admin Center > Setup > Domains to find the MX record you will need to change. The format follows: Domain-com.mail.protection.outlook.com. Take note of any third-party connectors for email filtering such as Symantec or Barracuda. Look up the steps for creating connectors in 365; these providers usually have step-by-step guides you can find easily.

Full pass and MX cutover

  • Run a full pass to bring over the remaining mail, calendars, contacts, notes, and rules. This should not take long as long as the prestage pass completed. Once the full pass completes, run up to 10 delta passes to collect residual mail.
  • Switch the MX records. Point the records at 365. Do not green-light this step if there is still a lot of data to move over. Test inbound and outbound mail flow.

Post-migration cleanup

  • Confirm the DMA agent ran successfully. DMA status goes into "Completed" after successful authentication by the end user. Any user who fails authentication three times goes into an "error" status. Reschedule those users and make sure they have the correct 365 password.
BitTitan DMA agent completion status per user

Frequently asked questions

Does BitTitan or SkyKick make the migration faster?

Not materially. With an on-prem Exchange source, upload bandwidth is the constraint regardless of tool. What these tools give you is prestage migration, which moves the bulk of data before MX cutover so the cutover window stays short.

How many concurrent migrations should I run?

Start from a guideline of three concurrent migrations per 1 Mbps of bandwidth. Set the maximum in the BitTitan portal under Edit Project > Advanced Settings, then audit to find the sweet spot once the migration is running. Too many concurrent threads time the server out and fail all of them.

Do I need to disable throttling on Exchange?

Yes, on Exchange 2010 and later. Disable the throttling policy per the relevant KB article for your environment. Exchange 2007 and earlier do not have throttling policies.

When is it safe to switch MX records?

Only after the full pass has nearly completed. Do not switch MX if a lot of data is still moving. Point records at 365 during non-business hours, then test inbound and outbound mail flow.

Prove the new tenant is secure, not just live

Moving mailboxes is the easy part to show a client. Showing the destination tenant is hardened is harder. CloudCapsule checks 250+ controls across every tenant you manage in about 60 seconds each and hands you the report.

Run a free scan
Nick Ross

Written by

Nick Ross

CEO · Microsoft MVP · Founder, T-Minus 365

Nick is not just a CEO, he's a respected thought leader and influencer in the MSP space. Tens of thousands of MSPs learn through his YouTube channel, T-Minus365. Nick has been honored as a three-time Microsoft MVP for his educational content; his expertise and influence are the backbone of our mission, ensuring that you are in the best hands when it comes to security.

Nick joined Pax8 in 2017, where he would ultimately oversee product management for PSA and Microsoft integrations. Following his tenure at Pax8, Nick has continued to demonstrate his leadership prowess as an executive at various MSPs, culminating in his most recent role at Sourcepass.

Nick holds a Bachelor's Degree in Business Management from Florida State University, as well as a Minor Degree in Entrepreneurship. In his free time, Nick is an avid hiker, reader, and fitness-junkie.

Keep reading