Hi,

Following Ezra's advice in his book "rails deployment", I have decided
to go through all the pain of setting up a server virtualized with Xen,
and separate each layer of the application in its own VM.

So I have 4 VMs: Nginx, Thin, PostgreSQL and one for email

The advantages are:
- if a VM crashes, the others are still alive
- I can setup a testing VM, mess things up, compile, break stuff without
any fear
- I can upgrade the server quickly by moving the VMs on another box

The drawbacks:
- Xen is an absolute pain to setup
- Setting up each VM is tedious
- Nginx can't talk to Thin over Unix sockets, and moreover you need to
setup NFS to share static files between both
- you must setup the DB to be remotely accessible, and cannot use Unix
socket for communication
- you have to manage keeping each VM updated
- actually upgrading the server is not easy as moving the VMs on another
box, there will still be a good downtime.

Each time you have more steps to do compared to a single server with all
the software running directly on a single OS.

Well separating each VM like I did is I find a bad idea, everything is
just more painful.

How do you setup your app? Single server VS multiple?
-- 
Posted via http://www.ruby-forum.com/.

--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups 
"Deploying Rails" group.
To post to this group, send email to rubyonrails-deployment@googlegroups.com
To unsubscribe from this group, send email to [EMAIL PROTECTED]
For more options, visit this group at 
http://groups.google.com/group/rubyonrails-deployment?hl=en
-~----------~----~----~----~------~----~------~--~---

Reply via email to