In need of a Rails Application Support Specialist - Please help

Hi all,

Thanks in advance for any help.

I've been contracted by a company to develop a website; somewhat of a
'social networking' site that's fairly complicated. I'm
working by myself.

My background is as a developer in Java and .NET. I've worked as a
lead developer/architect on dozens of large projects for mid to
large-sized companies.

Though a little off topic for this post, let me say that I chose Ruby
on Rails because of its simple but helpful API. I found ASP.NET to be
ridiculously complex and poorly documented. Its seemingly elegant
solutions prove to be too difficult to implement in practice. Indeed,
you spend way too much time trying to do things that should be simple
and straightforward. Trying to understand the flow of control amongst
web controls is something I never plan to do again. As for Java, there
seemed to be way too many disparate parts/frameworks that one had to
master for the pluming of the application. In my experience, the
pluming is only a small part of an application. I don't need it to
do too much. Just offer fine grained tools for the basics and stay out
of my way. Also, I enjoy working with interpreted, weakly-typed
languages like Ruby...and it's perfect since I'm not developing
software for rocket science.

My issue is this: I'm in the midst of developing the code of the
application, but I'm realizing that I need help setting up and
supporting the operation of the application. I've been able to learn
what I need, and write code very fast, but the hosting and runtime
support of the application is something that with my limited
experience, I'm spending way too much time making sense of. I'm
not sure what my options are and I was wondering if anyone had some
suggestions.

I chose to go with TextDrive for my hosting, and decided on their
solaris container solution (which is virtually having your own
machine). Once I paid, they simply sent me an IP address and some
passwords and that was it. Thus the offering that I chose assumes that
I'm pretty strong with my system admin and configuration skills,
which I'm not. Only their shared solutions provide some
documentation, but I'm not sure how much it helps, and that you
don't need to have strong sys admin skills with that solution too.
It's possible that I didn't chose the service that suits my needs.

It seems to me that with Ruby and Rails, one can single-handedly
develop pretty sophisticated web applications. But without additional
support to setup and operate the site, this may not be a reality. How
should I connect from my Windows laptop to the Solaris box in terms of
editing my files? What about the setup for Subversion? What's
inetd? What about backing up my repositories? Which is the best
application server configuration for rails?

Can't I just get back to the code?

I need an organization who helps set these things up and helps to keep
the system running smoothly, making sure that logs aren't going to
overflow, that sessions are destroyed, that backups are performed, etc.
Someone who's done it before.

Is there not an offering of this type? Some organization that provides
these services? Not just a company that offers hosting solutions, but
that has services to help you along the way? Where I can pay for a
full-time person now, and later a part-time person. I can't afford
to find and pay a local full-time sys admin who would need to ramp up
on supporting rails. Can't I find some organization that can offer
these services at a lower price since they also do it for dozens if not
hundreds of other rails developers?

Sorry if I've been long-winded or repetitive, and thanks again for
your help.

James

Thanks for sharing Joe! It's nice to know I'm not unique.

my suggestion is to learn these things yourself.. Application
deployment has gotten a lot easier with great tools such as mongrel
and capistrano. It may be complicated at first, and take away from
your development time, but learn it once, and you'll never have to pay
another person to do it for you.

It seems to me that with Ruby and Rails, one can single-handedly
develop pretty sophisticated web applications. But without additional
support to setup and operate the site, this may not be a reality. How
should I connect from my Windows laptop to the Solaris box in terms of
editing my files?

I use subversion on a local freebsd machine for all my development.
When I'm ready to go into production or commit the changes, I use
capistrano to push my code to all the servers.

What about the setup for Subversion?

subversion isn't too difficult, but it's an absolute necessity to use
some type of version control system as a developer. If you're not
currently using one, you should seriously consider learning
subversion.

What's
inetd?

inetd is a server that listens on certain defined ports and launches
the appropriate service for the given port when a connection attempt
is made.

What about backing up my repositories?

I just use a cron job that tars and encrypts my repositories, backs up
the databases and uses rsync for any other files each night.

Which is the best
application server configuration for rails?

The trend these days seems to be Apache 2.2 using mod_proxy_balancer
and a cluster of Mongrel servers, with Capistrano and subversion to
deploy.

I need an organization who helps set these things up and helps to keep
the system running smoothly, making sure that logs aren't going to
overflow, that sessions are destroyed, that backups are performed, etc.
Someone who's done it before.

I realize that you weren't asking these questions to have them
answered, but I thought I'd give you some details just in case you
were interested in going it alone.

Mike

I'm running RHEL 4 on the production machine with (ugh) plesk and they
didn't have a package for apache 2.2 either, so I ended up compiling
from source.. It's a pain in the ass, since it doesn't integrate with
plesk, but it was much easier than trying to get an RPM for 2.2 that
plays nicely with plesk (speaking of which, anyone else here using
Plesk with mod_proxy, Apache 2.2 and mongrel? I'd love to get a binary
version of Apache 2.2 running with plesk, rather than using my self
compiled version).

Mike