,

Simply Static Studio – Migration

Simply Static Studio - Migration 1

After two additional weeks of constant development, testing, troubleshooting, and refining, I can finally show you how migrations will work in Simply Static Studio.

Preparing a migration

As of now, we require a specific format for your ZIP file to be used when running a migration on Studio:

Simply Static Studio - Migration 2

I’m confident that we will support all kinds of backup files in the future (from plugins and different hosting companies), but we had to start somewhere, and having a stripped-down structure seemed to be a reasonable request for a fully automated migration solution.

Start a migration

The moment you log into your Studio account, you have two ways of getting started: You can either create a fresh site with our optimized setup to start from scratch or migrate your existing website to Studio and use it as a starting point for your Static WordPress project.

As both mark the starting point for your Static WordPress journey, it felt natural to group them in the UI:

Simply Static Studio - Migration 3

The moment you click on Upload Backup, it will add our uploader to the screen, allowing you to drag and drop or manually pick the file from your filesystem:

Simply Static Studio - Migration 4

The first challenge: smart uploads

Uploading large files over the internet involves many things, such as dealing with incomplete data, streaming, compressing, and temporarily holding the data.

I won’t go into all the technical details, but let me tell you, I’m pretty proud of what we achieved.

Simply Static Studio - Migration 5

The moment you select your file and click Upload Backup, we will start streaming the file to our S3 server.

As you can see, we give you the progress of the upload in real time and allow you to pause and restart it at any given time.

You can even close the window and come back later to continue the upload, as we hold the temporary data for about 24 hours before deleting it.

Migration in Progress

Once the file is uploaded successfully, we will automatically close the Create Site window for you and schedule the site for deployment.

At first, it will look like creating a new site, as we deploy a basic WordPress installation (including installing PHP, NGINX, issuing SSL certificates, setting up the CDN..) first and then start migrating your actual data and files.

This turned out to be the more efficient way (in terms of performance and reliability.

Once that’s done, we move the status to migrating, which indicates that the migration has started:

Simply Static Studio - Migration 6

Compared to creating a new website, we don’t show you the number of seconds it will take to finish it, but we will send you an e-mail once the process has completed.

Challenges of our migration

Instead of simply copying files and importing your SQL file for the database, our migration is doing a lot more:

  • It moves all your files from wp-content
  • It imports your SQL database dump and replaces all instances of the URL with the new URL
  • It runs our entire pre-configuration for Simply Static and Simply Static Pro

The overall idea is to get the exact same results, whether you choose to start a new website or migrate an existing one.

Fine-tuning

We are still fine-tuning the solution.
There are two areas where I want to invest some additional time to get better results:

Speed

I wouldn’t say our migration is slow right now, but since we trimmed almost everything for performance, it feels like we can do a much better job, especially with larger websites (>2.5 GB).

Memory Consumption

The process is still very memory-intensive.

While this wouldn’t directly affect our users (as we temporarily increase the memory needed during testing), we want to deliver high-quality software and eliminate the need to increase the memory just for migration.