Datacenter power failure failover

We recently had our datacenter's power go. We are protected by an SLA and use DNS to redirect users when a failure is detected. DNS isn't designed to do this by design. Is this the most practical way for dealing with failing over between datacenter's? The datacenter's in question are located in different countries. UK and US.

Anyone have any advice to give on this particular scenario?

EDIT: Cost effective as possible without BGP or other complex systems that require adding dedicated hardware.

Thanks


Solution 1:

"Cost effective as possible without BGP or other complex systems" means exactly what you have now: DNS Failover (with a really low TTL on the records). -- Ghetto, Cheap and Reasonably Effective.

Absent additional information I would say BGP (possibly coupled with anycast) is probably the "best" solution, but this will require configuration and maintenance at both datacenters.

Solution 2:

BGP. Basically, you use the BGP protocol to announce a route for your IP network. Normal route goes to datacenter A. If datacenter A fails, BGP announces a new route that leads to datacenter B.

Since this is real time routing information, it's almost transparent, Unlike DNS that requires records propagation, TTL expirations and so on...

It does, however, requires that you manage your pool of IP addresses using your own BGP routers. You need to discuss that with your ISP.