Follow me on Twitter @AntonioMaio2

Thursday, May 7, 2015

Notes from Microsoft Ignite
The Microsoft IT Portals Journey: On-Premises to Office 365

Microsoft Ignite is proving to be an exciting conference with new technologies and announcements about how Microsoft is evolving their technology stack to help us collaborate in new and better ways. I'm at the conference attending sessions on security, data protection, migration and other topics and want to share my notes so that they may be a resource to others as well.

Presented: Thursday May 7, 2015
Presenters:
- David Johnson - Principal Program Manager, Microsoft IT
- Alfredo Mogollan, Principal Solution Manager, Microsoft IT
- Kimmo Forss, Sr. Program Manager, Microsoft Services


- Microsoft has 330 TB on their SharePoint Online Tenant
  • 1300 Content DBs
  • 100 front end machines
  • This was the migration of SharePoint product team portals to SharePoint Online

Objectives
  • Strategies to adopt and move to O365
  • Learn what changes made as part of the move
  • What worked for Microsoft internally and what didn't

- Migrating to the cloud is first re-envisioning your business and how your users work
  • Needed to rethink Microsoft's experience in the Cloud

Benefits
  • IT as a service - role of IT shifts to customer service and max value, rapid solution development
  • Anytime Anywhere Access - access all enterprise data from any device; empower users to get work done
  • Technical Agility - can add capacity and flexibility to scale up quickly; simplified solution isolation and deployment
  • Rapid Feature Deployment - patching completed automatically; provides the latest and best features all of the time
  • Dog food - provide feedback to our product group; partner for continuous improvement

- Before migration Microsoft had MySites on Prem - approx. 8TB
- Now has >150 TB for OneDrive for Business

Our Journey...


Microsoft is ring 0 - they get new Office 365 bits first!

After rethinking the experience in the Cloud… dipped their toe in the water a bit
  • Get ready
  • Create service foundation
  • Derive cloud adoption
  • Utility sites migration to cloud
  • Custom workflow migration

Journey is continuing - next gen portals are coming in 2016; how do we take advantage of that; Requires thought and planning

Considerations and Goals
  • What is tied to other on premise systems - empower users to get work done
  • Where do we have customizations - protecting corporate internal assets
  • What will internal security even let me move - ???
  • How do we apply enterprise policies - ???
  • How do we live with hybrid SharePoint - ???
  • How does the support model change - ???

What Do We Put Where and Why
  • On premise
    • Content in region for regulated reasons (ex. Nokia acquisition meant some content needed to stay in Europe)
    • Legacy BI - takes some time to rethink the BI experience here
    • Partner sharing - where we master accounts - how do we enable extranet accounts for external partners
    • Complex customizations - pre-rethink
  • Office 365
    • Personal sharing; OneDrive for Business
    • Group and org collaboration; team sites and groups
    • Portal and new cloud apps
    • Partner guest sharing = where we share with external account


Drive On Premise Cost Reduction

How do you move?
  • Start fresh
    • Abandon current on premises
    • Ideal for archiving/closed sites
    • New self service utility sites - reduced from approx. 59k to 26k in 1 year
  • As Is Migration (lift and shift)
    • Move site content as is
    • Ideal approach for basic sites, but lose option to take advantage of new features
    • Active self service utility sites
  • Partial Move
    • Move selected content (hybrid or revised)
    • Option to rework site as needed
    • Leverage 3rd party tools (Microsoft IT uses Metavis)


Portals in Cloud - Rethink your intranet
  • Think about how do users find information - what is the best way for them to find knowledge/information?
  • How are content publishers publishing content? How is the content syndicated into regional sites?
  • How do you make it easy for employees to work and collaborate? Social Component.
  • Move from organizational silos (disconnected teams) to putting the user at the center of their world
    • When they started thinking about the migration of their portals, they considered how do we make it easier for users to access their information?
  • MSW - corporate communication; hub for other internal portals; point of entry for enterprise search
  • Curated content by corporate communications

Guiding Principals
  • Be out of the box as much as possible - minimize customizations
  • Render well across devices - remove fixed with desktop target
  • Reusable responsive design package - minimize impact of Microsoft IT custom design on SP compatibility; minimize fix it cost for MSFT
  • Standard content schemas - MSW news using enterprise content type: approved news item
  • Separate content from UI - rich application deliver targeted experiences; focus on content, not site design

Responsive Design
  • 1 page multiple experiences
    • Reflow page to optimize UI
    • Simpler to manage than building for unique device channels
    • Not as optimal as per device experiences/native apps
  • Challenges come with various devices
  • Based on community frameworks
  • Work goes beyond framework/package

Office 365 Performance Considerations
  • Caching differences between on premise and cloud
    • Don’t bet on server site caching for dynamic pages
    • On premises MSW had 4 CFE, microsoft.sharepoint.com > 100
  • Content by Query part was expensive, replacement options
    • Content by Search - best option but may not be viable if freshness is not acceptable
    • JSLink view customization of List view web part
    • Client side asynchronous list based lookups using the CSOM

Considering Navigation
  • Retain O365 app launcher
  • Be careful with migrating navigation - MSW using the structural navigation added 3+ seconds to each page load
  • MSW NOW uses: managed metadata navigation - ideal for complex sites but not security trimmed
  • structural navigation
    • Better for simple sites where security trimming is required
    • Do not use this on SharePoint online unless you have a simple site structure
  • Search drive navigation
    • Good choice for complex sites where security trimming is required
    • Custom, not used by Microsoft IT

