Infrastructure for small RoR development firm

Hi,
I would like to hear some opinions about the ideal infrastructure for a
small RoR development group. on short term there will be about 5 running
in production and there will always be active development on multiple
projects.

should i work with a separate development/test server and a production
server both accessible via the web?
should i install svn / trac on the development machine?
is it smart to use a separate database server?

I would love to learn more about the tools /infrastructures used by
other RoR teams

My stance

  1. always have different servers file/database for production and
    development/testing

  2. always use svn even if you only have a single developer on the
    project

  3. a seperate server for the database is only a good idea if it
    A) enhances the preformance

B) is required to expand hard drive

C) you are expecting the resources to be insufficient in the future
(so you can load balance)

  1. If you expect to be running multiple file servers for one application
    it is wise to include Capistrano

  2. Whether your using Mongrel or Lighttpd to serve your app have it
    fronted by apache to serve any cached/static pages

is wise to include Capistrano

  1. Whether your using Mongrel or Lighttpd to serve your app have it
    fronted by apache to serve any cached/static pages

if you are using the apache for just static file serving and proxying to
your app i would
suggest using something like nginx that will give you better performace
to resource
utilization.

I would love to learn more about the tools /infrastructures used by
other RoR teams

Your production environment (web, app, db) should be completely separate
from everything else. Isolate it.

You should have a distinct development environment. Putting SVN/Trac
here
is fine if the box can handle it.

Absoutely have a separate database server.

Keeping things separated helps prevent those little “all i did was make
this one little change to a gem/db-config/etc” and have your production
sites crash.

-philip

Thanks for your input.
one more question about svn repository:
at this time it runs in our lan and if i want to access it, i have to
set up a vpn which gives me a lot of trouble because i am the only one
running linux in our company. can i put the svn machine on the web in a
safe way without having to use VPN? is SSH safe enough?

Remfull wrote:

Hi,
I would like to hear some opinions about the ideal infrastructure for a
small RoR development group. on short term there will be about 5 running
in production and there will always be active development on multiple
projects.

should i work with a separate development/test server and a production
server both accessible via the web?
should i install svn / trac on the development machine?
is it smart to use a separate database server?

I would love to learn more about the tools /infrastructures used by
other RoR teams

Everyone should develop locally. So “development” and “testing”
environments will just be localhosted. This does require some extra
effort once certain elements get involved (such as SSL), but ultimately
it is worth the effort because it allows an instance development cycle
and tools like autotest for every developer.

Besides the standard “production” environment, you may want one or two
more servers or VPS partitions that are running in production mode. One
for staging (maybe client viewable) and one for internal collaboration
and group testing. How many you need depends on the nature of the
projects more than the number of developers.

Remfull wrote:

Hi,
I would like to hear some opinions about the ideal infrastructure for a
small RoR development group. on short term there will be about 5 running
in production and there will always be active development on multiple
projects.

should i work with a separate development/test server and a production
server both accessible via the web?
should i install svn / trac on the development machine?
is it smart to use a separate database server?

I would love to learn more about the tools /infrastructures used by
other RoR teams

On May 23, 1:18 pm, Remfull [email protected] wrote:

should i work with a separate development/test server and a production
server both accessible via the web?
should i install svn / trac on the development machine?
is it smart to use a separate database server?

If you can get a virtualization setup going then virtualize do that.
You can start with one physical box and have 4 or 5 virtual machines
running, all with different roles. Then when the time comes to up the
performance for one of the boxes, buy a new box and transfer one of the
virtual machines to the new box. This approach makes your
infrastructure flexible as a yogi master.

-tavis

I use subversion with Apache and WebDAV. Authentication is through
htpasswd
http://svn.spears.at/
It has worked well for us.

Regards,
Dave

[email protected] wrote on 23-05-2007 11:49:54 PM:

Remfull wrote:

Hi,
I would like to hear some opinions about the ideal infrastructure for
a

small RoR development group. on short term there will be about 5
running

Be sure to use Cashboard for maintaining time logs, and to handle all
your
billing

http://www.getcashboard.com

Written by another small RoR development firm as well :smiley:

On 5/23/07, Remfull [email protected] wrote:

should i install svn / trac on the development machine?
is it smart to use a separate database server?

I would love to learn more about the tools /infrastructures used by
other RoR teams


Posted via http://www.ruby-forum.com/.

seth at subimage interactive

http://www.subimage.com
http://sublog.subimage.com

http://www.getcashboard.com
http://dev.subimage.com/projects/substruct

I use svn+ssh:// and that works very well. If you’ve already got ssh
available on the box, this is ideal as it means you’re just using a
port that’s already open on the box, not opening any additional ports.

To add a little more complexity, and security, setup ssh to use (&
require) access with a public/private key pair rather than via normal
password. That way nobody (not even you) can get to your repository
unless they’re doing it from your machine (where the key file is) AND
know the password for your key (because, although possible, you
wouldn’t dream of creating a key without a password, right?). It’s
funny to look at the ssh logs of people/bots constantly trying to ssh
into our Internet connected machines trying all kinds different
usernames and passwords, since no matter what they try, they won’t get
in without one of our developer’s keys.

This forum is not affiliated to the Ruby language, Ruby on Rails framework, nor any Ruby applications discussed here.

| Privacy Policy | Terms of Service | Remote Ruby Jobs