A Practical Approach to Migrating from Sitecore XC to OrderCloud without a Full Rewrite.

A Practical Approach to Migrating from Sitecore XC to OrderCloud without a Full Rewrite.

Sitecore Symposium 2024 has just concluded, and during the event, I had several discussions with Sitecore, MVPs and Community members about a topic close to my work: migrating from Sitecore Experience Commerce (XC) to OrderCloud. Given my deep involvement in the commerce space, these conversations touched on the challenges and misconceptions surrounding this migration, particularly the widespread belief that it inevitably requires a full rewrite.

While this migration presents an opportunity to rethink your whole digital strategy, and in many cases, a full rewrite to combine OrderCloud with XM Cloud (or at least Headless XM/XP), some clients are happy with their XP/XM implementation and would like to have options to only migrate the Commerce side of their solution.


In this blog post, and based on a recent experience, I will share my thoughts about a Practical Approach to Migrating from XC to OrderCloud while retaining most of your XP/XM investments.

But before we dive in, let's start by defining the target audience for this blog post.

You’re currently on XP/XC, using SXA/MVC by default and running on version 9.x or 10.x.

While you're aware that XC is still officially supported, no new features or investments are being made by Sitecore, only compatibility updates and bug fixes. It’s clear that XC is not a future-proof platform and will soon become a liability, limiting your ability to deliver modern, powerful experiences for your customers.


What are your options then?

Option 1: Full SaaS migration to XM Cloud and OrderCloud

Migrating to XM Cloud and OrderCloud represents a full replatforming effort, involving a complete overhaul of your digital experience and commerce infrastructure. While this option comes with significant upfront costs, it offers a future-proof solution that fully embraces a modern, composable architecture.


Is This the Right Fit for You? This option is best suited for businesses that:

  • Want to fully embrace the future of digital experiences with a cloud-native, API-first approach.
  • Are looking for reduced operational overhead and prefer a platform that can scale rapidly as your business grows.
  • Have the resources and appetite for a full replatform and are willing to invest in configuring a new, flexible composable architecture.


Option 2: Headless XP/XM with OrderCloud

Adopting a headless approach with Sitecore XP/XM and OrderCloud also requires a full rewrite of your platform. In this scenario, the front-end is completely decoupled from the back-end, allowing you to create custom experiences across multiple channels using modern front-end technologies. However, this shift also comes with significant costs, both in terms of replatforming and moving away from a traditional .NET-heavy back-end.


Who Is This Best For? This option is ideal for businesses that:

  • Have the ability and resources to switch their tech stack from back-end-heavy to front-end-heavy.
  • Are willing to invest in replatforming and training their teams on modern front-end technologies.
  • Want the flexibility that comes with a headless architecture, allowing for highly customized front-end experiences and omnichannel delivery.



Option 3: Keep XP/XM and Replace XC with OrderCloud

This option is the alternate/practical approach I'm referring to in my title. You can think of this option as a kind of "Heart Surgery" for your digital platform. You're replacing the core commerce functionalities, while keeping the rest of your digital features and experiences.

Of course, I'm oversimplifying it, as you need to reconnect all your "Blood Vessels" to the new Heart for the body to function properly.

You will also need tooling to migrate things like Catalogs, Customers (If needed) and more from XC to OrderCloud.

Many Sitecore partners have built accelerators to help speed up the process. I also have some Open-Source Projects I'd be happy to share with you if needed.


Who Is This Best For? This option is ideal for businesses that:

  • Want to transition to OrderCloud without incurring the high costs and complexity of a full replatform or rewrite. By keeping XP/XM in place and only replacing XC, this approach offers a more cost-effective path to modernizing your commerce functionality.
  • Have significant non-commerce investments in Sitecore XP/XM that they want to preserve. If your personalization, content management, and marketing automation systems are already functioning well, there’s no need to rebuild or migrate these elements.
  • Aren’t ready for a full SaaS migration or headless approach, but still want to take advantage of the flexibility and scalability of OrderCloud for their commerce needs. This option allows you to modernize your commerce infrastructure while maintaining the core elements of your existing platform.


