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