Hot Spare Service?

Here's my situation: I run a Web-based application on actual hardware (as opposed to a Linode). It was born on my Linode, and the Linode still admirably performs some ancillary work, but the main event graduated to hardware, mostly because the database eats memory for breakfast.

I have backups working okay: all transactions are replicated to another server in real time, and then snapshots are taken every couple of hours.

In light of the recent debacle at 365 Main, I'm concerned about uptime. I'd like to guard against the possibility of the server catching fire, the datacenter losing its network, or what have you.

The "real" solution is to rent a redundant server in a different city. That's fine, but a bit expensive, especially since I don't really expect to have this problem.

Here's an idea: what if a service provider (like Linode?) offered a hot spare service. For example, with 100 customers, have 10 servers worth about $300/month. Charge each one (say) $50/month, and accept a disk image from each. Customers can then deploy their image if they need to, upload the latest database, and incur a (probably fairly steep) daily charge for actually using a server.

Is there some better option I've overlooked? Should I just bite the bullet and get a redundant server? Should I keep one of those "rapid deploy" places on speed-dial? (That would take some time for me to configure, though.) How does anyone else handle this situation?

2 Replies

The problem with redundancy in a different city is that you'll have totally different IP addresses, so you've got to ensure your DNS TTL is set sufficiently low that you can update the DNS to point to the new machine and expect it to propogate.

And hope that Microsoft's "DNS Client" doesn't break (again) and cache the old value for ever (Windows will do DNS without "DNS Client"; that's merely a broken cache tool that's enabled by default).

In this case you might as well do warm standby's yourself; just get a second linode at the other datacenter and then "mirror" your install. For a real database (such as postgres) you could perform "log shipping" and so the standby database would be (say) 5 minutes stale. I've no idea how to do similar on mysql or lightweight databases. The HTML side could be rsync'd regularly. Your DR linode need not be as high spec as the production one.

If you merely want potential access to a machine at a cheaper cost and hope and pray that the server will be available when you need it… I've worked in companies that did offsite DR that way, but given how cheap linodes are now I wouldn't do it. If linode did have a server explosion or a datacenter caught fire then they'd be too busy fixing things than to be co-ordinating access to the over-subscribed DR server.

@Xan:

Here's an idea: what if a service provider (like Linode?) offered a hot spare service. For example, with 100 customers, have 10 servers worth about $300/month. Charge each one (say) $50/month, and accept a disk image from each. Customers can then deploy their image if they need to, upload the latest database, and incur a (probably fairly steep) daily charge for actually using a server.

You might want to check into Amazon EC2. It's an on-demand virtual machine service that is pay as you go: $0.10 per CPU/hour, $0.10 per GB bandwidth in, $0.18 per GB bandwidth out. You'll also pay $0.15 per GB per month to store your machine image (plus any other persistent data you want) on Amazon S3.

The caveats are:

1. Amazon EC2 is still in a limited beta, I think for about a year now. They occasionally add customers from a waiting list. I was told back in March that it would out of beta (and presumably open to all subscribers) by the end of the year.

2. Amazon EC2 nodes don't seem as reliable as Linode. This could simply be because Amazon is still working out beta bugs that require rebooting their hosts.

3. Setup is more difficult. Amazon provides only Fedora Core 4 images. You're free to use these images as a base, roll your own from scratch, or use other people's images that they make public. I've been tweaking their standard images because there seem to be a number of gotchas with other distributions and I don't trust an image that comes from someone else.

I think Amazon intended EC2 for distributed computing, e.g. set up your own cluster. I don't think it works so well as a server hosting facility, which is how a lot of people seem to want to shoehorn it. One of the key issues is dynamic DNS - every time you start a machine it gets a new IP, and someone else will get that IP if you give it up. I fully plan to keep my personal server on Linode. EC2 might be a decent fit as an emergency backup server, though.

Reply

Please enter an answer
Tips:

You can mention users to notify them: @username

You can use Markdown to format your question. For more examples see the Markdown Cheatsheet.

> I’m a blockquote.

I’m a blockquote.

[I'm a link] (https://www.google.com)

I'm a link

**I am bold** I am bold

*I am italicized* I am italicized

Community Code of Conduct