November Happy Hour will be moved to Thursday December 5th.

Daniel Ovaska
Nov 22, 2023
  834
(1 votes)

Change datacenter for DXP

Did you know it is actually possible to switch DXP datacenter to a new one? I didn't. But a customer of mine really needed to switch to a data center in Sweden from a North Europe one to avoid some geofencing issues as well as speed up response times for end customer and this is actually possible using the migration tool from Optimizely. If you didn't know already, using an Azure data center in Sweden has been possible only for a year or two so older customers in Sweden has been forced to use the North Europe one instead.

The main intent of the migration tool is to be able to migrate a site from CMS 11 => 12 but it can also be used to only switch data centers if you really need to. 

As a tech lead for this project I had a few concerns about this.

  1. How long downtime would it be?
  2. How well can content be synched and tested? Can it be done multiple times?
  3. How are certificates and custom domain handled? Do we have to redo those for new environments from scratch?
  4. Is it as easy as it seems with the migration tool or does it have a million hidden bugs that I will step on when actually doing it?
  5. What about build pipelines? Will they need to be redone?

The short answer, it worked great!

The process on a high level is:

  1. Let Optimizely set up a new DXP instance and prepare the migration tool.
  2. Click the start button on migration tool
  3. Rebuild deploy pipeline and deploy code to new site environments (integration, preprod, production) using new access tokens
  4. Sync content and files to new site. Integration => new integration. Preproduction => new preproduction and finally for production.
  5. Test. At this time you still have temporary hostnames on new site.
  6. Go live! Move hostnames for integration => new integration, continue with the other environments. Sync content again if needed.
  7. Be happy!

You can read more in detail about each single step in the link above about the migration tool.

The old environments will still be there if you need to rollback for any reasons. We didn't so I haven't tried that part of the process.

Downtime was short. A handful of minutes for production environment in total. It will need to be in maintainance mode for last step when moving hostnames.

During the testing phase it was easy to move content and files multiple times between the old DXP to the new DXP instance. It took approximately 20 minutes for a large site to synch both db and blobs. Certificates and custom hostnames were moved by the tool and I didn't have to do any actions for that. Custom X509 client certificates used to identify the servers need to be reinstalled in new environment. We had one of those which support helped us to move. Make sure to get a pfx file that includes private key in that case. A cer file won't cut it. 

The tool to migrate between new and old solution worked flawlessly in our case. I was definitely impressed. 

Build pipeline from Azure devops => integration had to be redone. You need to generate some new access token for the new DXP instance and use those to deploy instead. This was done before lunch one day and no major hazzle. You can clone the existing pipeline and do a few variable changes and that is it.

So there you have it! If you need to switch datacenter to get close to your end users when Microsoft decides to open a new one closer to your location; Do it! Overall it was actually a surprisingly smooth experience.

Optimizely has you covered for this scenario.

Nov 22, 2023

Comments

Please login to comment.
Latest blogs
Set Default Culture in Optimizely CMS 12

Take control over culture-specific operations like date and time formatting.

Tomas Hensrud Gulla | Nov 15, 2024 | Syndicated blog

I'm running Optimizely CMS on .NET 9!

It works 🎉

Tomas Hensrud Gulla | Nov 12, 2024 | Syndicated blog

Recraft's image generation with AI-Assistant for Optimizely

Recraft V3 model is outperforming all other models in the image generation space and we are happy to share: Recraft's new model is now available fo...

Luc Gosso (MVP) | Nov 8, 2024 | Syndicated blog

ExcludeDeleted(): Prevent Trashed Content from Appearing in Search Results

Introduction In Optimizely CMS, content that is moved to the trash can still appear in search results if it’s not explicitly excluded using the...

Ashish Rasal | Nov 7, 2024

CMS + CMP + Graph integration

We have just released a new package https://nuget.optimizely.com/package/?id=EPiServer.Cms.WelcomeIntegration.Graph which changes the way CMS fetch...

Bartosz Sekula | Nov 5, 2024

Block type selection doesn't work

Imagine you're trying to create a new block in a specific content area. You click the "Create" link, expecting to see a CMS modal with a list of...

Damian Smutek | Nov 4, 2024 | Syndicated blog