We're hiring!

We're actively seeking developers & designers for our new Detroit location. Learn more

Strategies for Making your Server Migration Successful

The SME Toolkit, a project sponsored by the International Finance Corporation (a member of the World Bank Group), recently initiated a major migration, moving all operations from one hosting provider to another. While the migration was a team effort, members of Atomic Object took responsibility for the technical aspects. The migration was an important one, with data integrity, site uptime, and application stability at stake. Fortunately, the migration was a resounding success, and proceeded incredibly smoothly. The project’s lead tester remarked that this had been the “smoothest major migration” which she had ever been a part of.

Migrations are often problematic, and rarely go as planned. So what did our team do differently? The answer is multi-faceted. There is no one thing which made the migration a success. However, several specific strategies together helped make success possible: continuous communication, reasonable planning, attention to detail, practice, testing, and flexibility.

Communication

Throughout the migration, communication played an important role. Members of the team kept the entire team in the loop with e-mail updates and twice-weekly conference calls. It was important that members of the team provided timely, concise, and accurate updates about progress to catch problems early, provide accurate estimates for scheduling, and monitor the overall flow of the migration. Without these updates, team members would have been uncertain about the state of operations, and unable to act as effectively.

Planning

Planning also played a crucial role, as it provided a game plan, or set of steps necessary to bring the migration to a close. This provided not only a set of tasks which needed to be completed, but a clear set of indicators to mark the beginning and successful completion of the overall process. The “Migration Plan” set out in detail (though not excessive) the processes which would be followed, and who would be responsible for them. This document evolved throughout the migration and allowed us to dynamically respond to necessary changes while not losing track of necessary tasks.

Attention to Detail

Attention to detail is, of course, always important. But what is enough? And how do you ensure enough detail is given? For the majority of the migration process, there were at least two members of the technical team at Atomic Object working in unison on a discrete task, similar to the pair programming practiced at Atomic Object. This allowed appropriate attention to be given to all tasks, and prevented errors as two people, essentially, reviewed every step.

Practice

The SME Toolkit, like many major systems, has several different instances or environments, including “Production” and “Test” environments. Prior to the Production migration, we ran through our entire migration plan using the Test environment, but treated it as if it was the Production environment. We practiced, or conducted a dry-run. In doing this, we did not need to worry about downtime or site accessibility if something went wrong. Fortunately, some things did go wrong. Why do I say fortunately? The problems occurred with the non-critical Test environment, and we were able to make corrections and adaptations for the critical Production move.

Testing

Continuing with this theme, we also conducted tests utilizing our Test environment once it was moved. Our team’s lead tester completed a full regression test suite on the Test environment hosted by the new hosting provider. This testing allowed us to not only discover problems (which we then corrected), but also verified that the system worked successfully in the new hosting environment. This gave credibility to the migration, and helped ensure that all members of our team were satisfied with the successful completion of the migration process.

Flexibility

Flexibility was also a very important part of our overall migration approach. While it is possible to try and plan absolutely everything, this is impractical. This is why I included reasonable planning in the list of elements which made the migration a success. We planned the migration, but did so with the knowledge that things would change, and that we would need to change the details. For this reason, we didn’t include every minute detail, or schedule everything down to the last minute. Instead, we included moderate levels of detail, and dynamically modified our plan as the migration progressed.


There you have it, my list of the strategies made our migration successful: continuous communication, reasonable planning, attention to detail, practice, testing, and flexibility. While there are undoubtedly other factors which contributed to the success of the migration, such as the talents of team members, the specific migration approach pursued, and the technical implementation selected, all of this would likely have been insufficient without the stratagems I listed. Together, these elements provided a solid foundation upon which to build a successful overall migration strategy which, with a talented team, and an appropriate technical implementation, brought our migration successfully from start to finish.

This entry was posted in Project Management. Bookmark the permalink. Post a comment or leave a trackback: Trackback URL.

Post a Comment

Your email is never published nor shared. Required fields are marked *

*
*

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong> <pre lang="" line="" escaped="" highlight="">