Rails Hosting for Newbies

Hello all.

This is probably an unusual first-time post but here goes.

First of all, I’m new to the worlds of both Ruby and Rails, so I don’t
have a lot to give in the way of Ruby or Rails. . . yet.

However, I am a long time coder and I hope to be able to contribute
before long.

In the meantime, I do have something to share with you today. It is a
testimonial about something I personally have found to be quite rare in
the world of web hosting companies, especially where Rails hosting is
involved.

A word of warning, this post is long and I don’t want to waste your
time, so read the next little bit so that you take the course of action
that is best for you.

If you are a hardcore Rails person, you probably have no reason to read
further (unless you are unhappy with your current Rails host provider).

If you are new to the Ruby and Rails game, then I urge you to read on.

If you hate reading, are results oriented, hate paying more than you
have to, like receiving quality service, think you should be treated
with respect (even if you are a newbie) and like to cut to the
chase—then do yourself a favor and click on over to:

http://HostingRails.com

I’m here to tell you, it’s probably be one of the best decisions you can
make to reduce Rails learning stress.

You should also read on if you are the reserved, “what’s the deal here”,
“what’s this guy trying to push” kind of person. Hopefully, I can put
your suspicions at ease.

First let me say that I am aware that HostingRails.com has an affiliate
program. Let me also make you aware that I am NOT a member of that
program. I receive no considerations in any form from what I am posting
here. I have no stake in the affairs of the company (other than I’m a
client), nor do I know anyone who works there.

I am taking my time to make this post because I have spent nearly a year
searching for a good place to call home for my self-education in Ruby
and Rails. It has been a stressful year in this regard and I would like
to give you the opportunity to bypass such grief yourself.

If you go to the HostingRails.com site, you’ll find that they do a
pretty good job of telling you about themselves and what they can do for
you, no hype, just facts. So I am not going to repeat that kind of stuff
here in this post.

If you are still with me, I remind you one last time, this is a long
post and it is aimed primarily at newbies like myself.

My purpose in this post is
1)To let you know that they deliver on what they state on their site.
2)If you are new to Ruby and Rails, I think you NEED to host your apps
on a site with Rails knowledgeable support.
3)You also need to have Rails knowledgeable support that is actually
willing and allowed to apply their knowledge on your behalf (In my
experience, satisfying item 2 does not necessarily lead to item 3)
4)To recognize a company that I feel is performing where too many others
are failing. It is my way of saying “thank you.” I also think that
companies that deliver what you pay for and more are an endangered
species and need to be cared for.

Since I decided to enter the world of Ruby and Rails, I have had one
frustrating experience after another trying to find functioning,
empowering Rails environment to support my efforts to master RoR. Far
from empowering, it’s been more like jumping from one war zone to
another.

Hey, I’m a programmer. I like problems and solving puzzles as much as
anybody. But I don’t like stupid problems and I don’t like having my
time sucked dry from dealing with other people’s incompetence (or in the
case of some hosting providers—people’s greed).

I’ve gone through 5 different host providers in the last year. When it
comes to Rails, the word “horrible” doesn’t begin to describe the
service (or lack thereof) these companies have provided.

Don’t get me wrong, these where not “bad” companies. If you’re a PHP
hacker, into blogging and such and you don’t need any help, then any of
these companies can handle your needs just fine. In fact, I’ve been with
one of them for a couple of years now and will likely be with them a few
years more (but not for my Rails apps).

What I am saying, is that proper Rails support and competence among host
providers seems to be very rare out there and often prohibitively
expensive when found.

If you are new to the game, you’ll be amazed at how easily one can get
overwhelmed trying to troubleshoot Rails related, server-side
installation and runtime issues.

I may be a newbie, but I’ve come to know one thing for sure about Rails.
It’s knowledge I’ve gained first hand—paid for in blood. Programming in
Rails is not just about using some groovy new tool for building web
apps.

Rails is about the coordination of many systems and protocols. It’s
about Ruby, XHTML, CSS, JavaScript, Embedded Ruby, sophisticated and
elaborate frameworks, server-side environments, the workings of Apache’s
.htaccess, and so on. It’s also about conventions–conventions about
naming stuff, conventions about where to put stuff and conventions about
how to install stuff.

Until you have a handle on how the Rails world is wired up, the simplest
problem can be overwhelming beyond belief. Not because the problem
itself is difficult, in fact in most cases it’s not. It’s overwhelming
because you have no clue about where or how to even start looking for
the problem.

