# Multiple Applications Setup

**URL:** <https://www.ruby-forum.com/t/multiple-applications-setup/106508>\
**Category:** Deployment\
**Created:** [June 11, 2007, 1:28pm UTC](https://www.ruby-forum.com/t/multiple-applications-setup/106508 "2007-06-11T13:28:36Z")\
**Posts on this page:** 20\
**Page:** 1

<div class="post-metadata">

**Author:** ![sjames](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/s/c57346/32.png) [@sjames](https://www.ruby-forum.com/u/sjames)\
**Post date:** [June 11, 2007, 1:28pm UTC](https://www.ruby-forum.com/t/multiple-applications-setup/106508/1 "2007-06-11T13:28:36Z")

</div>

Hi everyone!

I’ve just asked a question in the Rails forum:

[http://www.ruby-forum.com/topic/111412#new](http://www.ruby-forum.com/topic/111412#new)

But I’ve been re-directed here for a more detailed answer 🙂 Anyway,  
below is my original question(s).

My development-side question was answered already but I’m still  
interested in learning more about the production side of things - eg -  
whether people suggest using Pound or Apache, do I need multiple mongrel  
clusters, etc.

I’ve been using Apache for years but I’m not really familiar with  
configuring it outside common behaviour and if Pound is going to be a  
little easier I might go with that, if it will do the same thing?

My main concern is how to host multiple applications on a single server

- I am a website developer so I’ll likely end up with a lot of sites  
running on a single server. Do I need a separate application (and  
mongrel cluster) for each of these?

Anyway, whatever help you can provide would be greatly appreciated!

Thanks  
Jay

* * *

Hi everyone!

I’m just getting started with RoR - I’m a bit behind the game! Anyway, I  
have several website I want to move over to this format and which I want  
to host on a single Linux Virtual Machine (that’s what my hosting is at  
the moment, if I have to upgrade to a dedicated server, so be it). So  
I’m a little confused about how this all fits together - most of the  
info I’ve read seems to be geared towards a single application, rather  
than multiple applications.

So I guess my question is, what setup should I use for development and  
production? I have been considering Apache or Pound, with a mongrel  
cluster running several Ruby instances. But do I need this much on the  
development side? Or can I just use WebBrick on different ports and be  
done with thinking about it? When it comes to production what do I do  
here? Do I need a mongrel cluster for each application? Or can you make  
each cluster run more than one application, so Apache/Pound can redirect  
to the same place for all incoming requests?

Anyway, any help with setting this up would be most appreciated 🙂

Thanks  
Jay

---

<div class="post-metadata">

**Author:** ![sjames](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/s/c57346/32.png) [@sjames](https://www.ruby-forum.com/u/sjames)\
**Post date:** [June 12, 2007, 6:14am UTC](https://www.ruby-forum.com/t/multiple-applications-setup/106508/2 "2007-06-12T06:14:30Z")

</div>

There are a lot of ways you can go, and it’ll depend on your apps, what  
OS  
and resources are available to you, whether you need utmost performance,  
or  
easiest setup and maintenance, etc.

From what I’ve observed, Nginx, Swiftiply, and Mongrel/Mongrel\_cluster  
are  
the way to go as sort of the best all-software setup. We are migrating  
to  
this, as we have intense traffic - both in number of requests and  
volume/bandwidth expected. However, we’ll have F5 BigIP load balancers  
in  
front as well, so in production will be using those for load balancing.

Currently though, for development and testing, we’re using Pound, partly  
because it was trivial to set up. We have 4 Rails apps that work  
together  
in an SOA style architecture, as well as serving a fair chunk of static  
content. We use RESTful routes, and essentially a path prefix, so the  
Pound  
configuration was just extremely simple. Each Rails app gets a port  
range  
for X number of Mongrels (via Mongrel Cluster) on a given machine, and  
then  
Pound directs traffic and load balances across all that. Works quite  
well,  
and is nice and easy to maintain. Pound does bog down at a certain  
level of  
traffic, but for development work, and main testing purposes it is quite  
fine. Our production setup is more complicated, and involves hardware  
load  
balancing via the F5’s as mentioned, and we’ll be using Nginx in a few  
ways  
as well, Pound will be out, etc. We don’t use Apache, but you may or  
may  
not need it depending on your needs/constraints/requirements (for  
example,  
if you need a particular Apache module, or that’s all a VPS can give  
you, or  
whatever).

On 6/11/07, James H. [removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid) wrote:

> - I am a website developer so I’ll likely end up with a lot of sites  
> Hi everyone!  
> production? I have been considering Apache or Pound, with a mongrel  
> Jay
> 
> –  
> Posted via [http://www.ruby-forum.com/](http://www.ruby-forum.com/).
> 
> >

–  
Chris B.  
removed\_email\_address@domain.invalid

---

<div class="post-metadata">

**Author:** ![sjames](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/s/c57346/32.png) [@sjames](https://www.ruby-forum.com/u/sjames)\
**Post date:** [June 12, 2007, 11:03am UTC](https://www.ruby-forum.com/t/multiple-applications-setup/106508/3 "2007-06-12T11:03:13Z")

</div>

On 6/12/07, James H. [removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid) wrote:

> In terms of development I think using Pound might be a bit  
> overkill for the moment as well, until I get lots of sites going I can  
> just start up mongrels manually.

On a 150 Mb VM, you may not be able to squeeze more than one Mongrel  
in. And if one request stalls in that single Mongrel, your entire site  
goes unresponsive (Mongrel w/ Rails is essentially a single-threaded  
process).

For any decent uptime, you need at least two Mongrels and a software  
load balancer of some sort. Some sort of monitoring for crashing  
Mongrels / endless loops / memory leaks is useful. Also, 150 Mb of RAM  
may prove insufficient for more than a single Mongrel.

Have a look here: [http://studios.thoughtworks.com/rubyworks](http://studios.thoughtworks.com/rubyworks). This may  
be about right for your needs, if you reduce the number of Mongrels in  
the cluster from 4 to 2.

–  
Alex

---

<div class="post-metadata">

**Author:** ![sjames](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/s/c57346/32.png) [@sjames](https://www.ruby-forum.com/u/sjames)\
**Post date:** [June 12, 2007, 10:53am UTC](https://www.ruby-forum.com/t/multiple-applications-setup/106508/4 "2007-06-12T10:53:55Z")

</div>

Hi Chris

Thanks very much for your reply. In terms of OS I’m looking at using  
Ubuntu. Apps-wise I’m not sure yet, but I’m hoping to keep the number of  
apps down to a minimum by sharing between sites - ie - 2+ simple sites  
run off the same app but with different content/layouts/etc. Not sure  
how this is going to work yet, but it must be possible? In terms of  
resources I’m (planning on) using the most basic VM option available  
through [www.bytemark.co.uk](http://www.bytemark.co.uk), that is, 150MB RAM, until I need more and  
then I’ll change.

I’d never heard of Nginx before but it certainly sounds like a good  
solution. So let me get this straight - on the development side you have  
Pound (load balancing, traffic direction) running in front of N mongrel  
clusters. On your production you have hardware load balancers, with  
Nginx as your main server and again N mongrel clusters. Oh for a  
whiteboard?!

I don’t think I’ll need such a complex production system as it sounds  
like you’re getting a lot more traffic than I am expecting, at least  
initially. In terms of development I think using Pound might be a bit  
overkill for the moment as well, until I get lots of sites going I can  
just start up mongrels manually.

Anyway, thanks for your help - I think I have more of an idea where I am  
going now and I’ll certainly have a look at nginx as a possible  
production server.

Thanks  
Jay

---

<div class="post-metadata">

**Author:** ![sjames](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/s/c57346/32.png) [@sjames](https://www.ruby-forum.com/u/sjames)\
**Post date:** [June 12, 2007, 11:45am UTC](https://www.ruby-forum.com/t/multiple-applications-setup/106508/5 "2007-06-12T11:45:58Z")

</div>

Hi Alex

Thanks for your comments - I didn’t realise I sailing so close to the  
wind! I was planning on having a fair few apps running and multiple  
mongrels serving each of these - clearly this isn’t going to be possible  
on this setup.

I am a bit annoyed that no-one has alerted me of this problem earlier,  
especially the server company, who I am just about to sign up with.  
Hmmm, not sure what to do now, as I say I have multiple websites, which  
I’m looking to run as several apps - and as they are client sites I  
can’t really afford for them to be slow/holding each other up. Perhaps  
we’re looking at a dedicated server…

Are there some stats somewhere - eg - memory usage for mongrel - that I  
look at to see what might work best? Or do you have any suggestions?  
Other than the Thought Works one, I’m looking at that now 🙂

Thanks  
Jay

---

<div class="post-metadata">

**Author:** ![sjames](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/s/c57346/32.png) [@sjames](https://www.ruby-forum.com/u/sjames)\
**Post date:** [June 12, 2007, 9:25pm UTC](https://www.ruby-forum.com/t/multiple-applications-setup/106508/6 "2007-06-12T21:25:14Z")

</div>

On some of the larger sites we host doing 20-30 million hits a day,  
we’re running 16 mongrels on number of dedicated boxes. Each mongrel  
uses approx 70 Megs of RAM. Nginx doesn’t even register for ram  
utilization.

We recommend to our clients at-least 512 megs of ram for Virtual  
Servers and 2-4 Gigs of Ram for dedicated servers. That’s been a  
winning combination so far.

–

Jesse P.  
Blue Box Group, LLC

p. +1.800.613.4305 x801  
e. removed\_email\_address@domain.invalid

---

<div class="post-metadata">

**Author:** ![sjames](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/s/c57346/32.png) [@sjames](https://www.ruby-forum.com/u/sjames)\
**Post date:** [June 13, 2007, 11:48am UTC](https://www.ruby-forum.com/t/multiple-applications-setup/106508/7 "2007-06-13T11:48:21Z")

</div>

Hi Alex/Jesse

Thanks for your responses - clearly I have grossly underestimated the  
loads involved in running a single RoR app, let alone a fleet of them!

So I am stuck ☹ Can anyone think of a cost effective and maintainable  
way to host my sites, described below?

I have several sites (about 10) which I have developed on behalf of  
clients - mostly small businesses near where I live. The sites vary  
greatly in complexity - there are entirely static sites, mostly static  
sites (with the occasional dynamic page), mostly dynamic sites (where  
the page content is generated on the fly) and entirely dynamic sites,  
where the user can login, create new pages on the site, create news  
items which will be displayed on the home and news pages, etc. None of  
these sites receive a huge amount of traffic - the total for all the  
sites is about 10,000 page requests per day.

So I was thinking I could host each of these as a separate RoR app - how  
wrong I was 🙂 So now I am thinking I could host the whole lot as a  
single app, with a couple of mongrels running the whole shebang. But  
having considered this I am presented with a few problems: db separation

- each dynamic site should (ideally) have it’s own db; controller/action  
selection - two requests selecting the same controller/action on  
different sites/domains should (probably) select different controllers,  
even if they all inherit from some default controller; I can’t think of  
any others now, but I’m sure there are a few.

Previously I’ve been using plain, old CGI to do all this. Yes I know my  
setup is archaic, but at least I have realised that now and am trying to  
do something about it 🙂 So currently most of my page URLs are something  
like:

[http://www.mydomain.com/cgi-bin/controller.cgi?p=action](http://www.mydomain.com/cgi-bin/controller.cgi?p=action)

I am keen to get all of my sites using the RoR style of URL formatting,  
since (for starters) I think it is more user friendly:

[http://www.mydomain.com/controller/action/](http://www.mydomain.com/controller/action/)

I’d love to use RoR for the dynamic sections of the sites - I’ve only  
been using it for a couple of days and already I feel like I’m more  
productive. But is this going to be possible?

Anyway, any and all suggestions gratefully received - I think I’ve dug  
myself a bit of a hole, now I just need to find some way out!

Thanks  
Jay

---

<div class="post-metadata">

**Author:** ![sjames](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/s/c57346/32.png) [@sjames](https://www.ruby-forum.com/u/sjames)\
**Post date:** [June 12, 2007, 11:00pm UTC](https://www.ruby-forum.com/t/multiple-applications-setup/106508/8 "2007-06-12T23:00:33Z")

</div>

On 6/12/07, Jesse P. [removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid) wrote:

> Each mongrel uses approx 70 Megs of RAM.

50 to 80 is the range I’ve seen. You should also set up the load  
balancer in such a way that it never sends more than one request at a  
time to any Mongrel process, when a Mongrel is overloaded even for a  
few minutes, it will allocate another up to 50 Mb and never release it  
back.

512 Mb is the minimum you need for 4 Mongrels, which is usually enough  
to exhaust CPU / system bus speed limits on a commodity Dual Core box.  
In equally vague terms, it should usually be enough to handle a normal  
slashdotting (sustained load of 10-20 hits per second) with a  
reasonably well-tuned Rails app and no page caching. Assuming your  
database is on another box.

Having said that, there are applications and applications. Something  
like a blog (99% page-cached traffic) can be hosted on a 100 Mb VM  
with a single Mongrel behind Apache.

–  
Alex Verkhovsky  
RubyWorks

---

<div class="post-metadata">

**Author:** ![sjames](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/s/c57346/32.png) [@sjames](https://www.ruby-forum.com/u/sjames)\
**Post date:** [June 13, 2007, 5:08pm UTC](https://www.ruby-forum.com/t/multiple-applications-setup/106508/9 "2007-06-13T17:08:09Z")

</div>

Hi Chris

Thanks for your post - much appreciated. So LiteSpeed can handle  
concurrent connections to different apps? But with less memory usage  
than Apache+mongrel? That might be what I am after 🙂

Quick question on a related subject - does anyone know how much memory a  
single MySQL connection uses? So if (say) I had ten websites running in  
separate RoR apps with a MySQL connection to each, what is my memory  
footprint likely to be? Just trying to get a feel for what solutions are  
possible/realistic.

Cheers  
Jay

---

<div class="post-metadata">

**Author:** ![sjames](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/s/c57346/32.png) [@sjames](https://www.ruby-forum.com/u/sjames)\
**Post date:** [June 13, 2007, 4:31pm UTC](https://www.ruby-forum.com/t/multiple-applications-setup/106508/10 "2007-06-13T16:31:21Z")

</div>

Hi Jay,

I’ve a TON less experience than these guys with Rails deployment, so  
take what I’m suggesting with a grain of salt. All my Rails apps are  
internal, not external, so I’m not seeing traffic like you are.  
However, with that said…

I’ve had a LOT of (good) luck with using LiteSpeed  
([http://www.litespeedtech.com](http://www.litespeedtech.com)) as my web server to serve both static  
and dynamic content. The memory footprint is much less than  
Apache+mongrel, and it just runs; I don’t have to monitor it for  
zombie mongrel processes. They have a custom interface/API (LSAPI)  
that alows the web server to talk to Ruby, and it’s FAST…

Take a look and see if that might be a solution in the context of your  
VPS…

–  
Best Regards,

Chris

---

<div class="post-metadata">

**Author:** ![sjames](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/s/c57346/32.png) [@sjames](https://www.ruby-forum.com/u/sjames)\
**Post date:** [June 15, 2007, 11:53am UTC](https://www.ruby-forum.com/t/multiple-applications-setup/106508/11 "2007-06-15T11:53:15Z")

</div>

It all depends on how similar these sites are and if they need to  
share code?

If each site is completely separate I’d probably want to look at the  
option of a VPS for each site, perhaps with a single vps serving the  
dbs for all the sites. With the number of sites you are talking about  
it might work out cheaper to have a dedicated machine and use xen to  
slice up your own VPS. Doing it this way mean that each site has  
dedicated resources, each site would be easier to scale, and you will  
only need to scale the site that is getting the traffic.

If your sites are fairly small, and unlikely to get high traffic, you  
might want to look at a shared host? Its not ideal, and you would have  
to plan how you would scale up should you need to in the future, but  
it would be much cheaper.

Steve

On Jun 13, 4:13 pm, James H. \<ruby-forum-incom…@andreas-

---

<div class="post-metadata">

**Author:** ![sjames](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/s/c57346/32.png) [@sjames](https://www.ruby-forum.com/u/sjames)\
**Post date:** [June 13, 2007, 5:13pm UTC](https://www.ruby-forum.com/t/multiple-applications-setup/106508/12 "2007-06-13T17:13:33Z")

</div>

On a slightly different note one of my friends suggested the following:

You can probably make the app (apache, lighttpd or whatever) which is  
calling mongrel or the .fcgi re-write URLs so that e.g.  
[Custom Application Development Software for Business - Salesforce.com](http://www.site.com/:controller/:action)

looks like:  
http://…/:site/:controller/:action

and modify routes.rb, as I’ve done this myself, to skin an identical  
site in different ways. Maybe you could even re-write as below, saving  
yourself the route changes and maximising the separation:  
http://…/:site\_controller/:action

Which seems like a good plan? That way I can create controllers for each  
site and I can (presumably) inherit from a default controller for each  
case. What do people think? Does this actually help me at all?

Thanks  
Jay

---

<div class="post-metadata">

**Author:** ![sjames](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/s/c57346/32.png) [@sjames](https://www.ruby-forum.com/u/sjames)\
**Post date:** [June 15, 2007, 1:13pm UTC](https://www.ruby-forum.com/t/multiple-applications-setup/106508/13 "2007-06-15T13:13:18Z")

</div>

Hi Steve

Thanks for your reply. I am currently AT the shared host stage and I’m  
looking to move forward from there. None of the sites receive a massive  
amount of traffic at the moment but I have a few sites in the pipeline  
that might receive a bit more.

Also, I am looking to share as much code as possible. I’ve written some  
functions which I use in most of my code and I need these to be  
available to all the sites, rather than maintaining several different  
versions!

Anyway, so that is where I am at. Quick question - does anyone know how  
much memory a connection to MySQL uses? I’ve ruled out the multiple  
mongrels accessing multiple DBs on the premise that it will use too much  
memory, but if MySQL does not use that much memory this might be worth  
going for? Still a bad solution to a bad problem, but it looks like I’ll  
have to compromise somewhere…

Cheers  
Jay

---

<div class="post-metadata">

**Author:** ![sjames](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/s/c57346/32.png) [@sjames](https://www.ruby-forum.com/u/sjames)\
**Post date:** [June 15, 2007, 1:55pm UTC](https://www.ruby-forum.com/t/multiple-applications-setup/106508/14 "2007-06-15T13:55:44Z")

</div>

Chris B.

I was wondering if you could give a little more detail on your Pound  
setup, specifically:

1.) How much load/traffic till it started to bog down  
2.) What were the specs of the machine/VM you were running it on?

We’re looking at Pound for starters and would like to the some numbers  
other people are getting before performance starts taking a hit.

---

<div class="post-metadata">

**Author:** ![sjames](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/s/c57346/32.png) [@sjames](https://www.ruby-forum.com/u/sjames)\
**Post date:** [June 15, 2007, 2:43pm UTC](https://www.ruby-forum.com/t/multiple-applications-setup/106508/15 "2007-06-15T14:43:34Z")

</div>

Hi Chris

Actually I haven’t setup anything yet, I was trying to determine the  
same as you - whether the VM I am considering (150MB) has any chance of  
running the application I am considering.

Cheers  
Jay

---

<div class="post-metadata">

**Author:** ![sjames](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/s/c57346/32.png) [@sjames](https://www.ruby-forum.com/u/sjames)\
**Post date:** [June 15, 2007, 5:27pm UTC](https://www.ruby-forum.com/t/multiple-applications-setup/106508/16 "2007-06-15T17:27:21Z")

</div>

Jay,

In your situation I probably would go with Litespeed too. It’s easier  
to setup sites (web interface) and it handles all the processes behind  
the curtain for you. It will open ruby processes for each Rails site  
you do (30-70Mb each) so your RAM requirements are surely higher than  
150MB. I don’t have your full numbers but I’d say 512Mb should  
probably do it. On the hosting side I would recommend going with  
Slicehost ($38 for 512, $70 for 1024) which I’m testing right now and  
it’s been great for me and have heard really good things about it. And  
if you don’t have lots of sysadmin experience there is a set of  
tutorials [1] that is great to set up a secured Ubuntu server with  
Ruby, Rails, PHP, LiteSpeed and MySQL.

Hope this helps,

Adrian M.

[1] [http://www.usefuljaja.com/2007/4/ubuntu-setup-page-1](http://www.usefuljaja.com/2007/4/ubuntu-setup-page-1)

On Jun 13, 9:08 am, James H. \<ruby-forum-incom…@andreas-

---

<div class="post-metadata">

**Author:** ![sjames](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/s/c57346/32.png) [@sjames](https://www.ruby-forum.com/u/sjames)\
**Post date:** [June 15, 2007, 5:36pm UTC](https://www.ruby-forum.com/t/multiple-applications-setup/106508/17 "2007-06-15T17:36:06Z")

</div>

Hi Adrian/Chris

Thanks for your responses.

Chris: Yes, I am worried about the whole same app/same database model  
too. Seems like a bad plan to me, hence why I have stayed away from it  
thus far.

I think you’re right - providing the functionality I require in the form  
of a plugin is the correct way to go. I’m never going to be able to  
write no new code at all, the important thing is to reuse the difficult  
stuff 🙂

Adrian: I’ll look into Slicehost now. $38 seems very cheap for 512, what  
am I missing? Apart from a box to sign in 🙂

I agree LiteSpeed sounds like the best option server-wise - I’d never  
heard of it before now but seems fairly self-explanatory and worth  
looking into.

Cheers  
Jay

---

<div class="post-metadata">

**Author:** ![sjames](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/s/c57346/32.png) [@sjames](https://www.ruby-forum.com/u/sjames)\
**Post date:** [June 15, 2007, 3:29pm UTC](https://www.ruby-forum.com/t/multiple-applications-setup/106508/18 "2007-06-15T15:29:59Z")

</div>

replied in line

On Jun 15, 12:13 pm, James H. \<ruby-forum-incom…@andreas-  
[s.net](http://s.net)\> wrote:

> Also, I am looking to share as much code as possible. I’ve written some  
> functions which I use in most of my code and I need these to be  
> available to all the sites, rather than maintaining several different  
> versions!

Sorry I didn’t make myself clear.

If they are sharing code, in terms of needing the same functions, you  
would be better to extract that functionality into plugins.

When I said sharing code, I really meant sharing data, meaning that  
they needed the same database.

I’d worry about having unrelated apps running as part of the same  
mongrel cluster accessing the same data base.

> Anyway, so that is where I am at. Quick question - does anyone know how  
> much memory a connection to MySQL uses? I’ve ruled out the multiple  
> mongrels accessing multiple DBs on the premise that it will use too much  
> memory, but if MySQL does not use that much memory this might be worth  
> going for? Still a bad solution to a bad problem, but it looks like I’ll  
> have to compromise somewhere…

Not sure about memory use, but doubt its significant. Take a look at:  
[http://drnicwilliams.com/2007/04/12/magic-multi-connections-a-facility-in-rails-to-talk-to-more-than-one-database-at-a-time/](http://drnicwilliams.com/2007/04/12/magic-multi-connections-a-facility-in-rails-to-talk-to-more-than-one-database-at-a-time/)

Steve

---

<div class="post-metadata">

**Author:** ![sjames](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/s/c57346/32.png) [@sjames](https://www.ruby-forum.com/u/sjames)\
**Post date:** [June 15, 2007, 6:02pm UTC](https://www.ruby-forum.com/t/multiple-applications-setup/106508/19 "2007-06-15T18:02:26Z")

</div>

Jay,

You have full control over your VPS: root access, add/remove packages,  
etc. The only thing you are missing is the full power to the HW since  
you are sharing it with other people. But you also pay a fraction so  
it evens up. And you can buy backups and you get RAID1 for free so it  
is hard to match value on a dedicated server. BTW, if you need that  
the best value I’ve found (and using) is [cari.net](http://cari.net) [1], you can get  
started for $60/mo. Although I would highly recommend RAID1 and  
backups at the very least.

Now on the development side I gotta say that you shouldn’t have to go  
through the hassle of setting up one app for multiple domains because  
of the cost. A VPS like we talked before should handle multiple apps.  
BTW, SliceHost[1] let’s you resize your VPS up or down (256 ↔ 512 ←

> 1. in literally minutes so getting the amount of resources you  
> need shouldn’t be a problem. Now,if you really need an app to handle  
> multiple domains with different logic for each url you can deinitely  
> do it but it won’t be an easy road. I have a framework that does  
> something similar and I can tell you that Rails wasn’t made to make  
> your life easier down that road. If you really need more info on that  
> we can talk some more other time.

Hope it helps,

AEM

[1] [http://slicehost.com](http://slicehost.com)

On Jun 15, 9:36 am, James H. \<ruby-forum-incom…@andreas-

---

<div class="post-metadata">

**Author:** ![sjames](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/s/c57346/32.png) [@sjames](https://www.ruby-forum.com/u/sjames)\
**Post date:** [June 15, 2007, 6:13pm UTC](https://www.ruby-forum.com/t/multiple-applications-setup/106508/20 "2007-06-15T18:13:09Z")

</div>

Hi Adrian

Thanks for your reply again.

Sounds fair enough, the VPS seems a good option and without the memory  
limitations I was having with the other hosting package. My one problem  
with Slicehost is that they are based in the US, where as most of the  
clients I am working for will be based in the UK - do you perceive that  
being a problem? I agree on the backups issue - I’ve had problems with  
that before, it’s not worth risking it.

I entirely agree with your comments re development - when I first  
started out with Rails I hadn’t even conceived the idea that I might  
have to serve multiple sites via a single app.

I guess the only way to tell with this stuff is to suck it and see. So,  
that said, I’ll probably move some of the less important sites across  
first and see how they perform. Then I’ll move the bigger ones over one  
and a time. Hopefully 1) everything won’t come crashing down around my  
ears 2) if it does it can be fixed by using the next size of VPS.

Anyway, thanks for your help, I appreciate the time you’ve spent  
advising me. I owe you a pint 🙂

Cheers  
Jay

[Next page](https://www.ruby-forum.com/t/multiple-applications-setup/106508.md?page=2)
