February 26, 2007 by donthorp
Ruby on Rails Deployment
While RoR is a blast to develop with, it’s taken a while to get reasonable documentation and solutions for deployment. I spent the morning flipping through my Rails Cookbook looking for a good solution for the LOL.com application. My first attempt is going to be with Recipe 13.3 – Hosting Rails with Apache 2.2, mod_proxy_balancer, and Mongrel. Basically this solution uses Apache as a load balancing proxy that forwards requests to a mongrel cluster.
Why The Complexity?
Basically, Ruby on Rails is single threaded and you have to complexify your deployment to deal with the limitation. I’m not saying that the RoR developers choose a bad model, they just happened to pick a more heavy weight model. It also moves the complexity of threading issues out of the realm of development, which some would say improves the development experience.
Setting up the Server
The experiment is going to be conducted using Ubuntu 6.10 server installation in a VMWare VM. The final deployment will probably be Fedora because that’s what we have on destination machine, but I want to experiment with Ubuntu server so I’m killing two birds with one stone.
It’s always a good idea to Google
Five minutes later I have a recipe for getting the ubuntu server set up with ruby, apache 2.2, and other items.
As I’m going through the recipe, I’m starting to seriously consider using a VM for production. If this goes as smoothly, then it might be worthwhile to just put the VM in the datacenter. The other possiblity is to temporarily take the website down and rebuild the box.
Changes to the Recipe
I chose to use httpd-2.2.4 so I pulled it from a mirror site. Also make sure to choose the most recent non mswin32 options when installing mongrel.
Status
At this point everything seemed to install fine. Next stop…and another day. Configuring the rails app.
Posted in Uncategorized | Leave a Comment »
February 25, 2007 by donthorp
John and I have developed a couple of authentication and authorization systems and frankly, we’re getting tired of it. We haven’t found a permanent solution for all platforms, but John discovered OpenID a while back. I believe we’re going to be using OpenID as one of our authentication options in LOL 2.0.
I was watching Command N Episode 80 this morning where they pointed out that AOL is supporting the OpenID movement by Enabling Over 63 million AOL/AIM User Accounts.
The OpenID Wiki has a page of OpenID Providers that you can check. You might already have an OpenID and not even know it.
Posted in Uncategorized | 1 Comment »
February 23, 2007 by John Munsch
LOL.com has stayed in roughly the exact same form since early March 2006 (we won’t talk about its form prior to that). But the last few months it has been undergoing a complete rewrite from scratch in Ruby on Rails. This is a big discovery process for me and for Don as we’ve both been using Java since late 2000 and C++ and Visual Basic before that. This weblog is a chance to talk about building the new version, rolling it out so everybody can use it, and the process of change that it will go through as we try to make it a destination for all things funny.
I won’t give a date for when we plan to roll out the new version except to say that I’ve made a lot of progress in the last month. Here’s what you can expect from the next release:
- The ability to have your own login.
- The ability to enter your own jokes into the interface and tell whether others liked them, didn’t like them, etc.
- Voting on other people’s jokes.
- Searching to find jokes.
- Tagging of jokes (simple at first, but more sophisticated later).
- Updates to the site. There’s no way it will sit untouched for a year this time. The first year was an experiment to see if it even made sense to use the domain rather than just sell it to the highest bidder.
Posted in Uncategorized | 4 Comments »
February 23, 2007 by donthorp
Well, as John hinted, lol.com kinda sat around maturing for quite awhile. Various offers came and went, ad revenue went through the floor, but started recovering so… We decided to finally throw something out there. The experiment seemed to work enough to encourage development on version 2.
We created this blog to help us communicate our progress and track the history of our thoughts and actual progress (which we swear there will be some).
Posted in Uncategorized | Leave a Comment »