SlideShare a Scribd company logo
Migration to Cloud – New Approach
Page
Presenter
Ashish Trivedi (@ashuetawah)
Office 365 & SharePoint specialist
With Readify
• Ex-MS Technical Consultant
• Presenter in Office Dev Camp with Microsoft
• Contribution to OfficeDev PnP
Migrating The Collaboration Triangle
Medium
Workflows
Features
Site structure
Custom
UX
Code
Migration Process
Goals:
Speed?
 The Type of content does impact the rate of ingestion
 Using Backend Resources
 Lots of small, scenario specific, tweaking that can help
get the best out of the API
 Preliminary data suggest 5X the speed of CSOM before
throttling.
Source
SharePoint/ODB
Final Destination
Process Overview
File Share,
SharePoint On-Prem,
Potentially any other
Data Source.
Create Package for the
API to be able to
accept it.
Use the Power of
ingestion of Azure to
bring the content
faster in Microsoft
network.
Timer Job Based import
in a scalable way that
will not hurt the service
using back end
resources.
SPO Management Shell Commands
New-SPOMigrationPackage[/Export-SPWeb]
ConvertTo-SPOMigrationTargetedPackage
Set-SPOMigrationPackageAzureSource
Submit-SPOMigrationJob
New
Convert
Set
Submit
What you need?
•Azure Subscription
•Azure storage account
•Office 365 with
•Existing active directory O365 integration with on-
premises environment
•Normal user added to O365
•SharePoint Online Management Shell MSI
Flow
New-
SPOMigrationPackage
Flow
Export-SPWeb
Flow
ConvertTo-
SPOMigrationTargeted
Package
Flow
Set-
SPOMigrationPackageA
zureSource
Flow
Submit-
SPOMigrationJob
User Mapping
UserMapping.csv
CSOM
public ClientResult<Guid> CreateMigrationJob(
Guid gWebId,
string azureContainerSourceUri,
string azureContainerManifestUri,
string azureQueueReportUri
)
Limitations
• Azure
• TB per storage account – 500 TB
• Max Size of blob (blob/queue)– 500 TB
• Target throughput for single blob – up
to 60 MBPS or upto 500 requests per
second
• Max number of blob container, blobs,
file shares – only limit is 500 TB storage
account capacity
• SPO
• Package size – 2 -4 GB
• File size – 2 GB
• Target size – target site should remain
non-accessible to end user till
migration is complete.
• SPO Limits apply
Demo
Q & A
Thank you
Prerequisite
• An Azure subscription
• An Azure Storage account
• Provision your Office 365 with either:
• Your existing active directory Office 365 integration with on-premises
environments or
• Use one of the other options for adding accounts to Office 365 Add users
to Office 365 for business
• Download and install the SharePoint Online Management Shell MSI from
this site. Use the Control Pane to uninstall any previous versions.
Setup
1. Install SPO Management Shell
2. Setup Temp and Final Folder. Write down the path.
3. Setup Azure storage account. Write down account name and
primary key
Script
Connect-SPOService -Url "https://<tenant>-admin.sharepoint.com" -Credential "admin@<tenant>.onmicrosoft.com"
$creds = (Get-Credential "admin@s<tenant>.onmicrosoft.com")
$sourceFiles = "fileserverrootfolder"
$sourcePackage = "C:FileShareMigTemp"
$targetPackage = "C:FileShareMigFinal"
$targetWeb = "https://<destination_web_url>"
$targetDocLib = “<destination_lib_title>"
$azureAccountName = “<azure_storage_account_name>"
$azureAccountKey = "<azure_storage_account_primary_key>"
$azureQueueName = “<Any_name_unique_indifier_for_status>"
Write-Host "Variable setup completed"
#Create new content package from an on-premises file share
New-SPOMigrationPackage -SourceFilesPath $sourceFiles -OutputPackagePath $sourcePackage -NoADLookup
Write-Host "Successfully created package"
#Convert the content package for your target site
ConvertTo-SPOMigrationTargetedPackage -SourceFilesPath $sourceFiles -SourcePackagePath $sourcePackage -OutputPackagePath $targetPackage -TargetWebUrl $targetWeb -TargetDocumentLibraryPath $targetDocLib -Credentials $creds -
NoAzureADLookup
Write-Host "Successfully converted the package for SPO"
#Create azure containers and upload package
$al = Set-SPOMigrationPackageAzureSource -SourceFilesPath $sourceFiles -SourcePackagePath $targetPackage -AzureQueueName $azureQueueName -AccountName $azureAccountName -AccountKey $azureAccountKey
$al|fl
Write-Host "Successfully created azure container"
#submit content package data to site collection
Submit-SPOMigrationJob -TargetWebUrl $targetWeb -MigrationPackageAzureLocations $al -Credentials $creds
Write-Host "Successfully submitted package"
Special cases
• New-SPOMigrationPackage : if you local domain is not setup for single
sign-on with Azure, use the paramert –NoADLookup.
• ConvertTo-SPOMigrationTargetedPackage : if above or you do not
want to map local user to cloud user (if you have different identities),
then use the parameter –NoAzureADLookup. If you want to map, use
the switch –usermapping file. For more details, check the command.

