IronMQ on Rackspace Cloud Sites

Posted on Sep 17, 2012 | 0 comments

IronMQ on Rackspace Cloud Sites Test

Test of IronMQ on Rackspace Cloud Sites

Ah, messaging. How fun is it? So fun! I went looking for a great messaging system to handle my small messaging needs (20-50k/day tops) and found RabbitMQ. It looks amazing! However, I’ve chosen to host on Rackspace Cloud Sites which means that I don’t have the ability to add RabbitMQ. What’s a dev to do?

Well, I could create my own cloud server just for RabbitMQ. Bleh. I don’t want to do that… it defeats the whole purpose of paying for my elastic cloud sites.

So, I did what every good dev does. I turned to Google. And Google sent me to Iron.IO which “provides hosted message queue, worker, scheduling, and cache services. No servers required.” Nice! I checked out their sell page, dev center, and pricing. There is a comparison chart and it looked like it would handle my needs at a price I could handle. (250,000 message requests per month free with each additional 10k requests costing a penny)

But would the MQ service work on Rackspace Cloud Sites? A simple test was in order.

I’m happy to report that it works! You can see an example at http://ironmq.zeetestsite.com

How I Tested

  1. Create an Iron.IO account
  2. Start a new Iron MQ project
  3. Start new VS2010 Empty MVC project
  4. Downloaded the Official IronMQ .NET Library from Github
  5. Opened that Official Library and built the project with the release settings
  6. Moved the Official Library dll to my project’s bin folder
  7. Added a reference to the Official Library dll
  8. Add deployable dependencies to my project (this is for Rackspace)
  9. Added config items for the IronMQ token, project id, and host in my web.config file. I left the host empty there and created an override in my web.release.config file with the actual string – “mq-rackspace-dfw.iron.io”
  10. Coded up a test controller and simple index page to click and view the results.
  11. Ran it locally and all worked!
  12. Created a new subdomain on and existing url I have at Rackspace Cloud Sites
  13. Deployed via ftp to Rackspace Cloud Sites
  14. Tested on Rackspace! It worked like a charm!

Source code is on github: https://github.com/monicabirdsong/test-ironmq-.net-mvc-rackspace

A Few Things to Note

  • The sell page of the IronMQ had the only .NET examples. The page where you “get started” on your Iron.IO MQ project doesn’t have .NET. Hopefully they add that soon.
  • They give you an iron.json file to download and use but I didn’t use it. It contains the token and project id. I just put them in my web.config files.
  • They promise real-time queue sized but that’s not what I saw. During testing, none of my messages or my queue appeared on the Iron.IO activity interface.  It took 2+ hours for them to appear.
  • It looks like when you don’t specify a host, it uses AWS since several of my messages showed up under that host. Interesting as I don’t have an AWS account.
  • Each get “reserves” the message for a configurable amount of time and the default is one minute. The documentation says that but I had to go specifically looking for it so I thought I’d make a note of it.
  • There’s an unofficial library for the Iron.io API that I didn’t use but looks interesting.

Hope that helps you if you were wondering about IronMQ on Rackspace Cloud Sites! Now I’m off to code the actual stuff I want my messaging service to do! Comments are always welcome.

Leave a Reply

Your email address will not be published. Required fields are marked *