Contributor: Dmitriy Vinichenko, PM at Archer Software


Let’s start with a simple question: what is migration?


Though the question looks easy, the answer will make it possible for you to plan your infrastructure so as to avoid having to move large amounts of data later on; if you do have to move data, this article will show you how to do it with minimal pain.  


Let’s start with a general definition: migration is the relocation of systems and data.


There are many reasons of migration, and here are a few of the most popular:

  • Cost reduction—the most common reason of migration.

  • Capability enhancement—being able to do something with a new environment or technology that you cannot do (or it is much more expensive/difficult) with the older environment or technology.

  • Paradigm shift—the new solution fits better with the long-term vision of the organization.

  • Disappointment with a current service— bad customer support, unstable delivery, and all the other things that can annoy you about a service provider over time.


It’s easy to see what can and should be done to prevent or, at least, to reduce risk of migration. Here are a few steps we think are essential:

  • Planning requirements – performance of the system should be defined. Scalability should be included in that planning.

  • Estimating costs– don’t go with cheapest solution. Plan for the future.  Choose a solution which will allow you to grow together with demand for your product. The right solution might cost a little extra per month, but will save you the costs of another migration in the long run.  

  • Thinking about the future – the potential needs of a system should also be defined. All ideas should be listed and considered on that level, no matter how unrealistic they might seem.

  • Evaluate how your plans match reality—it’s not enough just to plan; you also need to evaluate your plans over time. Mistakes are easier to fix when a system has 20 users rather than 20 thousand.


Our company helps businesses of all sizes plan and executes data migrations. On the first line we have an experienced SA team which will help you understand your needs and create a list of requirements.


Our second line is a technical team that will deliver the most suitable solutions to meet your requirements, and will be glad to go through them with you so that you know you are making the right decisions.

Our third line is a QA team that will make sure that the final product conforms to our original plan. We provide our customers with a free testing environment that allows for the execution of performance and scalability testing before a live environment is chosen.


Even with all this planning, sometimes it happens that migration is inevitable. What to do in that case?  


Don’t panic and just go through with it. Here’s what we suggest:



Define when – choose a time when the load on the system is smallest. Each system has its own most suitable time

Define where – make sure that the new environment and/or technology will fit your new requirements; make predictions about your future needs taking into account the mistakes that brought you to the current migration.

Define how – that depends largely on the system, and so is best determined on a case by case basis.


Need help with that? Feel free to contact us!


Our developers have years of experience with data migration. For more information on how we can help you migrate your data, contact us via e-mail at