We’re all programmers here. We all know the mightiest coded empire can
fall because of a misplaced bit. Well let me tell you . . . the topic of
Rails is huge and has a lot of bits!

Long story short: you need to have a stable environment to comfortably
learn a system like Rails. It is my opinion that HostingRails.com offers
such an environment. They offer a high level of support for even a basic
account.

In this last year or so, I’ve run into problems with other providers
that fall into 4 primary categories:
1.Server Resources
2.Installation and Management Complexity
3.Support Staff’s Knowledge of Ruby and Rails
4.Support Staff’s Willingness to Tackle Non-Standard and Possibly
Non-Trivial Problems

In the first case, I found that hosting companies hate running Rails
properly because it involves long running processes. So they opt to host
Rails via cgi or fastcgi to cut down on the consumption of resources.
And even this is often done half-heartedly and feels like an
afterthought instead of a well planned implementation.

If and when you manage to get something running on one of these systems,
you’re embarrassed to let your name become associated with something
that runs so slow.

In the second case, setup procedures are a nightmare and at best
“unofficially supported.” You needn’t take my word for this; just go out
and Google on stuff like:
moving rails app shared server error
or
installing rails shared server error

It almost makes for a teary eye to see fellow coders having to endure
such woe, often just to get their chosen tools up and running so they
can start to work.

This brings us to the third item. This one is easy—Rails knowledge—they
have little or none. After my first week of reading up on Rails, I was
able to ask questions that flew high over the heads of my host
provider’s support people. It was ridiculous

I added item four because in one case, a support tech who was in
possession of some Rails skills, was given heck from his supervisor for
taking time with me because Rails issues were “low priority and time
consuming.”

That being the case, you won’t be surprised to find out that if I had
problems installing a gem or git or subversion didn’t seem to be
installed correctly, the answer was always that it was my problem.

Sometimes programs that would be considered basic support necessities
for working with Rails (such as git) were not even installed on the
system. In shared environments, this can be a big deal because you may
not have enough authority to complete an installation, alter the system
environment or change critical Apache settings.

I cannot stress enough what a distraction this kind of crap is when you
are trying to learn something new. I’ve been in this game for a long
time. I was around in “the old days.” I know about life on the frontier.
And I still get a kick out of breaking trail across the odd frontier
even today.

But it has to be a real frontier. I gotta tell ya, I’m not goin’ through
frontier discomfort campin’ in my front yard when I gotta nice warm bed
in a house sittin’ right there!

In this day and age, I don’t appreciate frontier levels of discomfort
just to get my basic tools to work. This analogy is a little off
because suffering grief in the pursuit of a Rails host provider is more
like enduring pain to find a place to keep your tools.

Today’s frontiers should be more about our client’s problems, or the
exploration of new paradigms. It sure as heck ain’t supposed to be about
how to get the darn lock off the toolbox!

After almost a year, I feel my foray into Rails finally caught a break
just the other day when I found HostingRails.com. I emailed them a
couple of questions before signing on with them to get a feel for the
company. Face it, if an outfit doesn’t treat you well when they are
trying to get you to take your wallet out for the first time, it’s
hopeless because it’s usually downhill from there.

They passed my initial screening, their prices are very decent and they
have a “sort of” money back satisfaction guarantee. I say “sort of”
because what you really get back is the money remaining after paying for
any resources you’ve consumed during the time you’ve been with them.

No biggie. You can get stated with them for $20 bucks on a plan that if
all you want to do is take them for a test drive, you could probably get
at least 15 bucks back. We just aren’t talking about enough money to get
excited about, and hosting fees weren’t my problem anyway. So I signed
on

Besides the fact that they were specializing in Rails hosting, one of
the reasons I wanted to try them out is that they have a lot a
pre-installed gems. At this point, I find versioning issues,
dependencies on non-gem libraries and such, a little more hassle than I
need.

I liked the fact that a lot of the libraries I was interested in were
already installed. In particular, is one called Hobo (which is a Rails
framework—or maybe it’s a framework framework, since Rails is already a
framework?). Anyway, this is not the time to get into it, but I’ve
decided I want to make Hobo the base I build my apps on.

So my next step was to generate a Hobo app.

