diamonds? emeralds? no it’s rubys! ruby on rails on windows!
February is the month of love. With the exchanging of Chocolates and Flowers, Jewelry and Gifts, what a better time than February to release the newest gem of web development: Ruby on Rails on Windows! Mike Volodarsky (a product manager with the IIS team at Microsoft) has given us a Ruby on Rails on Windows tutorial. (BTW, this guy has the good stuff in his blog go subscribe to his feed)
Everyone that knows me, knows I love the “bad ass, cool stuff” and honestly I’ve been feeling a little jilted by my beloved windows because although ruby ran on windows there were issues with the implementation of fastCGI everyone was using. With beta releases of fastCGI for IIS from the Microsoft IIS Team we know those issues would soon be behind us.
These days all the cool web guys are talking about rails, RoR, Ruby, Ruby on Rails and the Linux guys are rejoicing in how their beloved Linux has one upped the great corporate villain Microsoft and how all of us are fools for using Windows. Meanwhile the die hard windows guys are sitting back going “but! but! but!.. BUT WE GOT C#, we got ASPX!, oh oh oh we got AJAX! yeah we got AJAX.” But we all knew what didn’t have and that was a stable implementation of Ruby on Rails and we were ofcourse sad 🙁 (some of us were in denial but we all knew we didn’t have it).
We did however have some very clever windows guys creating Monorail and SubSonic and we had a little alternative to let us feel the power, but it just wasn’t Ruby on Rails on Windows. Until yesterday! When The great mvolo released a walkthrough on how to get FastCGI TP2 and Ruby running in IIS.
How do I run Ruby on Rails on Windows?
Mike Volodarsky from MVolo.com has released a tutoral titled:
and the skies parted, the birds began to sing again and world was right once more. Yes ladies and gentlemen we have Ruby on Rails on Windows.
So let’s see we got: ASP, EXE, .CGI, .PL, .PHP, .CFM, .PY, .JSP, .ASPX and now .RB. All running on Windows. Yes the FastCGI stuff is still a technology preview and probably very much beta but it still runs pretty good.
Where do I run Ruby on Rails on Windows?
Unfortunately, most shared hosters are not going to make this available in their shared hosting environments for some time yet, Applied Innovations included. But it’s good to know that it’s just around the corner and before long shared windows hosting will be offering it. The other bad news is that the tutorial requires a wildcard mapping that’s not available in XP, so if you’re still running XP you’re not going to be running this tutorial on your desktop (I did get the built in webserver in rails to run though).
There is good news though. We’re offering IIS7 beta hosting right now for free to everyone and we will be including ruby support there in the next couple days. The even better news though is that I have tested this on a Windows VPS running on our new Virtuosso Windows servers and it runs great. In fact I tested ruby on rails on my own Web Developer VPS server (developer edition VPS servers are just $39.95/month) and have it running there perfectly without error by following Mike’s tutorial. (I did find one error though he has controller and it should be controllers in a couple paths but that was it, otherwise it ran flawlessly.)
Here’s a little screen shot of my ruby app running on my windows developer vps server.
I know I keep mentioning the VPS deal and alot of people are wondering why I’m so gung ho on VPSs? We’ve been waiting to release our Windows VPS hosting on Virtuozzo since the very first beta release was sent over to us from SWsoft back in 2004. With the initial releases of Virtuozzo for Windows in 2005 there were some performance and stability improvements that we fealt needed to be made and we didn’t want to release Windows VPS servers before we were ready and for that matter the technology was ready. Afterall we pride ourselves on performance, stability and cost effective hosting solutions.
But then we fast forward to today and it’s a whole new ballgame. Virtuozzo has blown the pants off it’s competitors in so many ways it’s crazy. So we’re jumping in with both feet and throwing a ton of resources into windows VPS hosting and we believe it will become even more popular than dedicated hosting. The fact that I can take a cheap $40 VPS with 256MB of memory and 10GB of diskspace and when I hit a memory problem have it updated to say 512MB of memory without a reboot, without a service interruption, is awesome. But then let’s say I outgrow my $40 VPS which now has 512MB of memory. Guess what? I upgrade to a $69.95 VPS that gives me more CPU share and memory. Then my sites are starting to slow down again (because after all my blog is ever so popular .. when Jess Coburn talks people listen.. to the other guy usually) and I need more CPU instead of upgrading to the enterprise VPS I decide I’m a big shot and it’s time for a dedicated server but not just any dedicated server, a dynamic dedicated server. What’s that you ask? Well you take a dedicated server, install the virtuozzo engine on it (which uses all of about 3% overhead) and migrate your VPS to the dedicated server and give it 100% of the system resources. What’s the beauty in that? Well you don’t have to bother with backing up and restoring to new hardware, you don’t have to recreate or republish sites, you don’t have to change a thing. You practically just drag and drop between hardware nodes. Then as new hardware is released and you outgrow your current dedicated server, you just have your VPS moved from your current dedicated server to a new dedicated server and again with almost no service interruption and no changes. So is that going to revolutionize hosting? OH YEAH! And that’s why I call it the evolution of webhosting.
UPDATE: I was asked if I was certain rails was working. To be honest, I wasn’t certain. I assumed the debug above was enough to show it was working but that’s just a spark and I needed to see fire. So I followed a hello world tutorial for rails and managed to get it working without a problem:
When time permits I’ll verify a full database app.0