The future is now: Migrating to XM Cloud

Today’s speaker

Jason St-Cyr Director, Developer Relations, Sitecore

  • 4-time Sitecore MVP
  • 6 years as a partner, 6 years at Sitecore
  • My kids love Bluey and Doc McStuffins. D&D nerd and music lover
  • What I believe: Be Honest. Be Kind. Be Helpful.

Socials

  • LinkedIn: /in/jasonstcyr
  • Mastodon: @jasonstcyr@mstdn.ca
  • Website: jasonstcyr.com

The plan for today

  • 🦄 What’s different about XM Cloud?
  • 💡 Should you migrate?
  • 👨‍🏫 Scenarios
    1. XM Jamstack
    2. Classic MVC
    3. Marketing / Email Automation
    4. XP “Global Brand”
  • 🔎 Things to look for
  • 🙋‍♀️ Resources and Q&A

Sitecore User Group Conference – SUGCON India 2023

The Grand New Delhi

Thursday 24 August – Friday 25 August

  • 200+ attendees
  • Gain knowledge and get inspired
  • Community speakers and Sitecore product teams
  • Beginner and advanced level topics and presentations
  • More information: india.sugcon.events

What’s different about XM Cloud

Why choose XM Cloud?

Only on XM Cloud

Should you migrate?

“IT DEPENDS.”

Common profiles for XM Cloud migration

  1. The Early Adopter
  2. The Maintainer
  3. The Modernizer

Common profiles for XM Cloud migration: The Early Adopter

  • Already builds headless architectures
  • Uses cloud-native “best-of-fit” solutions
  • Needs to align Sitecore solutions with composable strategy in their stack

Common profiles for XM Cloud migration: The Maintainer

  • Keeps up to date on Sitecore XM/XP
  • Likely on an older non-headless architecture
  • Wants to transition to a SaaS platform and stop owning application upgrades

Common profiles for XM Cloud migration: The Modernizer

  • On an older version of Sitecore XM/XP
  • A long time since investment in their current site • Concerned about application End of Life
  • Wants to reduce steps needed to modernize

Scenarios

Scenario 1: XM “Jamstack”

A team is keeping up with the latest and greatest, and are excited to move to a Composable option and never upgrade again.

XM Jamstack: The Migration Plan

  • Step 1: Migrate solution to XM Cloud
  • Step 2: Launch XM Cloud and retire existing

What does the solution look like?

Jamstack in XM Cloud

Scenario 2: Classic MVC

A simple personalization solution built on Sitecore MVC renderings

Classic MVC: The Migration Plan

  • Step 1: Migrate content to XM Cloud
  • Step 2: Build new design on XM Cloud
  • Step 3: Launch XM Cloud and retire existing
  • Step 4: Implement personalization

What does the solution look like?

Step 1: Migrate content to XM Cloud

Step 2: Implement new design on XM Cloud

Step 3: Switch XM Cloud to production

Step 4: Implement personalization variants

Scenario 3: Marketing / Email Automation

Audience engagement is key for this team and they use EXM and Marketing Automation to reach their customers.

Marketing / Email Automation: The Migration Plan

  • Step 1: Start tracking with Personalize
  • Step 2: Migrate to Send/Personalize
  • Step 3: Go to the Edge and headless
  • Step 4: Migrate to XM Cloud
  • Step 5: Launch XM Cloud and retire XM

What does the solution look like?

Step 1: Track with Personalize

Step 2: Migrate EXM and Marketing Automation to Send

Step 3: Migrate to Personalize and transition to Sitecore XM

Step 4: Go to the Edge and Migrate to Next.js JSS

Step 5: Migrate to XM Cloud

Scenario 4: XP “Global Brand”

All around the world teams are working together on hundreds of sites with multiple production solutions and technologies.

Global Brand: The Migration Plan

  • Step 1: Start tracking with Personalize
  • Step 2: Go to the Edge and headless
  • Step 3: Transition to XM and retire XP
  • Step 4: Fully adopt Next.js JSS
  • Step 5: Launch XM Cloud and retire XM

What does the solution look like?

Step 1: Track with Personalize

Step 2: Go to the Edge

Step 3: Transition to XM

Step 4: Migrate to Next.js JSS

Step 5: Migrate to XM Cloud

