The Design of Software (CLOSED)

A public forum for discussing the design of software, from the user interface to the code architecture. Now closed.

The "Design of Software" discussion group has been merged with the main Joel on Software discussion group.

The archives will remain online indefinitely.

Simple redundancy

In light of what happened recently at The Planet, I'm concerned about hosting a service at just one location any more.

Assuming I don't have any worries about performance, and all I need is a way for:

a) All data at the primary site to be replicated reliably at the secondary site, and
b) All services to undetectably failover to the secondary site in case the primary site goes down for any reason,

What software and tools should I be looking into?

(Those are my primary concerns, but ease of setup and maintenance are pretty high on the list, too.)
Dan Hulton Send private email
Wednesday, June 18, 2008
 
 
Why not outsource the problem to Amazon S3 or similar?
John Topley Send private email
Wednesday, June 18, 2008
 
 
A good idea, but I'm not quite ready to jump on the cloud computing bandwagon yet.  I'm already hip-deep in new stuff on this project, and while I love learning new things, I'm trying to prevent scope creep.  I want to eventually finish it, not implement new technology after new technology until it's never done, as is my natural tendency.
Dan Hulton Send private email
Wednesday, June 18, 2008
 
 
Oh, and if it helps, one of those new things is Rails.  So if there are any Rails components that aid in this that I've missed, I'd be happy to hear about them.
Dan Hulton Send private email
Wednesday, June 18, 2008
 
 
I don't think this is a Rails-specific issue. Sounds like you should be looking into database replication and load-balancing your HTTP traffic. I can't go into more details I'm afraid because I haven't written any Rails apps that do that. I've load-balanced across a cluster of Mongrels on one VPS, but not across multiple physical or virtual servers.

Having said it's not Rails-specific, one thing you ought to do is to make sure that you've configured ActiveRecord to use the database for session storage. This is getting towards the so-called Shared Nothing architecture, because you're pushing the contention point as low down in the stack as possible.

As an aside, there are libraries that make using Amazon S3 from Ruby ridiculously easy if you decide to go down that route in future: http://clarkware.com/cgi/blosxom/2007/02/01

Good luck!
John Topley Send private email
Wednesday, June 18, 2008
 
 
Damn, that's super-cool.

Though I wish there were an S3 -> ActiveRecord thing out there.  Like, just change the config YAML to use S3 as the DB and just go from there.
Dan Hulton Send private email
Wednesday, June 18, 2008
 
 

This topic is archived. No further replies will be accepted.

Other recent topics Other recent topics
 
Powered by FogBugz