More Related Content

PPTX
Restaurant hierarchy
PPTX
Introduction to baking
PPTX
Planeación de Intranet con SharePoint
PDF
How SharePoint Online Migration API Works
PDF
Migrate to SharePoint Online using native Tools
PPTX
Accelerate your journey to the cloud using the Microsoft SharePoint Migration...
PDF
How to Migrate from SharePoint to Office 365?
PPTX
What Makes Migrating to the Cloud Different Than On-Premises
Restaurant hierarchy
Introduction to baking
Planeación de Intranet con SharePoint
How SharePoint Online Migration API Works
Migrate to SharePoint Online using native Tools
Accelerate your journey to the cloud using the Microsoft SharePoint Migration...
How to Migrate from SharePoint to Office 365?
What Makes Migrating to the Cloud Different Than On-Premises

Similar to SPO Migration - New API (20)

PDF
Houston TechFest 2017- Migrate and Upgrade to 2016 Succesfully
PPTX
aOS Canadian Tour Share point migration tips
PPTX
Planning Your Migration to SharePoint Online #SPBiz60
PPTX
Ensuring Successful Office 365 Tenant to Tenant Migration SharePoint Saturday...
PPTX
One101 double the trouble double the fun_ migrating to one_drive and sharepoi...
PPTX
Migrating on premises and cloud contents to SharePoint Online at no cost with...
PDF
A Step-by-Step Guide to Successfully Migrating Your Data to SharePoint Online...
PDF
Office Track: SharePoint Online Migration - Asses, Prepare, Migrate & Support...
PPTX
I03 migration from on premises to office365 - tips tricks and hows
PDF
Share Upgrading and Migrating to SharePoint 2016 Like a Pro
PPTX
SharePoint Tips and Tricks to avoid migration headaches
PPTX
Choosing the Perfect SharePoint Migration Tool Your Ultimate Guide.pptx
PDF
SPS Barcelona 2015 - Real world scenarios to migrate to SharePoint 2016 or Of...
PPTX
Sharepoint User Group Geneva - Introduction to Office 365
PDF
Choosing the Perfect SharePoint Migration Tool Your Ultimate Guide.pdf
PDF
Choosing the Perfect SharePoint Migration Tool Your Ultimate Guide.pdf
PDF
Choosing the Perfect SharePoint Migration Tool Your Ultimate Guide.pdf
PPTX
SPS Chevy Chase Tips on migrating to Office 365
PPTX
Ensuring Successful Office 365 Tenant to Tenant Migration Collab365 Global Co...
PPTX
Tips and tricks for complex migrations to SharePoint Online
Houston TechFest 2017- Migrate and Upgrade to 2016 Succesfully
aOS Canadian Tour Share point migration tips
Planning Your Migration to SharePoint Online #SPBiz60
Ensuring Successful Office 365 Tenant to Tenant Migration SharePoint Saturday...
One101 double the trouble double the fun_ migrating to one_drive and sharepoi...
Migrating on premises and cloud contents to SharePoint Online at no cost with...
A Step-by-Step Guide to Successfully Migrating Your Data to SharePoint Online...
Office Track: SharePoint Online Migration - Asses, Prepare, Migrate & Support...
I03 migration from on premises to office365 - tips tricks and hows
Share Upgrading and Migrating to SharePoint 2016 Like a Pro
SharePoint Tips and Tricks to avoid migration headaches
Choosing the Perfect SharePoint Migration Tool Your Ultimate Guide.pptx
SPS Barcelona 2015 - Real world scenarios to migrate to SharePoint 2016 or Of...
Sharepoint User Group Geneva - Introduction to Office 365
Choosing the Perfect SharePoint Migration Tool Your Ultimate Guide.pdf
Choosing the Perfect SharePoint Migration Tool Your Ultimate Guide.pdf
Choosing the Perfect SharePoint Migration Tool Your Ultimate Guide.pdf
SPS Chevy Chase Tips on migrating to Office 365
Ensuring Successful Office 365 Tenant to Tenant Migration Collab365 Global Co...
Tips and tricks for complex migrations to SharePoint Online
Ad

