Howdy,

Firstly I'm going to answer the questions you actually asked:

> What server do you recommend running on Linux?


Ubuntu 12.04. Very popular (read: everything works with it, easy to find
support), modern Ruby version available.

> What deployment tools do you recommend for deploying to the Linux server?


Manage the server's configuration using chef and deploy using chef (hard)
or capistrano (hard-ish, depending on application complexity).

> And how would you manage the different database configs between the
> environments?


As you're already using heroku, I would set DATABASE_URL (as Heroku does)
in your production server's environment and adapt your database.yml to use
it.



Secondly I'm going to try to talk you out of your proposed course of action:

I'm intending to install CentOS on that and run separate VMs (using
> hardware virtualisation) for the web server and database.
> Depending on performance testing, I'm thinking of using that server for
> "prod" and my Heroku version as "demo" / "test".
> Access to the Linux server will be over ADSL, but all of the users are in
> Australia.


There are several actions in this paragraph that I do not recommend you
take. I'll address each individually:

   -  I do not recommend you use CentOS unless you are already familiar
   with Redhat-based distributions. Packages for things that we take for
   granted (eg, git) need to be obtained from the 'community' package
   repository (thus negating the security/vetting benefits CentOS is purported
   to provide), from random parts of the internet (even worse) or hand-rolled.
   - Separating your web server / database using VMs in a production,
   non-cloud environment is un-necessary and will complicate your
   configuration. The security benefits are minimal: a compromise of your
   application VM will lead to a compromise of your database VM due to exposed
   db passwords. You'll need to do twice the maintenance re updating system
   packages, ensuring there's enough disk space, etc. Finally, the VM layer
   itself adds a small performance hit to the application, and having another
   level of abstraction between you and the hardware will make it that much
   harder to diagnose 'tricky' IO issues or performance problems.
   - An ADSL link is generally unsuitable for hosting anything other than a
   very lightweight website for a very small number of customers. 1mbps is
   just _not that much_. If it's the same ADSL link as you're using for your
   office, dropbox synchronization & gmail file uploads will slow access to
   the server for your customers to a crawl. That's leaving alone the general
   unreliability of some ADSL links & most consumer-grade ADSL kit..


On Tue, Jul 31, 2012 at 11:32 AM, Craig Read <[email protected]> wrote:

> I've been following the conversation on environment configuration for
> database settings with great interest, but didn't want to derail the thread.
>
> I have an open source rails application on Github, which I've also
> deployed to Heroku.
> The Heroku site has been used for testing, and I was intending on
> eventually using it for "production".
> One of the things I've loved about Heroku is the deployment tools.
> I've been able to keep everything on Github, Heroku and my MacBook in sync
> fairly seemlessly.
>
> However, I recently acquired a Dell PowerEdge 2850 gratis.
> I'm intending to install CentOS on that and run separate VMs (using
> hardware virtualisation) for the web server and database.
> Depending on performance testing, I'm thinking of using that server for
> "prod" and my Heroku version as "demo" / "test".
> Access to the Linux server will be over ADSL, but all of the users are in
> Australia.
>
> What server do you recommend running on Linux?
> What deployment tools do you recommend for deploying to the Linux server?
> And how would you manage the different database configs between the
> environments?
>
> Cheers,
>
> --
> Craig Read
>
> @Catharz
> https://github.com/Catharz
> http://stackoverflow.com/users/158893/catharz
>
>  --
> You received this message because you are subscribed to the Google Groups
> "Ruby or Rails Oceania" group.
> To post to this group, send email to [email protected].
> To unsubscribe from this group, send email to
> [email protected].
> For more options, visit this group at
> http://groups.google.com/group/rails-oceania?hl=en.
>



-- 
Michael Pearson

-- 
You received this message because you are subscribed to the Google Groups "Ruby 
or Rails Oceania" group.
To post to this group, send email to [email protected].
To unsubscribe from this group, send email to 
[email protected].
For more options, visit this group at 
http://groups.google.com/group/rails-oceania?hl=en.

Reply via email to