Refactoring full trust solutions
  • Identified 15 custom solutions
    • Option 1: RETIRE- Performed analysis on custom solutions to determine options - simplified where viable
    • Retire, refactor, replace with OOB or from catalog
  • Option 2: REPLACE w/ OUT OF BOX: Identified equivalent out of box options in O365
  • Option 3: REBUILD
  • Moved from full trust to SharePoint provider hosted solutions
    • Glossary - term lookup solution from metadata store
    • Slide show - picture galleries
  • Azure provider hosted
    • Campus maps: mash up of Bing maps & LOB geo-reference data
    • Page mailer - deliver page to email (newsletters from portal)

Microsoft Services - Migration Process

  • Assess
    • Inventory content, owners, size (had 37K site collections, including engagement sites)
    • Schedule
    • Plan
    • Goal: Reduce Uncertainty
  • Remediate
    • Change full trust solutions - Microsoft Services did not move any customizations into cloud
    • Refactored information architecture
      • 37K site collections were reduced to 120 site collections
      • Changed content types
      • In base document types there are no mandatory metadata columns - removed these
      • If you move information up to be shared, then they force metadata to be selected
    • Take opportunity to rethink custom solutions
    • Like when moving houses - you take the opportunity to clean up
  • Migrate
    • Moving data
    • Automated migration: 1 person worked for Jul-2013 to Feb-2014 (9 months) - did not include planning work
    • Ideally you would have 2 or 3 people
    • Worked to automate this process as much as possible

Post Migration Fix Up
  • Inventory and Scheduling
    • Leveraging SQL - Stored migration schedule details in SQL - could query:
      • Ex. Which sites are scheduled to be migrated on July 4th?
      • Ex. Who are the site owners for sites migrating on Jan 20th?
  • Scheduling principles
    • Max 20 GB / day
    • Max 250 site collections per day
  • Portal
    • Scheduling changes
    • Error reporting - all stored in SQL: check logs every morning for which sites failed
      • Expect failure rate of 1 to 2%
      • If site fails - investigate, determine remediation options and schedule for next day
  • Exclusions
    • IT's migration process
  • Make sure you know what you have
    • Workflows
      • Consider how many workflows you have
      • How many are currently in flight
      • How long have the workflows been in flight - some may have simply been started a long time ago and can simply be stopped and the state doesn't matter; in others the state will matter
    • Term sets
      • Consider term GUIDs - if referencing them and re-create term set on SPO, GUIDs will be out of sync
      • May need custom tool for preserving term set GUIDs
    • Master Pages
      • Avoid customizing master pages - when service is updated the master page definitions are also updated so customizations can break

Migration Process
  • 2 weeks before migration send emails to site owners (sites are scheduled to migrate on Day X, with link to portal)
  • Export the sites and put sites in read-only mode
  • Change information architecture
  • Import content - all errors written to SQL
  • Notify users that migration is complete

Tool Set
  • Microsoft Services created PowerShell cmdlets
  • Custom scripts for remediation
  • Tool selection criteria
    • Feature set - does it do what you want it to do; not only content lifting but rearranging of architecture
    • Server footprint/load - not relevant for cloud but what type of load will it put on the environment; no longer throttling through new migration pipeline
    • Licensing costs - are you paying for the tool, the content per GB or per user
    • Automation capabilities - if you have 37K site collections you don't want to do 37K clicks
    • Support - how efficient is support organization
  • MSIT - Used Metavis
    • Prepared content inventory
    • Generated a pre-migration analysis report to assess the custom solutions
    • Prepared mappings to migrate security groups and permissions/users
    • Map old layouts into new responsive layouts
    • Content type mapping
    • Mapped fields and data to new content types as part of migration/post migration activities
    • Migrate content and pages from SP2010 to SPO
  • Custom scripts for post migration activities
    • Mapping old web parts with new ones, validating permissions and groups
    • Any custom part had to be replaced
    • Plan for manual migration - inevitably there will be some components to migrate manually

Session Takeaways
  • Start with easy workflows first
  • Drive O365 adoption for new to reduce dependency on migration later
  • Understand technical trade offs and potential differences; portals can live on O365
  • Re-envision to take advantage of cloud first, mobile first experiences
    • Many business processes were designed several years ago - often need to rethink those processes for business today
    • Have opportunity to reimagine the employee experience - ex. accessing information from mobile devices, from touch devices, how can things be more task based
  • Assess before commitment to reduce uncertainty
    • Understand environment, custom solutions, site types, and what people are actually using
  • Don't assume that your businesses know SharePoint
  • Have to have the right team
    • People that understand the source environment
    • People that understand the destination environment
  • Have realistic timelines

Other Details
  • SSRS reports are still on premise
  • User Profiles are still on premise

Look For:
  • Microsoft Services may put PS cmdlets used on GitHub
  • Metadata preservation examples available on GitHub
  • User Profile preservation examples available on GitHub

You can watch the entire presentation here: http://channel9.msdn.com/Events/Ignite/2015/BRK2154


Enjoy.
-Antonio

No comments:

Post a Comment