How do I get to XM Cloud from Sitecore XP?
Jan 03, 2023
Feeling anxious about all talk around the ascendance of Sitecore XM Cloud over Sitecore XM or XP? If you are wondering how you would get your complex Sitecore XP solution to XM Cloud (or any other headless CMS for that matter), then this post is for you.
Any large migration like this requires planning to execute. It will not be a click/next wizard to get you there if you have a Sitecore XP implementation of any significance.
Part of your planning will be to inventory your assets so you can figure out where they will go. Here are some of the typical assets you have in a Sitecore XP/XM solution:
|Gameplan to get to XM Cloud from XP
|Determine if you need a DAM. If you do, you will need a separate mini project to extract from Sitecore XP media library and move assets to a DAM. If you do not need a DAM, they can be migrated to XM Cloud.
|Content can be moved to the new CMS via Sitecore CLI AS LONG AS the content types for your new headless site are the same as they are now which is not likely. Therefore, it may be necessary after you build your new website to do some content manipulation via custom scripting to get your large volume content moved over to XM Cloud.
|As long as your content type needs aren't changing, this is in fact the MOST reusable component of your existing Platform DXP solution.
|Custom Logic (likely .NET)
|This will be one of the largest challenges. There is no home for this in XM Cloud. Your two options are:
|Unless you've already built your site using JSS/headless, you will have to completely rebuild your UX. Very little of your current HTML/CSS will be re-usable if you are moving from an MVC built Sitecore XP solution to a headless solution (such as XM Cloud or any other headless CMS). Because of this, you will likely want to consider doing a redesign at the same time which will impact your content and your content types as well (making migration more challenging).
|Personalization rules will need to be redone completely. You should target going to Sitecore Personalize as a new product for this. While there is personalization capability directly in XM Cloud (via a small integration with Personalize), any significant amount of personalization will require the separate Personalize subscription.
|There is no capability for custom indices or computed fields in XM Cloud. You will be required to leverage a hosted Search solution such as Coveo, Searchstax Search Studio, or Sitecore search for this.
|Currently workflows in XM Cloud are limited. If you have sophisticated needs, you should likely wait. It is unknown at this point whether the eventual XM Cloud workflow solution will be what was there in XP or whether it will be something completely new.
|Currently authorizations in XM Cloud are limited. If you have sophisticated needs, you should likely wait. It is unknown at this point whether the eventual XM Cloud authorizations solution will be what was there in XP or whether it will be something completely new.
This is a description of the end-state location of these assets. However, it will not be easy to get everything to its final destination all at once. You will likely need a few steps in between.
The interim steps would typically look like:
1. Move to Sitecore XM
The key here is to remove all your dependencies on the Sitecore XP capabilities. Features such as personalization, analytics, goals, anything based on xDB will all need to be removed from your application. It will be painful and potentially a large effort, but it’s the first step.
2. Extract Your Custom Logic to a Service Layer
This step could be very painful if you’ve got a Sitecore XP implementation that has been around for a number of years. This functionality needs to be separated into either display logic or back-end logic. The display logic will go into your head. The back-end logic will go into a new Enterprise External Web Service layer. I don’t want to use the word “micro-service”, because they will likely not be real micro services. However, they SHOULD be nimble and they should be built as if their consumers are external-facing clients such as mobile apps or external-facing websites. You will need to secure them at minimum, but the more robust this layer gets, you’ll need to start thinking about versioning, service discovery and governance. You could use tools to assist you with this such as AWS Service Mesh, Mulesoft, or Kong.
3. Upgrade To Latest Version of Sitecore
If you aren’t already on the latest, you’ll want to get to the latest version of Sitecore. This is because JSS, which you need to build your headless site on in the next step, has changed significantly from version to version. It isn’t even available if you are on version 8 and if you are on version 9, it is so much different than if you build your headless version of JSS in Version 9, you would require significant work in your head to make it work with the version of JSS you would be getting on XM Cloud.
4. Rebuild your Website Headless on JSS on Sitecore XM
Another painful step is redoing your user interface in a headless architecture. This essentially means redoing your web experience and likely will cause you to consider a complete visual redesign. This will likely make this a large initiative depending on how large your site is and how many sites you have. The good news is that your Core Web Vitals will improve. The bad news is that probably less than 25% of your current HTML is reusable.
5. Acquire XM Cloud
This is the easy one from an effort standpoint. Assuming you acquire the license, there will be work to set up your XM Cloud instance, but since it’s SaaS (Software as a Service), it will be mostly painless and automated.
6. Migrate Items Going to XM Cloud and Other Composable Services
Of the items in the list above, migrating your media library and your content will probably be the most challenging. But, if you have a lot of personalization rules, rebuilding all of those in a SaaS Personalization platform could be non-trivial as well. Really each type of content may kick off a mini project to get them to where they need to go to reduce the dependence on your website.
7. Point Your Head to XM Cloud’s Experience Edge
After all the work is done, hopefully repointing the Head to XM Cloud is a simple thing. Hopefully it entails a full regression test and not much more, but there will always be differences that will cause you headaches and to plan for the best-case scenario usually means to plan to be disappointed.
As you can see, moving a large complex website from Sitecore XP to XM Cloud is not a trivial undertaking. There will be plenty of less complex scenarios that will be simpler, but many of our clients have these (and more) issues that require an extended program to unravel before being able to take advantage of XM Cloud and composable. However, to be sure, it IS the future, and it’s important to start planning now. The best advice I can give is to plan and start small before doing the full program. Do a single, smaller website or landing page in this new architecture so you can be sure your team will not only gain the expected benefits, but be able to maintain and extend the system if all your sites were built in this manner.