Limitations, Performance and Suggested Workarounds...

14
© Copyright Metalogix International GmbH, 2012 2014 Page 1 of 14 Metalogix Software Corporation. All rights reserved. metalogix.com Limitations, Performance and Suggested Workarounds using Content Matrix for migrations to SharePoint Online (Office 365) Product Version: 7.2.0.1 Document Release Date: 12/18/2014

Transcript of Limitations, Performance and Suggested Workarounds...

Page 1: Limitations, Performance and Suggested Workarounds …pages.metalogix.com/rs/176-NIZ-607/images/Office 365 SharePoint... · Limitations, Performance and Suggested Workarounds using

© Copyright Metalogix International GmbH, 2012 – 2014 Page 1 of 14 Metalogix Software Corporation. All rights reserved. metalogix.com

Limitations, Performance and Suggested

Workarounds using Content Matrix for migrations

to SharePoint Online (Office 365)

Product Version: 7.2.0.1

Document Release Date: 12/18/2014

Page 2: Limitations, Performance and Suggested Workarounds …pages.metalogix.com/rs/176-NIZ-607/images/Office 365 SharePoint... · Limitations, Performance and Suggested Workarounds using

© Copyright Metalogix International GmbH, 2012 – 2014 Page 2 of 14 Metalogix Software Corporation. All rights reserved. metalogix.com

Contents Overview ............................................................................................................................................................. 3

Limitations in SPO Migrations .................................................................................................................... 3

Limited Application Programming Interfaces available for SPO .............................................. 3

Limitations and Factors that Impact Performance of Migrations to SPO ............................. 5

Performance Expectations ............................................................................................................................ 7

Recommendations .......................................................................................................................................... 8

Use Azure Based Virtual Machines ....................................................................................................... 8

To achieve performance levels of 1GB/hour or higher: ............................................................. 12

Gradual Migrations .................................................................................................................................. 13

Disabling the ‘Following Content’ Feature ...................................................................................... 13

Mapping Domain users to Claims Based User Naming Conventions .................................. 14

Improvements and Additions to this Document .......................................................................... 14

Page 3: Limitations, Performance and Suggested Workarounds …pages.metalogix.com/rs/176-NIZ-607/images/Office 365 SharePoint... · Limitations, Performance and Suggested Workarounds using

© Copyright Metalogix International GmbH, 2012 – 2014 Page 3 of 14 Metalogix Software Corporation. All rights reserved. metalogix.com

Overview

Migrations to Office 365 (multi-tenant) SharePoint Online (referenced as SPO in this

document), have a number of significant limitations when compared to migrations from

on-premises to on-premises SharePoint instances (whether across a LAN or a WAN), or

when compared to migration to other dedicated hosted offerings such as Office 365-D

(dedicated) SharePoint Online targets, Azure, Amazon Web Services, Rackspace, and

others.

This document explains why those limitations exist, and helps prepare Content Matrix

clients to plan a migration of over 100GB to SPO. This includes:

Listing and explaining the limitations and their significance on migrations

Ensuring that customers allocate the appropriate time and consideration

required when migrating their on-premises farms to SPO.

Discussing workarounds and methodologies to overcome those limitations.

This document is essential reading for anyone migrating more than 100GB to SPO.

Limitations in SPO Migrations

Limited Application Programming Interfaces available for SPO

Content Matrix uses a number of SharePoint Application Programming Interfaces (API’s)

to optimize migrations based on the migration scenario involved. Migrations to on-

premises and private cloud (e.g. Azure/Amazon/O365-D) implementations of SharePoint

support the use of the full SharePoint Server Object Model, the richest API available for

SharePoint, or a thin web services layer that exposes the SharePoint Server Object Model

(Metalogix Extensions Web Services/MEWS), for both reading, and writing SharePoint

Content.

Page 4: Limitations, Performance and Suggested Workarounds …pages.metalogix.com/rs/176-NIZ-607/images/Office 365 SharePoint... · Limitations, Performance and Suggested Workarounds using

© Copyright Metalogix International GmbH, 2012 – 2014 Page 4 of 14 Metalogix Software Corporation. All rights reserved. metalogix.com