So, what does this approach look like at a high level?

Assumptions

To guide this exercise, let’s begin with a few assumptions that align with common practices.

You're most likely using Azure PaaS.

You're probably following Helix Principles, so your architecture likely resembles something like this:

Helix


And the folder structure of your solution is likely similar to:

Helix Folders


You either have a Feature.Commerce with Foundation.Commerce projects or decided to go more granular with Feature.Catalog, Feature.Cart... Either way, let's assume your commerce functionality is contained within one or multiple feature/foundation projects.

Let's now get into a high-level step-by-step migration process based on previous assumptions.

1) Commerce Engine Migration

First step is plan the migration of the Core Commerce Engine itself. At this step you need to think about:

  • Catalog Migration (Including Categories, Products, Pricing, Inventory...)
  • Customers Migration
  • Promotions Migration (If needed)
  • CRM and External Integrations
  • An OrderCloud Admin App, to manage the catalog, products, and more. I suggest you start with OrderCloud accelerator: OrderCloud Accelerator and customize if needed.

2) Choose the right XP/XM offering for you

At this stage, based on your needs you need to choose if you want to stay on XP or downscale to XM, and whether you need or SXA or not.

3) Lift and Shift Sitecore Upgrade

I strongly suggest you couple the migration from XC to OrderCloud with a Sitecore Upgrade to take advantage of newest features as well as performance and security enhancements.

In this scenario, Since you are moving away from XC, a Lift and Shift is the recommended approach.

  • Using Azure Marketplace, Install newest version of Sitecore XP or XM with addons based on previous step.
  • Migrate all the non-commerce Project, Feature and Foundation Projects from your existing solution to the new solution and fix Breaking Changes.

At this point you still don't have a working Storefront as the Commerce portion is still missing.

4) Commerce Implementation using OrderCloud

This is the largest step of your project.

At this stage you need to design and implement your Commerce Experience including:

  • Sitecore Templates, Renderings, Pages
  • MVC Controllers, Models and Views to support your renderings
  • An OrderCloud connector. You can use native REST API Calls or the OrderCloud .Net SDK
  • An OrderCloud Middleware to handle callbacks for Webhooks, Integration Events...
  • Any additional integrations: Payment Providers, Tax Providers, Shipping, CRM...


5) Connect and Sync Commerce and Content throughout your solution

At this step you need to rebuild any broken connections between commerce and content that were previously pointing to XC and that you now need to point to OrderCloud (If and where applicable)


These are very high level steps, focusing on what is relevant for this specific approach . Please refer to this blog post I shared a few months ago for more details on a real-life implementation : Sitecore Hybrid Implementation: XM and OrderCloud


Before I wrap this up, if you're still wondering why and if you should be moving from XC to OrderCloud, let me share some numbers from my recent implementation using this same approach:

  • Azure Hosting Costs divided by 3.
  • Content Delivery number of instances needed down from 10 to 4. (And with better performance as a result)
  • Lighthouse Scores from D to A to reach above 95. (Yes it's possible even with MVC)

  • Development velocity increased significantly due to OrderCloud's flexibility and its easier learning curve for new developers, allowing for much faster progress.


Conclusion:

As Sitecore CEO, Dave O’Flanagan, emphasized during Symposium, choice is at the heart of Sitecore’s philosophy. As a long-time advocate for the idea that there’s no one-size-fits-all solution, I was pleased to see this message highlighted so strongly.

This article follows that same mindset, aiming to provide Sitecore customers with options for their migration away from Sitecore XC.

I hope you found this article helpful, and if you have any further questions or would like to discuss your specific use case, don’t hesitate to reach out.



Useful Links:


Debabrata Biswas

Senior Sitecore Developer/Architect at XCentium, Certified Sitecore XM Cloud and Sitecore Developer 10+, 9+, 5+

5 个月

Very informative, awesome

要查看或添加评论,请登录

社区洞察

其他会员也浏览了