Not All VPS Providers Are Created Equal

I was taught if I didn’t have anything nice to say, don’t say anything. Therefore, I won’t say anything bad about a company. Instead, all I will say is that not all VPS providers are created equal. Oddly enough, you also get exactly what you pay for. That sad truth never seems to go away…

I had the opportunity to try out a different VPS provider for a small app at work. No, it’s not the ones I use or mentioned here. I tried this one because it was just too damn cheap.

Here’s the deal, their OS image wasn’t functional and was broken all over the place. In fact, I compiled the apps and the libraries manually and POS still didn’t work. Was it me? Perhaps, but this was the first and only time where manual compilation and debugging didn’t work. There were no errors and everything went well. The files were where they were suppose to be, but nothing.

I eventually picked CentOS 4 image and got it to work, but it’s unstable after a reboot. I’ll just put up with this crap until my three months are up.

Rails App Deployment

I’ve tried just about every installation methods to see what would be the best practice. I even tried fcgi and cgi against the advise of Ben. Thanks to Parallels on my Mac, this wasn’t that painful. Here are the observations from my experiment:

  • Using fcgi sucks and cgi is even worse, avoid at all cost.
  • Mongrel performs beautifully and clustering them is too simple (I feel guilty about it).
  • On shared hosting, unless they offer apache 2.2.x, use proxy to pass the request to mongrel. By the way, shared hosting is only good for light apps and should be avoided considering the fact that VPSs have come down in prices.
  • Proxy balancer on Apache and mongrel cluster is the only way to deploy.
  • Capistrano documentation sucks.
  • There are very little resources available. They all give you recipes, but as the saying goes, if you give a guy a fish, he’ll have a fish for a day, but if you teach him how to fish, then he’ll have it for life. I compiled Apache and mods myself to learn all the underlying concepts.
  • Debian Linux Etch is the best distro!

Pragmatic Bookshelf is coming out with a book on deploying and I hope it will save time for others.

Ok, It’s Ben, Stop Emailing Me Please

My personal Ruby on Rails coach is Ben Curtis.

Personal Tutor/Coach

When I was a full-time developer, I always had my code reviewed by a peer who can give me their perspective on the code. Subsequently, I always learned something new. Peer review is extremely valuable for debugging since I could never find the misspelling and other stupid errors because my eyes would always lie.

This is the reason why I have a tutor/coach who I meet on a regular basis. He’s on a retainer (it always works best for both parties, trust me) and provides me with extremely valuable lessons. I’ve asked him to give me a tutorials on things I already knew to see how he’d approach it. Considering what I get out of the each session, the cost is not even a factor at this point.

If you think about it, even the professional athletes on top of their game have tutor/coach. Just take a look at Tiger Woods. He has a swing coach even though he’s the most dominant golfer in the World. He did have a short period of not having one after leaving Butch Harmon, but now he’s back to having one.

My recommendation is to get a mentor/tutor/coach as soon as possible. You won’t believe the results.