However, due to the multi-tenant nature of SPO, Microsoft has to ensure that no single

tenant can cause other tenants’ environments to break. In light of that, Microsoft cannot

expose the full SharePoint Object Model in SPO. They currently expose three, relatively

limited API’s that are useful for migrations:

The Client Side Object Model (CSOM)

The Native Web Services (NWS) API

The REST based interfaces to SharePoint Online

SharePoint Online Remote PowerShell

Office 365 Remote PowerShell

Each of these has several limitations when compared to the full SharePoint Server Object

Model, and these limitations have an impact not only on what is possible with migrations

of on-premises SharePoint and other content to SPO, but also on performance of

migrations to SPO. Microsoft continues to expand these APIs, and it is likely that many

but not all of these limitations will be removed over time.

The most important of the functional limitations that impact migrations are:

Limitation Impact on migrations

Inability to preserve Item IDs in lists 1. Migrations typically allow end users to continue working on the source farm until the migration is complete. Once that is complete, Admins put the source farm in read-only mode, and can create an Incremental Copy, to copy only deltas since the full migration, and then launch the new version of SharePoint.

2. Lists with dependencies on other lists such as Lookup columns rely on item IDs in the Lookup lists.

3. Because the CSOM does not support retaining the Item ID of list items, Content Matrix has to use an ID preservation mechanism known as ID Stuffing that is time consuming (between 17% and 24% impact on performance, and does not work for Blog Site entries because these by default have 1 item already in place on Office 365.

Copying MySites does not yet include

User Profile information (CSOM and

1. With Content Matrix 7.2, Admins will have to connect to each OneDrive (For Business) Site Collection separately after MySites are migrated to OneDrive for

Page 5: Limitations, Performance and Suggested Workarounds …pages.metalogix.com/rs/176-NIZ-607/images/Office 365 SharePoint... · Limitations, Performance and Suggested Workarounds using

© Copyright Metalogix International GmbH, 2012 – 2014 Page 5 of 14 Metalogix Software Corporation. All rights reserved. metalogix.com

Content Matrix). This will also be resolved

in Content Matrix 7.3

Business. This will be resolved in a 7.2 Hotfix.

2. Admins cannot copy MySite profile information. This will be resolved in either a Content Matrix 7.2 Hotfix, or Content Matrix 7.3.

Versioning limitations in the CSOM API

1. Authorship information for rejected versions in a document library with approval is lost.

2. Authorship/last modified information for minor versions changes to that of migrating user

Nintex workflows cannot yet be migrated

to Office 365 since Nintex does not yet

have an SPO offering that is equivalent to

their on-premises offering due to the

same CSOM limitations.

1. Nintex workflows have to be recreated using Nintex’ SPO offering to the best extent possible.

Limitations and Factors that Impact Performance of Migrations to

SPO

SPO is on the open Internet, and is a multi-tenant environment in which multiple

Microsoft clients (up to 10,000) are hosted on a single SharePoint Server Farm. In light of

that, Microsoft uses a number of mechanisms to protect SPO customers’ environments,

and the integrity of these Server Farms.

Based on Metalogix performance benchmarking, there is an impact of between 40% and

45% on the performance of migrations to SPO because of some of these necessary

protection mechanisms. Our discussions with the SPO product group, and our

experience with numerous customers who have migrated large farms to SPO have shown

that the following are some of the known factors that impact this performance:

Page 6: Limitations, Performance and Suggested Workarounds …pages.metalogix.com/rs/176-NIZ-607/images/Office 365 SharePoint... · Limitations, Performance and Suggested Workarounds using

© Copyright Metalogix International GmbH, 2012 – 2014 Page 6 of 14 Metalogix Software Corporation. All rights reserved. metalogix.com

Mechanism Used Impact on migrations

User and Tenant based throttling – this

ensures that any single user or tenant

cannot perform so many simultaneous

operations on their SPO environment,

that these would cause performance

issues for other tenants. This article while

written for SP2010, still applies to SP2013

Large or complex migration jobs can be

cut off mid-migration requiring Content

Matrix to pause jobs, and then continue

once the throttling has been reduced.

Farm based throttling – If a Microsoft

SPO farm becomes unhealthy due to

extreme levels of activity on that farm,

Microsoft will be throttling migrations to

SPO, and will not permit migrations to

continue until the farm’s health returns to

normal.

Any migration job can be throttled at any

given time of the day (usually during peak

hours for the region of that farm) if the

farm is too busy, causing Content Matrix

to have to pause jobs, and then continue

once the throttling has been reduced.

This makes migration performance

extremely unpredictable, and variable

based on the time of day, day of the

week, and other variables completely

beyond Metalogix or other migration

vendors’ control.

Virus scanning SPO requires stringent virus scanning in

order to ensure that all tenants on the

shared server farms are protected. This

virus scanning slows down migrations as

each document migrated has to be

scanned.

Hardware based load balancing -

determines which Web Front End (WFE)

Server in the SharePoint Server Farm to

route incoming traffic to, based on how

busy any given WFE is at that time.

While this routes Content Matrix traffic to

the WFE with the lowest workload when a

migration begins, Content Matrix is

locked to that WFE for the duration of a

migration job. If the Server Health Score

of that server increases (higher is worse),

to 7 (0-10 range), Content Matrix pauses

jobs, and waits for that Server’s health

score to get back to 4.

This can slow down migrations that are

large (large amount of content), or

complex (many items with multiple

metadata fields, and/or many versions).

Page 7: Limitations, Performance and Suggested Workarounds …pages.metalogix.com/rs/176-NIZ-607/images/Office 365 SharePoint... · Limitations, Performance and Suggested Workarounds using

© Copyright Metalogix International GmbH, 2012 – 2014 Page 7 of 14 Metalogix Software Corporation. All rights reserved. metalogix.com

Third-party commercial denial-of-

service monitoring platform for

monitoring and throttling capabilities (see

Microsoft’s Security/Trust page for Office

365).

While we have no indication that this has

throttled migrations, it is conceivable that

a migration will appear to SPO as a Denial

of Service attack, requiring users to restart

the job, or break the job up into smaller

parts.

Microsoft is working towards ways of allowing migration vendors to improve

performance of migrations, and is actively advising vendors on techniques to use to

reduce throttling. In addition, Microsoft is working on figuring out workarounds that

could potentially allow migration vendors to improve the performance of migrations

when clients using those vendors indicate that they are in the process of migrating to

SPO. However, at this time, Microsoft has not provided a date for the release of these

workarounds.

Performance Expectations

For comparison purposes, benchmarking work that we have carried out for on-premises

migrations, including data from large scale migrations carried out by our customers,

results in a range of migration speeds from 2GB/hour to 100GB/hour depending on

hardware used, network latency, complexity of the workload and other factors. WAN

based migrations tend to be significantly slower than LAN based migrations, but still

average from 2GB to 5GB/hour.

Both our internal benchmarking and data from customers has shown that for SPO

migrations with a single machine averaged between 200MB and 550MB/hour

depending on the workload, the time of day, how busy the farm is, and numerous

other factors that are outside of our control. Production migrations by customers

from Azure, with multiple parallel machines, and multiple usernames and passwords

range from 400MB/hour to 10GB/hour. Achieving 10GB/hour requires the use many

machines on Azure (in the same region of the country as the SPO farm), and this rate

cannot be achieved consistently at this stage. This technique works in some SPO farms,

but not in others. Still, with parallel migration operations from Azure VMs, speeds can

get to 2GB to 4GB/hour.

Page 8: Limitations, Performance and Suggested Workarounds …pages.metalogix.com/rs/176-NIZ-607/images/Office 365 SharePoint... · Limitations, Performance and Suggested Workarounds using

© Copyright Metalogix International GmbH, 2012 – 2014 Page 8 of 14 Metalogix Software Corporation. All rights reserved. metalogix.com

Recommendations

Use Azure Based Virtual Machines

As mentioned above, we have found that migrations from Azure Virtual Machines (VM)

in the same region as the SPO instance being migrated to, increase performance of the

migration. The process that we recommend for any migration other than those from

SP2013 to SP2013 Online is:

1. Determine what region your Office 365 tenancy is in. You can do this by

contacting your Microsoft TAM (Technical Account Manager) and asking what

region it is in, or by first pinging that location:

In the ping results, you can see that ping gives you a prodnet number (17-37 in

the above screenshot). If you don’t have a TAM, MS Support should be able to

tell you what region (East, Central, West, etc. your tenancy is in based on this

number. If not, please contact Metalogix).

2. Create an Azure VM in the same region as your O365 tenancy with Windows

Server 2008 or 2012, and SQL Server 2008 or 2012.

3. Using SQL Server Management Studio Back up your source Content DBs to .bak

files:

Page 9: Limitations, Performance and Suggested Workarounds …pages.metalogix.com/rs/176-NIZ-607/images/Office 365 SharePoint... · Limitations, Performance and Suggested Workarounds using

© Copyright Metalogix International GmbH, 2012 – 2014 Page 9 of 14 Metalogix Software Corporation. All rights reserved. metalogix.com

4. Use ftp, or other mechanism to copy the .bak file to your Azure VM. You can ship

a physical hard disk to the Azure team if needed. For more information how to

ship a physical hard disk, please see Microsoft’s guidance here.

5. In your Azure VM, restore the .bak files to a new databases:

Page 10: Limitations, Performance and Suggested Workarounds …pages.metalogix.com/rs/176-NIZ-607/images/Office 365 SharePoint... · Limitations, Performance and Suggested Workarounds using

© Copyright Metalogix International GmbH, 2012 – 2014 Page 10 of 14 Metalogix Software Corporation. All rights reserved. metalogix.com

6. Once these databases have been restored, give your Azure VM admin dbo access

to each of these databases

7. Install Content Matrix SharePoint Edition Console on the Azure VM (you can

install the console on multiple other Azure VMs that do not have SQL Server on

them, but must be in the same internal network in order to enable parallel, multi

username actions).

8. In Content Matrix, use the Connect to SharePoint Database option:

9. Enter the name of the database server (at this point most likely (local))

10. Choose the Content DB you just restored, and the Site Collection within that

Content DB that you would like to connect to.

11. Migrate content as you normally would with Content Matrix

12. For any operations that require farm level connections (such as copying the

Managed Metadata Services Term Store), migrate that from the source farm

instead of Azure.

13. For the final Incremental Copy, there is no need to re-backup your Content DBs

and restore them in Azure. You can perform and incremental copy from the

actual source as long as you selected ‘Preserve Item ID’ in all List copy or Site

copy operations that include lists:

Page 11: Limitations, Performance and Suggested Workarounds …pages.metalogix.com/rs/176-NIZ-607/images/Office 365 SharePoint... · Limitations, Performance and Suggested Workarounds using

© Copyright Metalogix International GmbH, 2012 – 2014 Page 11 of 14 Metalogix Software Corporation. All rights reserved. metalogix.com

14. Anticipate throttling – SPO will throttle migration jobs on occasion whether it’s

because of your migration activity, or other activity on the farm in which your

tenancy is located. Content Matrix monitors the Server Health Score returned

from SPO. This health score has now been modified to include not only CPU and

RAM resources for the WFE you’re connecting to, but also the overall farm health.

15. Content Matrix will pause jobs gracefully once the Server Health Score reaches 9,

and restart the job once the health score returns to 4 (a health score of 0 is best,

with 10 being enough to have a job suddenly cut off).

16. If you would like to see health score logging or modify current values, open the

file C:\Users\<username> \AppData\Roaming\Metalogix\UserSettings.xml.

Page 12: Limitations, Performance and Suggested Workarounds …pages.metalogix.com/rs/176-NIZ-607/images/Office 365 SharePoint... · Limitations, Performance and Suggested Workarounds using

© Copyright Metalogix International GmbH, 2012 – 2014 Page 12 of 14 Metalogix Software Corporation. All rights reserved. metalogix.com

17. In that file, you should see entries such as:

<XmlableEntry>

<Key>ServerHealthLoggingInterval</Key>

<Value>300000</Value>

</XmlableEntry>

<XmlableEntry>

<Key>ServerHealthLoggingEnabled</Key>

<Value>False</Value>

</XmlableEntry>

<XmlableEntry>

<Key>ServerHealthScorePauseValue</Key>

<Value>9</Value>

</XmlableEntry>

</XmlableTable>

18. If you modify the element ServerHealthLoggingEnabled to True, that will log the

server health score in your job log.

19. If you would like to modify the value at which migration restarts, modify (or add)

the parameter ServerHealthScoreRestartValue. You cannot restart at a value

higher than 5 since this is known to cause migration issues.

To achieve performance levels of 1GB/hour or higher:

1. Create multiple migration users in your SPO tenancy, each with Global Admin

permissions.

2. Spin up multiple Azure VMs in the same domain as the SQL Server mentioned

above.

3. Ensure that the SQL Server VM has sufficient RAM to deal with multiple

simultaneous jobs.

4. Plan your migration so that each VM is migrating several jobs at a time, with

larger Site Collections or Sites being migrated on separate machines (ie. Balance

the workload across multiple VMs).

5. To achieve optimal performance, first migrate the structure of your SharePoint

farm, and then the content.

6. Use PowerShell to control migration jobs. This allows you to programmatically

control migrations, check against an Excel file, DB, or SharePoint list for a list of

jobs that are still required, and perform migrations in the order you would like

without manning the consoles frequently.

7. PowerShell also uses far fewer UI resources, and therefore results in faster

migrations.

Page 13: Limitations, Performance and Suggested Workarounds …pages.metalogix.com/rs/176-NIZ-607/images/Office 365 SharePoint... · Limitations, Performance and Suggested Workarounds using

© Copyright Metalogix International GmbH, 2012 – 2014 Page 13 of 14 Metalogix Software Corporation. All rights reserved. metalogix.com

Gradual Migrations

Due to the migration performance, Metalogix recommends taking a gradual migration

approach, which may involve migrating one division at a time, and going live with that

division. This can be very beneficial as it allows you to assess the impact on your business

users and your helpdesk after moving one group of people to a new user interface, and

use focus groups to determine which features you would like to implement as you

gradually migrate the business to SPO.

Disabling the ‘Following Content’ Feature

SPO sites (but not site collections), have a feature called: ‘Following Content’

This feature is enabled by default when a new site is created. When it is disabled,

performance of Site copies improves by approximately 20% to 25% for document

heavy workloads.

Since Content Matrix does not currently give you the option of turning off only a

particular feature on the target site, the only way to achieve this currently is to

specify in the Site Options tab of the Paste Configuration screen to ‘Clear Default

Features on Target’:

Page 14: Limitations, Performance and Suggested Workarounds …pages.metalogix.com/rs/176-NIZ-607/images/Office 365 SharePoint... · Limitations, Performance and Suggested Workarounds using

© Copyright Metalogix International GmbH, 2012 – 2014 Page 14 of 14 Metalogix Software Corporation. All rights reserved. metalogix.com

Future versions of Content Matrix will support the selection feature by feature of

which source and which target features you would like enabled on the target

after migration.

Mapping Domain users to Claims Based User Naming Conventions

Content Matrix automatically maps domain users from source to target domains if

domain mapping is in place. For example, if the source domain is metalogix1, and the

target domain is metalogix2, setting up a Domain Mapping in the ‘Edit Global Mappings’

screen accessible from the Settings menu (see our online help on this), allows used to

setup a domain mapping between metalogix1 and metalogix2.

Once that has been setup, Content Matrix will automatically map metalogix1\jdoe to

metalogix2\jdoe, and so on. In addition, for migrations to Office 365 or other claims

based authentication providers, if the source domain is the same name as the email

address format of usernames in Office 365 scenarios using Active Directory Federation

Services (ADFS), a typical source domain name such as metalogix1\jdoe would be

automatically mapped to i:0#.f|membership|[email protected].

However, if you have multiple domains on your source farm, or domains that are not

named the same as the @<companyname>.com email address that the user would use

to login to Office 365, you can still create the appropriate mapping.

There are two ways to address this. These are described in detail including a sample csv

file and PowerShell scripts that can be used to make the process easy in a document

titled “Content Matrix User Mapping from AD to Claims including O365”, which is

included in the installer zip file for Content Matrix. This document is also available in the

Metalogix Support Knowledge Base.

Improvements and Additions to this Document

Metalogix will be adding more detailed examples to this document over time.