We recently switched our hosting provider from Slicehost to Linode. Here’s how it went.
We had been on Slicehost since early 2009 and had a very good experience. We had few service disruptions and the performance was decent enough to suit our needs. But then there was this impending forced migration from Slicehost to Rackspace and after evaluating all options we decided to migrate to Linode instead. Linode and Slicehost are very closely matched, but on Linode you get more RAM for the same price and a 32 bit system. We wanted to wait till Christmas to make the move but the proverbial straw which broke the camel’s back was a day when it took more than an hour to compile Node.JS because of high load on the host machine.
Signing up for the Linode was easy except after payment they asked us to send scanned copies of our identitiy and credit card. It seems that’s due to suspected fraud. But once we submitted the documents the account was activated quickly.
The first step was to setup the server. We could have just dumped the disk image over to the Linode box, but we didn’t because Linode was 32 bit. So we had to set up everything afresh. We found Blueprint while looking for tools to clone a server setup. Blueprint did most of the heavy lifting and copied the configuration files for Nginx, Postfix, OpenDKIM, MySQL, Redis and other essential packages. We left out the source builds intentionally because we had to recompile them anyway. After the server setup we did our application setup and ran the tests to verify everything was working.
The next step was the DNS migration. The first thing we did was to change the TTL on the NS and A records for our DNS Zone on Slicehost to 5 minutes. We used Slicehost2Linode to copy the DNS Zones to Linode and switched the NS servers on the registrar from Slicehost to Linode. We gave it a day for the DNS changes to propagate. The last thing to do was to change the IP Address of the A records to point to the Linode box. Since the TTL had already been decreased within 5 minutes we were back up and running. However the database and setting up the slave re-sync which involved locking all tables, taking a mysqldump and importing it on Linode took another couple of hours.
Post move, things have been pretty smooth. We found that the Linode server is performing much better than the Slicehost one; the RAM consumption is lower (presumably due to the 32 system) and it handles the same amount of traffic with much less system load. The server has been rock solid for the last 2 weeks. The only hitch we ran into was that our host had to be rebooted on the first two days which caused a downtime of an hour or so.
Today we removed our Slicehost account once and for all. Overall we are much happier on Linode and wish we had moved earlier. We are getting much better performance for lesser cost and the migration was not that tough as it seemed.