This is where I got derailed (pun intentional). I won’t drag you through
everything I went through, but I will tell you that I was starting to
get that ol’ deja vu feeling.

I stuck with the struggle for a long time on my own because 1) I’m
always willing to assume it’s me when I’m wearing the newbie cap and 2)
I dreaded having to take the issue up with tech support after what I’d
been through with the previous outfits I’ve tried.

Eventually though, I had to yell “uncle”, I just didn’t have the skills
to find a solution to the problem.

As you know, it’s not uncommon to create new and even bigger messes in
the course of hunting down some problem. This was one of those times for
me—big time! I altered paths in my bash profile, added environment
variables, etc. This all seemed to be “fixing” the problem I was focused
on and in one sense, that was true. But in the bigger picture, I had set
myself up for even more exotic glitches ahead.

The final result was that I didn’t end up contacting tech support just
once, but five or six times within a span of several hours. And since a
lot of the problems were the result of my own newbie genius, I would
have taken my lumps from tech support gracefully. I even expected them
to be a little short with me.

That wasn’t the case at all. I’d worked with two or three of the techs
at different times through all of this and they were always courteous
and helpful. Eventually, we got caught up with the stuff I broke and I
found myself at the beginning. I was face to face with exactly the same
breaking Hobo issue that started the whole mess in the first place.

I felt beaten, frustrated and embarrassed to have to go back yet again
to tech support. But the fact remained that I could not get enough
purchase on the problem to resolve it myself.

I wrote an email to tech support detailing my problem and stating the
importance to me of getting the Hobo gem working and the fact that my
current skill level wasn’t sufficient to solve the problem.

I try hard to steer clear of tech support departments, preferring to
conserve whatever goodwill that exists for those times when there really
is no other option. With these folks, I figured I had likely burned any
chits I had and was standing in the red. I was prepared for flack.

Instead, within an hour or so, I received an email simply stating that
they were working on the problem. Some time later, I received another
email explaining that they believed the problem was solved. They had
discovered a bug in that particular version of Hobo that led to its
outputting bogus error messages (just what newbies need).

They informed me that not only had they found the problem, but they had
installed a more recent version of Hobo on my account to correct it and
that they had also rebuilt the test site I had generated (after backing
up my original). In addition, they supplied me with a list of the exact
commands they used to get the application up and running.

They further urged me to test their fix and to get back to them if there
was still an issue or if I needed more help! Now you gotta admit, that’s
pretty cool.

Having now become a cynic when it comes to the combination of hosting
providers and Rails, I decided to create a new app from
scratch—“just to make sure”. I did run into a small glitch, but with the
framework outputting valid error messages, I was able to figure out that
I was the victim of yet another newbie error and resolve it myself.

I found this level of service from a shared-host provider outstanding.
And for me, where Rails is concerned, virtually unheard off.

I’ve had people tell me that I should learn Rails on my own machine. In
the world of desktop apps and or standard HTML/PHP/CSS websites, I’d
agree.

But you can run into installation issues with your local box as well. In
the beginning, with a system like Rails, most of us just don’t know
enough about how the pieces fit together to be effective
troubleshooters. Heck, a lot of times, we don’t even know about the
existence of certain pieces!

Yes, eventually I believe one should know all the systemic aspects of
the environment Rails runs in as well as building applications. However,
I for one don’t think installation bug hunts are a great way to play
meet and greet with a new development system.

Another problem with the local machine approach, is that unless the
configuration of your local box matches that of the target server, you
may still be in for some nasty surprises when you port over.

I personally do not find local Rails the best scenario for me at this
stage in my development. I’m sure there are many other different and
equally valid opinions.

Back to the topic. At HostingRails you will find many levels of support
and performance—all at very reasonable pricing.

If system stuff drives you crazy, they even have listed reasonable, flat
rates on doing the dirty setup work for you.

HostingRails implements fastcgi differently than other host providers
and performance is truly fast. In fact it’s fast enough for running many
real-world projects without resorting to costlier Mongrel servers or
other long running process solutions if that’s an issue for you.

I know it sounds like a commercial and I can’t really help that. I just
think that if you are new to Rails, you’ll be hard pressed to match, let
alone beat the exceptional blend of price, service and performance that
you’ll find at HostingRails.com

I am pleased and impressed with this company and looking forward to a
long relationship with them.

They have helped ease my learning curve stress. Perhaps they can do the
same for you.

Steven B.