So I have a new blog setup now… what happened?
An understanding of usage…
I had been a customer of Dreamhost for some time. For the most part I was happy, but I really did not do much with the hosting account.
I did setup what I call a “shadow” IMAP account that held all of my e-mail due to my issues with IMAP, the folders and GMail. I have all of my email from several accounts forward to my GMail account. I do this due to the stability of Google, the large free storage, the searching abilities, and the “All Mail” capability. I had struggled in the past to get the IMAP structure to appear nicely on my mobile devices, so I setup an IMAP account on Dreamhost to get all mail forwarded from GMail. I recently undertook an effort to better understand the GMail IMAP configuration and was able to get it all to work. I think GMail made some changes on their end.
I was using Dreamhost as a repository to store some files that I wanted to access from different locations. Google does have their “docs” capability, but at the time they were not support file types of PDF. I dabbled a bit with streaming, but that never really went anywhere for me. Today with advanced file storage and sharing that Google Docs gives as well as the services provided by Dropbox, etc.
I had a few Web application sites running, mostly for me to test out different pieces of software. I would bring up sites instances of MediaWiki, WordPress, Ruby on Rails applications, etc. None of these applications made it anywhere or carry over to any further purpose other than allowing me to test out some software.
One service I did host on my Dreamhost account was my Subversion repositories. I am dating myself here since Git is the new hotness in the pantheon of source control, but I digress. As I would work on a few projects I had going on, I needed a place to store the source code and control versions. For a few of these efforts I was working with someone else so centrally accessible version control was/is required. But, looking around, there are many different offerings for version control.
Can you load any slower?…
As I started to use my blog, and one particular Ruby on Rails application more and more, I began to see some very poor performance, specifically in application start-up and the first time it is hit. I was seeing performance issues on first time hit of upwards of 1 minute response time. At one point I added a cron job to my account to “wake up” my Web site every 1 minute.
Where did my database go?…
So now to the straw that broke the camel’s back, my disappearing database.
I am developing an iPhone application and as a part of the application start-up it ping back to a central server REST endpoint giving the iPhone id and receiving back a number code, 42 (yes folks, life, the universe, and everything). One night (morning) at about 2:45am while I was debugging the application I got an odd networking error back from the REST endpoint. I decided to hit my development Ruby on Rails application Retrospectiva as a check and I got back a wicked looking error from Ruby on Rails about the database and the lack there of.
Seeing this ugly error I rushed to the Web application installation directory to find the database.yml file was updated just a few minutes prior and the name of the database was a munge of letters and numbers with just a hint of what its original name was. The original database in MySQL was no where to be found. After find the application in this state and not finding the database, I was to able get on an online live chat with someone in support.
The support person played as dumb as could be claiming there is nothing automated or running that could have caused this issue. At first he tried to convince me that I deleted the database, but if I had the archive of it would have hit the “trash” bin for the databases, which was empty. The support person was able to find a three day old back of the database, and I restored it from the SQL backup file.
I still never received word how/why the database.yml file changed.
Moving on…
So after all of that fun, I decided it was time to join the others in the cloud. I went with Rackspace Cloud as the provider due to their pricing and word of mouth about their performance. I like the idea of having complete control over the server but will miss some of the “one click” installs that Dreamhost provides, a typical trade-off situation I guess. I know my way around a Linux server, so installation and administration will not be a problem for me.
-b