More from Ashish Trivedi (7)

PPTX
Office 365 Saturday Melbourne - Are you a Modern Developer?
PPTX
O365 Saturday MS Graph API
PPTX
1 App for Consumer and Enterprise
PPTX
PPTX
SharePoint/Office365/Office Add-ins - Select One
PPTX
DWCAU SharePoint Hybrid Melbourne
PPTX
Custom dev o365
Office 365 Saturday Melbourne - Are you a Modern Developer?
O365 Saturday MS Graph API
1 App for Consumer and Enterprise
SharePoint/Office365/Office Add-ins - Select One
DWCAU SharePoint Hybrid Melbourne
Custom dev o365
Ad

Recently uploaded (20)

PDF
Diabetes mellitus diagnosis method based random forest with bat algorithm
PPTX
Spectroscopy.pptx food analysis technology
PDF
Approach and Philosophy of On baking technology
PDF
Profit Center Accounting in SAP S/4HANA, S4F28 Col11
PDF
Empathic Computing: Creating Shared Understanding
PDF
TokAI - TikTok AI Agent : The First AI Application That Analyzes 10,000+ Vira...
PPTX
Detection-First SIEM: Rule Types, Dashboards, and Threat-Informed Strategy
PDF
Blue Purple Modern Animated Computer Science Presentation.pdf.pdf
PPT
Teaching material agriculture food technology
PPTX
Programs and apps: productivity, graphics, security and other tools
PDF
How UI/UX Design Impacts User Retention in Mobile Apps.pdf
PDF
Spectral efficient network and resource selection model in 5G networks
PDF
Architecting across the Boundaries of two Complex Domains - Healthcare & Tech...
PPTX
ACSFv1EN-58255 AWS Academy Cloud Security Foundations.pptx
PDF
Review of recent advances in non-invasive hemoglobin estimation
PPTX
20250228 LYD VKU AI Blended-Learning.pptx
PDF
Encapsulation theory and applications.pdf
PDF
Mobile App Security Testing_ A Comprehensive Guide.pdf
PDF
The Rise and Fall of 3GPP – Time for a Sabbatical?
PDF
Building Integrated photovoltaic BIPV_UPV.pdf
Diabetes mellitus diagnosis method based random forest with bat algorithm
Spectroscopy.pptx food analysis technology
Approach and Philosophy of On baking technology
Profit Center Accounting in SAP S/4HANA, S4F28 Col11
Empathic Computing: Creating Shared Understanding
TokAI - TikTok AI Agent : The First AI Application That Analyzes 10,000+ Vira...
Detection-First SIEM: Rule Types, Dashboards, and Threat-Informed Strategy
Blue Purple Modern Animated Computer Science Presentation.pdf.pdf
Teaching material agriculture food technology
Programs and apps: productivity, graphics, security and other tools
How UI/UX Design Impacts User Retention in Mobile Apps.pdf
Spectral efficient network and resource selection model in 5G networks
Architecting across the Boundaries of two Complex Domains - Healthcare & Tech...
ACSFv1EN-58255 AWS Academy Cloud Security Foundations.pptx
Review of recent advances in non-invasive hemoglobin estimation
20250228 LYD VKU AI Blended-Learning.pptx
Encapsulation theory and applications.pdf
Mobile App Security Testing_ A Comprehensive Guide.pdf
The Rise and Fall of 3GPP – Time for a Sabbatical?
Building Integrated photovoltaic BIPV_UPV.pdf

