Enterprise customers are very downtime averse, even more so than the typical VPS or shared hosting customer. It is important to keep this entirely valid concern at the forefront of consideration when onboarding an enterprise client and migrating their services. The fact of the matter is website migrations can be a monumental headache. Especially for clients who openly shed money for every second their site is not in top performance. These types of clients require a fully fleshed out migration strategy that covers all of their concerns. Minimizing downtime alone is not the whole story required for a successful migration, though it is the most acute one. However, following the strategy outlined herein will lead your team to a successful migration experience no matter the service tier.
Through decades of migrating thousands of customer websites, including many enterprise-tier clients, I’ve developed and refined a preferred stratagem for successful enterprise-tier migration services. NameHero handles your migration with the dire seriousness it deserves when moving to one of our Enterprise Hosting Packages.Jason M Potter
Systems Operations Manager
Phase 1: Initial Infrastructure Build
The first step in all migrations starts with our datacenter team building the new infrastructure. This includes setting up new web servers, database servers, and any other necessary hardware and software. In this phase its only necessary to build the minimal viable hardware needed, typically a web server and and connected database server. This is often enough to start the migration process while the remaining hardware is inventoried and built in its own due course.
Phase 2: Initial Migration Sync
Once the initial infrastructure is in place, the migration team will begin the process of moving the customer’s data from the old environment to the new one. This is done using a variety of tools and techniques, depending on the specific needs of the customer. For example, the team may use a database migration tool to move the customer’s database from the old server to the new one. They may also use a file transfer tool to move the customer’s website files from the old server to the new one. In the case of WordPress sites, the team may employ one or more plugins used for WordPress migrations. You can read more about these plugins in our sister articles:
- How to Choose the Best WordPress Migration Service for Your Website
- How To Use The All-In-One WordPress Migration Plugin For WordPress
Staging Sites: Avoid migrating existing staging sites when possible. Spinning up a new staging site post migration ensures that the staging environment is pristine and not plagued with potential migration difficulties.
Phase 3: Functionality Testing
Arguably the most important phase throughout the process. Once the initial migration sync is complete, the migration team will work with the customer to test the major functions of the site and/or application on the new environment. This includes testing all of the customer’s applications, websites, and other services to make sure that they are working properly on the new environment.
The migration team will also work with the customer to identify and resolve any issues that are found during testing as well as any pain points that the customer expects the migration to resolve. This phase is vital and should not be rushed.
The onus for testing falls on the customer. Avoid relying on the migration team to vet all testing. Afterall the customer is most capable of identifying aberrant behavior that would otherwise be overlooked by a technician who is less familiar with the site or application’s daily use cases.
Phase 4: Systems Optimizations
Once the customer is satisfied with the functionality of the new environment, the migration team will begin the process of optimizing the systems and settings of the new infrastructure. This includes tuning the configs of the web servers, database servers, caching services, and other hardware or software to maximize performance. The migration team will also work with the customer to implement any necessary security measures that are included as part of the platform. This phase is very similar to the previous, so expect open communication in both directions to make sure the site is as performant as expected prior to the final sync.
Phase 5: Incremental Syncs
Once the systems optimizations are complete, the migration team will begin performing incremental syncs. This involves pulling the latest changes from the old environment onto the new one. This process mirrors closely that of the final sync procedure and is a great way to sort out problems that may be encountered during the final sync phase. It’s also the best way to accurately estimate the time needed for conducting the final sync and minimizing downtime as a result of the change.
Repeated incremental syncs can also be done periodically between now and the time of the scheduled final sync. This is especially useful during longer migrations where additional development time has been needed to work out issues with functionality on the new environment.
Phase 6: Site Moratorium
Once the final sync is scheduled, the migration team will ask the customer to put their live site into a moratorium phase. This means that the customer should avoid making any unnecessary changes to their live site during the final interim since the last incremental sync . This helps reduce the amount of time the final sync will take as well as reduces the propensity for post migration errors as a result of too many changes.
Phase 7: Final Sync
At the scheduled time, the migration team will perform the final sync. This works in much the same way as the incremental syncs from earlier. The stark difference being that the current live site is forced into a read-only or maintenance mode, to prevent any changes from occurring during transit of the final sync. Once the final sync is complete, the customer’s live site DNS records will be switched over to the new environment and the site will be turned over to the customer for another round of functionality testing.
Phase 8: Post Migration Cleanup
After the final sync, the customer should test their new site to make sure that everything is working properly. The customer should also monitor the new site closely over the next several hours for any potential problems that may crop up. The migration team will be available to provide assistance as needed and will diligently assist with troubleshooting any minor problems that need to be corrected post migration.
The first few hours after the final sync are the most critical. This is when the customer needs to be most diligent, asking whether the site is safe and functional enough as-is to continue moving forward or if functionality and/or performance are suffering enough to warrant reverting DNS back to the original infrastructure. It’s important to try and work out any post migration issues without rolling back DNS. Since rolling back DNS will effectively lose all changes made to the site since the final sync started. This can be especially problematic for ecommerce sites that take orders immediately after the migration, have the possibility of losing out on those orders.
In addition to the steps outlined above, there are a few other things to keep in mind when migrating onto a new enterprise environment:
- Always Backup: Have a backup plan in case something goes wrong during the final sync process. This can be as simple as reverting DNS back to the original infrastructure or taking full backups before migration or both.
- Change Management: Limiting changes during key phases of the migration helps ensure site accuracy, migration speed, and reduces the propensity for singing the post migration blues. Adding new content is generally okay, but changing software, plugins, data structures, or design elements mid-migration tend to convolute the final sync process, which can easily lead to errors.
- Comms: It is important to communicate with the migration team throughout the migration process. It’s equally important for the migration team to communicate important processes to the customer as well. An open and honest dialog is necessary to find and squash all the potential pain points before they become chronic issues.
- Patience: It is often better to defer and reschedule a questionable migration rather than to rush it through before an arbitrary deadline. Making the change prematurely to an ill prepared new environment can very easily lead to disastrous outcomes.
By following the steps outlined in this guide, we ensure a successful migration experience that is low on downtime and even lower on stress.
Jason Potter is a Senior Linux Systems Administrator & Technical Writer with more than 20 years experience providing technical support to customers and has a passion for writing competent and thorough technical documentation at all skill levels.