New web server suggestions

I’ve been approved for a new Rails web server - any suggestions on
hardware, OS & setup?

Rob

Sorry - i guess i could be more descriptive. We’re producing E-Commerce
web
applications that we want scaleable up to hundreds of users.

I would suggest a Raspberry PI with a 8Gb SD card

Of course that wont be of any use to you if your application requires to
handle 100s of users and has constant database access.

But then again WE ARE NOT PSYCHIC!!!

There’s still a lot of missing information here. Your app could have a
product delivery responsibility (say, watermarking PDF files) that
causes it to have a larger memory/processor footprint than a basic CRUD
app. Which commerce approach are you taking? What impact does SSL add?
Are there any other apps on the same server?

Walter

On Jul 23, 2013, at 7:37 AM, Rob D. [email protected] wrote:

I’ve been approved for a new Rails web server - any suggestions on hardware, OS
& setup?

I would submit that this is not the sort of question for a mailing list.
If you truly don’t know how to figure this out, gathering a bunch of
stuff from random folks won’t help. Given all answers here are of “WE
CAN’T TELL YOU” I’d suggest you hire someone to consult with you to help
you figure it out. This is not a simple thing. DevOps is a not
something to make hasty choices over.

Sorry if I upset some members with this one… i was just trying to find
out
some preferred server configurations. I’m still a Ruby noob… coming
from a
PC background this questions wouldn’t have caused this kind of response
in
my known field. I have 2 small e-commerce websites hosted currently on
Windows 2008 R2 server… I was looking to port it over to something more
Ruby-friendly. They are simple sites, maybe a couple hundred users per
day.

Additionally what does “hundreds of users” mean? Hundreds of
simultaneous
users or hundreds of registered users who log in once a month.

How big is your product catalogue? Do you have a lot of products or only
a
few? How important is search?

A basic setup could be:

  1. Nginx to receive the requests and serve up static assets
  2. Varnish to get the requests from nginx and provide a level of caching
    on
    dynamic but non live information
  3. Unicorn to receive the requests from varnish and pass it on to the
    Rails
    app

If caching does not help you significantly then drop step 2 and nginx
talks
straight to unicorn

For a database we go with PostgreSQL. Nothing special, it works.

Thanks Spaceghost,
I’m trying to get a feel for what is the ideal environment for my Ruby
on
Rails websites (I know it’s not Windows). I really have no experience
with
Ubantu or Debian or anything out of the Windows world, I was hoping to
get
some ideas about ideal environments so I could focus and learn about
those
before buying my first non-windows server.

I guess my specific questions would be:

  1. what is your preferred OS on the server for a Ruby on Rails
    ECommerce
    app
  2. what webserver software do you prefer
  3. what other technologies would you recommend I investigate

I heard great things about unicorn, passenger and nginx - none of these
technologies work well on Windows

My preferred stack, without using jruby, is as follows.

Webserver: nginx
App servers:

  • puma
  • unicorn

I guess there’s a lot more. Do you have any specific questions?

~Johnneylee

You best bet might be to buy the book “Deploying Rails”. I personally
use nginx & unicorn (& postgresql & pgbouncer FYI), but that doesn’t
really provide much info as to what you need.

On Jul 25, 2013, at 11:49 AM, Rob D. [email protected] wrote:

I heard great things about unicorn, passenger and nginx - none of these
technologies work well on Windows

Scott R.
[email protected]
http://www.elevated-dev.com/
(303) 722-0567 voice

Hi Rob D.,

My suggestion:

Even I dont work for Amazon but i found best for large scale websites.
Cloud Platform : Amazon EC2 , S3 for storage, cloud front for static
content like assets delivery. and cloud watch Auto scale etc
OS: I found Ubuntu 12.04 LTS best for me because you will get most
updated
packages for each software required to run basic OS level things.
Web Server : Nginx latest version
Application server : Unicorn (More Through put)

thanks for the responses guys :slight_smile:

On Thu, Jul 25, 2013 at 10:49 AM, Rob D. [email protected]
wrote:

I’m trying to get a feel for what is the ideal environment for my Ruby on
Rails websites (I know it’s not Windows). I really have no experience with
Ubantu or Debian or anything out of the Windows world, I was hoping to get
some ideas about ideal environments so I could focus and learn about those
before buying my first non-windows server.

Uh, who’s going to be maintaining this? :slight_smile:

Pretty much any *nix distro will do, but I’d think you would want the
relevant devs and admins to jointly explore a few to decide which
offers the easiest transition from Windows.

Have everyone involved install VMs of e.g. Ubuntu, CentOS, etc.,
and play with them: use the package management system to install
things you’ll need (database, web server, etc.); install from source
without the package management system; practice doing Rails
deployments in a sandbox environment. And so on.

FWIW,

Hassan S. ------------------------ [email protected]

twitter: @hassan