I’ve been approved for a new Rails web server - any suggestions on hardware, OS & setup?
Rob
I’ve been approved for a new Rails web server - any suggestions on hardware, OS & setup?
Rob
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!!!
Sorry - i guess i could be more descriptive. We’re producing E-Commerce web applications that we want scaleable up to hundreds of users.
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
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:
Nginx to receive the requests and serve up static assets
Varnish to get the requests from nginx and provide a level of caching on dynamic but non live information
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.
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.
My preferred stack, without using jruby, is as follows.
Webserver: nginx App servers:
I guess there’s a lot more. Do you have any specific questions?
~Johnneylee
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:
what is your preferred OS on the server for a Ruby on Rails ECommerce app
what webserver software do you prefer
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
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.
Uh, who's going to be maintaining this?
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,
Hi Rob Daniels,
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