SPO Migration - New API

  • 1. Migration to Cloud – New Approach
  • 2. Page Presenter Ashish Trivedi (@ashuetawah) Office 365 & SharePoint specialist With Readify • Ex-MS Technical Consultant • Presenter in Office Dev Camp with Microsoft • Contribution to OfficeDev PnP
  • 3. Migrating The Collaboration Triangle Medium Workflows Features Site structure Custom UX Code
  • 5. Speed?  The Type of content does impact the rate of ingestion  Using Backend Resources  Lots of small, scenario specific, tweaking that can help get the best out of the API  Preliminary data suggest 5X the speed of CSOM before throttling.
  • 6. Source SharePoint/ODB Final Destination Process Overview File Share, SharePoint On-Prem, Potentially any other Data Source. Create Package for the API to be able to accept it. Use the Power of ingestion of Azure to bring the content faster in Microsoft network. Timer Job Based import in a scalable way that will not hurt the service using back end resources.
  • 7. SPO Management Shell Commands New-SPOMigrationPackage[/Export-SPWeb] ConvertTo-SPOMigrationTargetedPackage Set-SPOMigrationPackageAzureSource Submit-SPOMigrationJob New Convert Set Submit
  • 8. What you need? •Azure Subscription •Azure storage account •Office 365 with •Existing active directory O365 integration with on- premises environment •Normal user added to O365 •SharePoint Online Management Shell MSI
  • 15. CSOM public ClientResult<Guid> CreateMigrationJob( Guid gWebId, string azureContainerSourceUri, string azureContainerManifestUri, string azureQueueReportUri )
  • 16. Limitations • Azure • TB per storage account – 500 TB • Max Size of blob (blob/queue)– 500 TB • Target throughput for single blob – up to 60 MBPS or upto 500 requests per second • Max number of blob container, blobs, file shares – only limit is 500 TB storage account capacity • SPO • Package size – 2 -4 GB • File size – 2 GB • Target size – target site should remain non-accessible to end user till migration is complete. • SPO Limits apply
  • 17. Demo
  • 18. Q & A
  • 20. Prerequisite • An Azure subscription • An Azure Storage account • Provision your Office 365 with either: • Your existing active directory Office 365 integration with on-premises environments or • Use one of the other options for adding accounts to Office 365 Add users to Office 365 for business • Download and install the SharePoint Online Management Shell MSI from this site. Use the Control Pane to uninstall any previous versions.
  • 21. Setup 1. Install SPO Management Shell 2. Setup Temp and Final Folder. Write down the path. 3. Setup Azure storage account. Write down account name and primary key
  • 22. Script Connect-SPOService -Url "https://<tenant>-admin.sharepoint.com" -Credential "admin@<tenant>.onmicrosoft.com" $creds = (Get-Credential "admin@s<tenant>.onmicrosoft.com") $sourceFiles = "fileserverrootfolder" $sourcePackage = "C:FileShareMigTemp" $targetPackage = "C:FileShareMigFinal" $targetWeb = "https://<destination_web_url>" $targetDocLib = “<destination_lib_title>" $azureAccountName = “<azure_storage_account_name>" $azureAccountKey = "<azure_storage_account_primary_key>" $azureQueueName = “<Any_name_unique_indifier_for_status>" Write-Host "Variable setup completed" #Create new content package from an on-premises file share New-SPOMigrationPackage -SourceFilesPath $sourceFiles -OutputPackagePath $sourcePackage -NoADLookup Write-Host "Successfully created package" #Convert the content package for your target site ConvertTo-SPOMigrationTargetedPackage -SourceFilesPath $sourceFiles -SourcePackagePath $sourcePackage -OutputPackagePath $targetPackage -TargetWebUrl $targetWeb -TargetDocumentLibraryPath $targetDocLib -Credentials $creds - NoAzureADLookup Write-Host "Successfully converted the package for SPO" #Create azure containers and upload package $al = Set-SPOMigrationPackageAzureSource -SourceFilesPath $sourceFiles -SourcePackagePath $targetPackage -AzureQueueName $azureQueueName -AccountName $azureAccountName -AccountKey $azureAccountKey $al|fl Write-Host "Successfully created azure container" #submit content package data to site collection Submit-SPOMigrationJob -TargetWebUrl $targetWeb -MigrationPackageAzureLocations $al -Credentials $creds Write-Host "Successfully submitted package"
  • 23. Special cases • New-SPOMigrationPackage : if you local domain is not setup for single sign-on with Azure, use the paramert –NoADLookup. • ConvertTo-SPOMigrationTargetedPackage : if above or you do not want to map local user to cloud user (if you have different identities), then use the parameter –NoAzureADLookup. If you want to map, use the switch –usermapping file. For more details, check the command.

