As I eluded to yesterday I’m going down the Ubuntu track and doing this on SliceHost.
Ubuntu, because basically the wealth of resources available online for this distribution is massive compared to the likes of CentOS/RedHat. Well, the places where I look anyways. I use SliceHost for hosting Ponoko and couldn’t praise them more. For US$20 a month I get a whole server to myself, persistent storage and fixed ip address - I can do with it as I wish. If Amazon AWS persistent storage was publicly available and they didn’t have spam problems I’d be considering them.
So the plan is to setup a stack for serving a Ruby on Rails application on a single server, and then to see how much I can squeeze out of it before bring in more servers/slices. The advantage of doing this as a personal project is that I don’t have to be massively pragmatic about it - more of my decisions can be geeky based rather than asking myself ‘will this make money’?
On with the plan. This is going to be done in stages, the first is just taking what I’ve previously implemented and moving that to Ubuntu. Essentially a very traditional stack as follows:
Apache 2.2
Mod_Proxy
MongrelCluster
Ruby 1.8.7
MySQL 5.x
MemCached
Initially going with the above familiar stack allows me to focus my learing on the Ubuntu way of things without the distractions of setting up a new stack. Additionally I’ll need to come up with a small set of performance tests to track my progress to prove my assumptions/choices.
Once that’s done, the intention is to upgrade the stack to the following:
Nginx
HAProxy
Thin
Ruby Enterprise (or something else maybe)
MySQL 5.x
MemCached
Astute readers will note that I’ve not included mod_rails in there. My intention is for this configuration to become a multi-server setup supporting a fictous site experiencing heaps of traffic. Mod_rails isn’t going to help in that situation as it’s limitied to the server that Apache is on only. So no point learning about it.
I’ll be throwing HAProxy in there as it’s screams while the ‘fair’ load balancer for nginx apparently still has subtle problems that would be of concern to a busy live site. I want a site that can be updated without being taken down and HAProxy will allow me to do this.
The overall goal is a high performant ruby on rails website that can scale as needed while experiencing a minimum of downtime.
Related posts:
- Trying Again. The topic of what to blog about has popped up...
- Apache, It Works! I was looking through the slicehost article section the other...
- Why not passenger / mod_rails? While I was holidaying over the weekend I received an...
- Getting the basics done So I’ve setup my SliceHost account and have created a...
![[del.icio.us]](http://www.motionstandingstill.com/wp-content/plugins/bookmarkify/delicious.png)
![[Digg]](http://www.motionstandingstill.com/wp-content/plugins/bookmarkify/digg.png)
![[dzone]](http://www.motionstandingstill.com/wp-content/plugins/bookmarkify/dzone.png)
![[Fark]](http://www.motionstandingstill.com/wp-content/plugins/bookmarkify/fark.png)
![[Google]](http://www.motionstandingstill.com/wp-content/plugins/bookmarkify/google.png)
![[LinkedIn]](http://www.motionstandingstill.com/wp-content/plugins/bookmarkify/linkedin.png)
![[Reddit]](http://www.motionstandingstill.com/wp-content/plugins/bookmarkify/reddit.png)
![[Shoutwire]](http://www.motionstandingstill.com/wp-content/plugins/bookmarkify/shoutwire.png)
![[Slashdot]](http://www.motionstandingstill.com/wp-content/plugins/bookmarkify/slashdot.png)
![[Sphinn]](http://www.motionstandingstill.com/wp-content/plugins/bookmarkify/sphinn.png)
![[StumbleUpon]](http://www.motionstandingstill.com/wp-content/plugins/bookmarkify/stumbleupon.png)
![[Technorati]](http://www.motionstandingstill.com/wp-content/plugins/bookmarkify/technorati.png)
![[Twitter]](http://www.motionstandingstill.com/wp-content/plugins/bookmarkify/twitter.png)


