My experience with Rackspace Cloud Sites

by Tony Primerano on Nov.04, 2009, under tech

I’ve been using Rackspace’s Cloud Servers for months now and I thought moving some of our standard PHP apps (like wordpress) to Cloud Sites would save me some time as a sysadmin/developer.  I also figured I would setup a database there and use it for my Rails application that runs on Cloud servers (instead of building my own or using Amazon’s RDS).

I’m sorry to say that after a few days of working with Cloud Sites, I think managing the sites myself on Cloud Servers would be easier.   Fortunately, many of the problems I am having can be easily fixed.

My issues

1) No rsync or scp access.  Installing a wordpress site via FTP or Rackspaces file manager was just plain painful.  The file manager didn’t allow me to move files and it always extracted zip files to the root directory.  Maybe it works correctly on IE?   I only run linux so I have no way of knowing.

2) No easy way to do backups.   Cloud Sites allow you to run cron jobs but the example backups build tarballs on the same host that the site is running on.  When I saw they had ruby as a cron shell option I assumed they had the CloudFiles gem installed,  but they didn’t.  I want my backups off moved off the host.  I don’t want to log into my account and download them manually.

3) No access to database binary logs.  I like to take a snapshot every 15 minutes or so in case I lose my database but this is not an option with the cloudsites database.  You could do a mysql dump from another host but you probably don’t want to do this every 15 minutes.

4) For my Cloud Server rails app there was no LAN address to access my Cloud Site database so all my queries incurred bandwidth charges.

Feature Requests (easy to hard)

1) Give people a cron job (or simple backup tab like cloud servers has) that can be used to dump their database daily to Cloud Files.  Its a win for everyone.  The user gets automated backup and you get more Cloud Files revenue.   Here is a script I run from a Cloud Server to back up my Cloud Site database nightly (I can not run it as a Cloud Site job as the CloudFiles gem is not installed on the hosts..  as i mentioned above).

def run(command)
  result = system(command)
  raise("error, process exited with status #{$?.exitstatus}") unless result
end

cf = CloudFiles::Connection.new(@account_name, @cloud_key)
container = cf.container(@directory_name)
cmd = "mysqldump -C --opt -h #{@mysql_host} -u#{@mysql_user}  "
cmd += " -p'#{@mysql_password}'" unless @mysql_password.nil?
cmd += " #{@mysql_database} | gzip > #{@backup_directory}#{@db_file}"
run(cmd)
t = container.create_object(@db_file)
t.load_from_filename "#{@backup_directory}#{@db_file}"

2) Advertise the LAN address of the Database Hosts…  of course the address given now is probably a switch that hits several DB machines.

3) Fix the File Manager.   Maybe it’s just me but on Firefox/Linux moving files doesn’t work.  A crippled version of rsync may also be nice.  I suspect there are security issues here but shell access sure would be nice.

4) This is probably hard but it would be nice if I could get access to the MySQL binary logs.

Thanks for listening.  :-)

:,

5 Comments for this entry

  • Ryan Bartley

    Hi Tony,

    Many of your needs line up with our priorities for Cloud Sites. It’s no surprise either. I spend a great deal of time listening to our community of users and making sure their voice is heard when we develop product plans. At the end of the day, we’re developing solutions to solve your business problems.

    Shell access and backup service are two requests I get quite often and we will work to support.

    I really appreciate your insight and I personally believe this type of feedback is truly the best way to improve our service.

    Also, we’re working on a cool new way you will be able to provide ideas and collaborate with others in The Rackspace Cloud community. More to come soon…

    If you have additional questions or product requests, feel free to contact me anytime.

    Ryan Bartley
    Sr. Product Manager
    The Rackspace Cloud
    ryan.bartley@rackspace.com

  • Pete

    I have about 20 domains on Cloud sites. Sure I could do it somewhere else for less than half as they are all small sites. Service and question response have always been awesome but I have routine weirdness from the cloud sites that I don’t seem to experience anywhere else, esp around mysql. It was a good experiment but the lack of a public facing API for the Cloudsites control panel would be nice for self self signup/billing. I am moving to a dedicated box (probably should have in the first place) to get the controls I want to get.

  • Ken

    Hey Tony – I share your frustration with Rackspace Cloud Sites, and the current inability to do a decent backup.

    I too host many WP sites. I’m interested in this – how do you set the site up in RS servers (as opposed to sites)? Any cost difference?

    Thanks – Ken

  • Tony Primerano

    Ken, you can setup cloud servers for as little as $11/month but you need to setup everything yourself (DB/PHP/Apache/accounts/security). There are also hosting companies like Dreamhost that are about $8/month for as many sites as you want to create but they don’t perform as well as cloudsites.

  • Tony Primerano

    After 3 months of pain I moved everything back to cloud servers. I’m addition to the issues noted above I found the site performance unacceptable. Many times the response time was over 4 seconds to get the 1st byte from a simple blog post. When the times reached 10 seconds for the 1st byte I would spend hours in chat with the Rackers trying to track down the issue. Eventually it would go away on its own.

    the basic issue is the machines (or network) is overloaded. They add machines to their clusters based on phpinfo response times but that is an in-memory operation and is no indicative of website response time.

    My monitoring services were pinging me constantly in early January so I started getting everything off Cloud Sites when it became clear that this was going to be the standard mode of operation.

    I’m sorry this didn’t work out.

Leave a Reply