Migrating Magento Enterprise Edition system off of Rackspace on to locally hosted servers
This is a project I began working on around March 2016 and should be finishing in early September 2016.
Rackspace was originally chosen because of their team’s expertise with Magento and their new “Magento Cloud Managed Service” was extremely cost competitive. But, even though their support was some of the best I have ever worked with, the reliability of their cloud database system left a lot to be desired. Coupled with their announcement that they were ending their Magento Managed Services support and raising their prices it simply no longer seemed to make sense to stay at Rackspace.
The company is going through a transition in its marketplace and is extremely cost conscious. We could have gone with an AWS implementation but the cost actually looked like it would be a little more than we were paying Rackspace without the additional support. Due to various coincidences we had a good amount of space in an off-site data center and were able to arrange additional network connections that were more than adequate for the E-Commerce site for about 1/10th the cost of what we were paying Rackspace per month. We also have access to extremely cheap mid-level server hardware because of existing partnerships, so procuring the servers was extremely cheap.
In case anyone else was looking for instructions on how to duplicate what I did I tried to document the process as much as possible here on my blog.
We are a very small shop as far as IT departments go but because we use configuration management and DevOps tools to manage our environment a few people can easily manage the system. Dealing with a hardware failure could be a problem because of the small staff, so I tried to implement as much redundancy as possible. For the servers we went with four Dell R620 1U servers with dual Xeon E5-2670, 128GB RAM, and a RAID 10 array of SSD drives. All of the servers with be running KVM virtualization
Update: “We” successfully migrated the servers off of Rackspace over the Labor Day weekend. Had a fun time explaining to a couple of the junior developers that holidays tend to be when the real work is done and they were going to have to live without a lot of them for the next 30-50 years of their career. One bailed, one was only partly available. Luckily we had done extensive testing before hand and had resolved most of the issues before the migration.
Two gotchas were an issue with indexing that had not been tested prior to the migration. Indexing worked correctly but some of the attributes weren’t being indexed at all. To resolve the issue we found a work around by switching off flat product catalog for a few seconds, then switching back, immediately after a reindex. That is reproduceable on the development servers as well as the production, although they are clones of each other mostly. We are still working on that issue and I am not entirely sure it is operations related since it only affects non-core code. But, it worked previously so I am doing all I can to get it corrected.
I will finish the write-up in my Migration documentation later on this week. Hopefully I will be able to include a fix at that time.