Things to look for

Content migration

Content migration is never “trivial”

  • Sitecore Content Serialization can help move content to XM Cloud
  • More tools on the way to help with content migration
  • Most current content models should be compatible
  • Gradual migration could mean multiple content migrations (XP ➡ XM, XM ➡ XM Cloud)

Not all customizations are compatible

XM Cloud and Edge are different from Content Delivery instances

  • Customizations for pipelines running on Content Delivery are likely not compatible
  • Solve in a headless way on your head • Modules for Content Delivery instance will not execute on requests
  • No XP features, so XP modules will not work on XM Cloud

Recommendation: analyze and remove Content Delivery customizations and modules.

.NET or Next.js ?

Some things are easier with Next.js

  • XM Cloud Embedded Personalization and the Engage SDK were built specifically for Next.js. Need to capture page view events directly using the SDK.
  • Documentation, content, examples mostly focus on Next.js

Some things are easier with .NET

  • Existing .NET Core Headless can transition easier than a rewrite to Next.js
  • Teams with mostly .NET developers may find it easier to build in .NET and fill the holes than ramp up on skills

XM Cloud or Personalize?

XM Cloud has personalization and analytics built in, but is it enough?

  • Do customers need historical personalization beyond 30 days?
  • Custom rules?
  • Integration to external data systems?
  • Identity resolution? Pattern cards?
  • More than 8 page variants / 5 conditions?

Know the limits of XM Cloud when migrating an existing solution!

Is it in the 30%?

Migrating to Personalize

Personalize is not XP

  • Requires digital strategy to figure out how to achieve the same business goals
  • xDB data migration may not have a good ROI in all cases, especially if xDB was not system of record
  • Identify which data is critical to move and only move that data
  • Does early tracking get enough data to skip xDB migration?

Migrating to Personalize

Two systems of personalization

  • Gradual migration means running Personalize and XP at the same time
  • More complex data reporting
  • Confusion debugging personalization from two sources
  • Try to migrate full sections or sites to avoid having XP and Personalize conflicting.

Is static publishing a shortcut?

SSG without rebuilding MVC/SXA

  • Starting with Sitecore XP 10.2 SSG publishing
  • Smaller lift to get better core vitals
  • Not all sites are a fit
  • Best fit for content-only simple sites that need a quick initial move
  • Might require an upgrade if on an older Sitecore XM/XP version

Best bet is running fully headless to prep for XM Cloud

Migrating EXM to Send

###EXM is not Send

  • Different vision on solving email automation.
  • Not a migration, full replacement
  • No import of templates
  • Can migrate some data like contact lists
  • Send personalization can tailor messages, so can EXM, but they are done differently
  • Website or other channels likely need updates to trigger Send APIs instead
  • Send has no xDB, need to integrate to your source of truth for customer data

Migrating EXM to Send

Where is the complexity?

  • Content Delivery or XP/EXM Dispatch?
  • Tackle the infrastructure complexity first
  • Complex global CD infrastructure?
    • Target move to headless and static first
    • Then reduce down XP and EXM

Remember to warmup your new email service!

Some helpful resources

Migration to Sitecore Composable DXP landing page

Collection of articles and tools that guide help customer start with their migration.

Content published:

  • 4 customer scenarios
  • Example repository
  • Article series documenting our journey of migrating the MVP site
  • Details on migrating to CDP and Personalize
  • Article series on migrating from XC to Order Cloud

MODERN SAAS RELEASE NOTES

Changelog features 6 products!

  • Latest changes from XM Cloud, Content Hub ONE, Search, Discover, Personalize, and CDP
  • Powered by Content Hub ONE
  • RSS and Atom feeds for audience notification

developers.sitecore.com/changelog

FEDERATED SEARCH ACROSS 10+ SOURCES

Search available now!

  • Sitecore Search example implementation on the Sitecore Developer Portal * Sources include YouTube, GitHub, multiple documentation sites, forums, and Stack Exchange
  • Suggested Searches allow users to quickly jump to relevant articles

developers.sitecore.com/search

Questions? Thoughts?

Thank you

Socials

  • LinkedIn: /in/jasonstcyr
  • Mastodon: @jasonstcyr@mstdn.ca
  • Website: jasonstcyr.com