Migration Process

After a new hosting environment is chosen, the migration process can be started.  Let's take a deep dive into the details.  

General Overview

1.  Gather data to properly size out and architect the new environment.
2.  Complete technical review by host and developers (together)

3.  New environment is deployed by hosting provider.
4.  Current production web files and database are cloned.

5.  A copy of the files are placed in the new environment.

6.  Environment is tuned and configured by hosting provider.

7.  Application layer troubleshooting begins (if migrating a problematic site)

8.  Development team tests site for functionality & adjusts if necessary.
9.  Performance and load testing should be completed.

9.  A final sync is scheduled.
12.  New site goes live and old environment is decommissioned.

13.  Post migration review is scheduled.

Specific Tasks

1.  Data Gathering

To prepare for a migration, it is important to have your web development team and internal eCommerce leader sync up with the hosting provider to review important details such as website metrics, current environment architecture/configurations and challenges.  Here is a comprehensive list of items to be reviewed:

Primary URL (If multi-site, list of all domains)
CMS Version (Example - Magento Commerce 2.3.3)
Compliance Requirements (HIPPA, PCI, etc...)
List Of Extensions
Type Of Site - B2B or B2C
Catalog Size (Number of SKUs)
Size Of Media Directory (Measured in GB)
Size Of Database (Measured in GB)
List Of Caching Technologies Used
3rd Party Integrations, Systems & Services
Current php Version
Search Engine Used (Example - SolrBridge, ElasticSearch, Sphinx...)
Current Environment Specifications
Google Analytics Data (Concurrent Web Visitor Metrics)
Orders Placed Per Hour
Number Of Transactions Per Day
Number Of Admins Concurrently Accessing Back End
Where e-mail Is Hosted
List Of Countries That Must Be Blocked From Access
Detailed List Of Challenges Or Future Plans
Expected Start Date Of Migration
Expected Go-Live Date
Budget For New Environment



2.  Technical Review

At this point in time, your hosting provider should analyze the data and prepare documentation for the new environment.  An assessment of your current environment might be necessary depending on complexity, but not always required.  This can typically take anywhere from a few hours for simple environments to several days for complex installations.  Important list of variables to discuss and document:

Review Of Gathered Data
Development, Staging And Deployment Process/Compatibility
Compliance Requirements
Security (Least Privilege Access, WAF, Intrusion Detection, Pro-active Scanning, Disaster Recovery, Patch Updates)
Site Speed Metrics (First Byte & Page Load Times, Mobile Performance)
Plans For Scaling (Predictable vs. Unpredictable)
Service Level Agreement
Support Tiers and Communication Transparency
Best Practices
Post Onboarding
Hosting Account Management (Pro-active vs. Reactive)
Timelines And Clearly Defined Expectations
Application Layer Support (X-Ray Service For Developers)

The point of this is to create a team atmosphere between the developer and the hosting provider to eliminate finger-pointing and have a clearly defined system in place for when things go haywire.

3.  New Environment Deployment

Simple single-tenant dedicated server environments typically get provisioned in one day.  Multi-server clusters can take several days depending on architecture.  Cloud solutions on AWS are more complex and can also take a few days to prepare.  To save time while the new environment is being deployed, make sure to white-list your new hosting provider and prepare SSH access to the current environment.  Root access is typically preferred but not always necessary.  As long as there is a way to obtain a copy of the web files and database, your new hosting provider should be able to take care of the rest.  Also, keep all stakeholders in the loop by providing their contact information for the onboarding communication.  

4.  Cloning Production Files
Your new hosting provider can clone production files with appropriate access or they can be provided by the development team.  Generally, it is easier and faster to have your new host handle this part of the process.  ***Use something like onetimesecret.com when sharing sensitive information.


5.  Web Files & Database Setup In New Environment
This part of the process typically takes a day or two for simple single URL sites.  For larger multi-site installations expect to add a few more days (or longer) to the process.

6.  Environment Tuning

This is the part of the process that the lead engineer will tailor the environment to the site's specific requirements.  There is no such thing as an out-the-box platform like many hosts out there suggest.  Each installation is completely unique and the environment should be configured accordingly.  Things that should be set up include:

NOC / Monitoring Integration
Backup Process - Hourly, Daily, Weekly & Monthly
Pre-configuration For Database & Web Node Replication
Firewall Rules (Layer 3,4 & 7)
Front End Web Nodes & Caching (FPC, Varnish, CDN)
Database Configs & Caching (Redis)
Application Optimization Rules
Load Balancing
Disaster Recovery Platform Review
Least Privilege Access - Only Approved Contacts Allowed Though A Controlled Entry Point
Ports 80 & 443 Closed Off
Deployment Process

7.  Application Layer Troubleshooting

Merchants have varying needs at different stages of the journey.  If necessary, talk to your hosting provider about assistance that is above and beyond that standard scope of support.  Typically, advanced application layer support requires an engineer to take a deep dive into site code and system calls via APM platforms.  

8.  Functionality Testing

This part of the process is the most time consuming.  When migrating to a modern environment, you will likely run into scenarios where environmental adjustments will need to be made.  There are also times where your development team may need to adjust the design of the site to be compatible with the new architecture.  Having a single person responsible for sign-off on functionality testing will help prevent unexpected behavior upon launch.  Once the site is running as expected, a UAT (user acceptance testing) form should be filled out prior to taking next steps. 



9.  Performance & Load Testing
Now is the time to stress-test the installation to prepare for anticipated traffic spikes.  Using tools such as Siege and Load Impact, you will be able to simulate web traffic and make sure your site responds quickly according to today's standards.  The last thing you want it to go-live and have the site crash due to high load.  More on performance and load testing here.

11.  Final Sync
12.  New site goes live and old environment is decommissioned.

13.  Post migration review is scheduled.











The Progression
Of Magento 2

Listen in to learn more about incremental updates that have continued to add to the value proposition of Magento 2.

Special Guest:
Alex Povolotski of Collins Harper

Magento Open Source vs. Commerce Cloud

Learn about key differences between the free Open Source version of Magento, and the paid Commerce version, including ways that merchants using the more popular Magento Open Source version have been adding Enterprise features and functionalities to their stores.

Increasing Orders Through eCommerce Optimization

Convert more website visitors into customers, including by meeting expectations being set by titans of the eCommerce industry, like Amazon.

Special Guest:

Jay Omar of Bolt


“As a result of Tom's methodical approach, and his ability to bring in the resources that I needed to be successful, he is now the first and last person that I trust with my Magento clients”


Public Advertising Agency

  • White LinkedIn Icon
  • White Facebook Icon

999 E. Touhy Ave. #167

Des Plaines, IL 60018

©2020 by Tom Puchalski.