Editor's Notes

  • #2: Microsoft has released the new migration API for SharePoint online on last week of June. The APIs are in preview and not yet final for production use. The focus here is taking the old file shares and SharePoint on-premises to Cloud with much ease.
  • #3: Intro about myself
  • #4: In the entire collaboration suite on SharePoint, there are multiple components involved. Folder/Files and metadata about the elements is also important. I will be focusing on the moving of the files/folders with metadata and security like author/who modified it, it is shared with whom all and permission. Rest triangle shows that based on the component you are moving what kind of effort is involved and what is complexity level.
  • #5: The general approach recommended by Microsoft is plan  prepare  Migrate  Adapt. This is iterative to get the information correct at end point. The migration process can be identified using where we are at to where we are landing. The plan should focus on what we know and how we can use the skills to migrate the information.
  • #6: Why these new API tools? This is utilising the Azure for faster moving to cloud and keeping it simple to help any IT Pro and Dev to migrate the information to cloud. On investigation, this process is overall 5X faster than CSOM calls. Still in preview though and only available with tools like Metalogix, AvePoint, Sharegate. The impact on process depends who many and size of objects being processed. Small objects may be processed faster and large object may be taking more time. Limitations of platform is discussed later in this.
  • #7: This is high level information on how you are going to migrate the file/folders. Find out whether you are looking to migrate the file shares or SharePoint on-premises. This is important to know here as the temp package will depend on the command you would execute. Then you have the temp package which is including the 8 xml files with metadata of files/folder and security. You will transform this temp package to final package keeping the destination location in mind. This again generate 8 XML files which will include mapping as the files/folder metadata to library specific information. Then you submit this final package to Azure Blog and Timer job queue. This will move the 8 xml files + Other content files to Azure Blobs separately and take a snapshot. Now you tell SPO to take these files to SharePoint Online or OneDrive for Business. This will be done by running timer job and you can use tools to monitor this.
  • #8: Commands and explain what they do
  • #9: Prerequisites information
  • #10: If you are using file share, create the temp package
  • #11: If looking to move from SharePoint on-premises, creating the temp package.
  • #12: Covert the package for migration and this is final package
  • #13: Submit the files and other element xml files to azure. This will create queue and blob storage automatically and snapshot them before submission.
  • #14: Submit the package. The timer job will automatically pick them move to destination as SPO or ODFB.
  • #15: You can map the user if you are synced with Azure AD on-prem or by defining a usermapping csv during final package migration.
  • #16: The CSOM APIs are also live to use the same job submission to cloud. You can use powershell or CSOM to submit the job.
  • #18: CSOM is better in file size limit now as support till 10 GB file upload. Azure path could be more time consuming if you are creating more jobs based on the location to migrate.