When it comes to migrating from one server to another, even skilled professionals approach the project with a little anxiety.
Why do migrations cause such anxiety?
Because there are a number of things that can go wrong, and any one of them doing so even just a little bit can cause catastrophic consequences.
However, just because the stakes are high doesn’t mean that the outcome can’t be well-managed from the start.
Thankfully, server and website migrations are fairly straightforward, and if you or your IT team follow a very specific set of steps, you can remove the chance of error, failure, or downtime from the equation.
Reasons for Migrating Servers and Websites
People and organizations may migrate servers and websites for a number of reasons. The most common reason for different infrastructure is a necessary increase in resources.
For example, a website becomes increasingly popular, and existing resources simply aren’t sufficient enough to keep up.
Additionally, a migration may be necessary if the physical server or operating system has aged to the point as to no longer be efficient. In that case, the application or website can be migrated to a newer server that provides greater resources or better return on investment.
Server migrations also take place when moving from a development environment to production, or when changing hosting companies. Changing hosts creates an additional layer of complexity because the team working for the existing hosting provider is different from the team working at the new hosting provider, and a “handoff” must take place.
Thankfully, many hosting providers offer at least some resources and support during server and website migration.
What to Consider During the Migration
Planning for and executing a successful migration includes a number of steps that can be broken down into one of three categories.
By giving each category appropriate consideration, you can eliminate potential areas of error and make the migration successful. Each category should be given equal consideration as each is integral to the overall success of a migration.
Develop Your Plan
Before you endeavor to move a single bit or byte of data, you need a rock-solid plan.
Rather than detailing only what success looks like, it is critical that you outline what the process should entail as well. We recommend also outlining where there might be areas of difficulty. Doing so will make you and your team aware of what to be on the lookout for as the migration is happening.
For starters, it is recommended that you determine where responsibilities within the migration lie. Here are a few questions to help consider the appropriate responsible parties:
- Who will identify what data to transfer, and who is responsible for ensuring all data is transferred?
- Who is responsible for creating a backup and initiating an update freeze before the migration begins?
- Who will be in control of changing DNS?
- Who will test the migrated data?
- Who will configure supporting applications and connections on the target server?
By outlining exactly who is responsible for each step in the migration, you’ll reduce the potential for anything to be overlooked or forgotten. Sometimes each responsibility falls to one person, while other times there might be dozens of individuals involved.
By clearly and completely detailing who handles what, you will eliminate confusion and chaos during the migration even if something does go wrong.”
Next, you should outline milestones along the way for your migration.
- What is the start date?
- What is the anticipated date that data should all be transferred?
- How long will testing take?
- When will you flip the DNS to make the new server “live?”
- Is an additional sync needed between testing and go-live? When will that occur, if so?
Outlining milestones helps everyone understand if things are on-track or not, and keeps the responsible parties above engaged for when their tasks need to be completed.
Have a Backup Plan
Finally, during your planning it is recommended that you have a backup plan.
This backup plan should include how long the current server can continue to run in the event of catastrophe during or after migration, plus a secure off-site backup that can be easily restored.
Protecting your data and your work provides peace of mind during the migration. Even though you hope to never need your backup plan, it takes off a lot of pressure for things to go perfectly; you’ll no doubt be glad to have one!
Now that you’ve planned for a successful migration, it’s time to get started. Executing on your plan is much easier if you consider the two key components of a migration individually.
First, you’ll want to focus on data transfer itself.
The process of copying content, web applications, and databases from the old server to the new is a function of bandwidth and time. Be diligent in making sure that all necessary data is transferred, as even the smallest missing line of code can leave an application or website crippled.
Even with the utilization of migration tools and partners, take care to document what systems and components need to transfer to insure complete function and operation on your new infrastructure.
It’s important to note that you may not need to copy over supporting applications; check with your server provider to see what applications come with the server, then configure them to match your old environment.
If any core applications are missing, install them fresh, rather than trying to copy over the installed application from the source machine.
This is also a great opportunity to upgrade your applications to the latest stable versions, if they can support your code.
Data Synchronization Between Servers
Next, you’ll want to consider how to synchronize all of the data between your old server and new.
If you’ve placed a development or content freeze on the old server, then you’ll be a step ahead, as nothing new should have appeared on the old server during the migration. But that simply addresses what’s going on internally.
Check other places for new data:
- If you are an eCommerce provider, you may have received orders on the old infrastructure during the migration.
- Check your website, where visitors may have been leaving comments.
- Or, if your server is running for example time clock software, then perhaps employees have clocked in or out during the migration as well.
If your applications or websites function in this way, then you should have a way to re-sync this data once the migration is complete. In some cases, you have to enter it by hand.
In some cases, you can perform a second smaller sync in a shorter time-frame until the data is all collected and synced. How you solve the problem will be unique to your use-case, but what is important is that you plan for how to sync data so nothing is lost.
Finally, once the migration has been completed, you’ll want to test the results.
From websites to applications, you should detail the process ahead of time for how you’ll test. Simply loading the website in one browser, giving it a quick look and saying “Okay, looks great!” isn’t nearly sufficient.
Give your team and individual users an easy way to report issues that they encounter. Give developers and designers time in the day to examine and test their work environments on the target server.
One way to make sure your testing goes smoothly is to outline what you intend to test before the testing begins.
- You may need to test your website on multiple devices and across multiple browsers.
- You may need to test that your application works correctly when accessed from different office locations around the world.
- You may need to check that the integrations and APIs between systems are working properly.
- You might want to be sure that you can make new posts, uploads, or orders.
By listing out what needs to be tested ahead of time you will essentially have a road map for completing the final steps of the migration.
Successful testing isn’t about making sure everything went perfect the first time. Even though that is your intention, there may well be a few things that have to be cleaned up in the end. Successful testing is about having a process in place for discovering those minor issues and fixing them cleanly and completely before traffic is sent to the new server.
Getting to the End of a Great Website Migration
Once you’ve completed the server and website migration items above, you’ll be ready to flip the DNS and use your new server with confidence.
Remember that the point of the migration is to have better, upgraded, more performant, and/or more cost-effective infrastructure for your applications and website. Getting there doesn’t have to be a source of stress or reason for headache.
At Liquid Web, we help thousands of organizations and professionals migrate from one server to another every year. We follow the process above and create migration plans to account for each individual need and use-case.
Having a partner to lend a hand can not only ensure success but also reduce the resource burden or strain on your own team.
If you’re exploring a move between servers or between hosts, our team of the Most Helpful Humans in Hosting would enjoy the chance to speak with you about your next migration.
Download Your Complete Migration Checklist
Andrej Walilko (RHCE6) is a seasoned Linux Administrator, and he is a Migration Project Manager at Liquid Web, developing specialized processes for complex migration types. He enjoys doing woodworking, home improvement, and playing piano in his free time.
Keep up to date with the latest Hosting news.