I agree, BGP is important to route the IP's, but I've been exploring this same option with a different thought. I'd like to hear what others say about this!
Here is my plan (although not implemented or tested) for Web Services.
At our main data center we have the primary DNS server and our primary web server. The remote location houses the secondary DNS server and our secondary web server. Also at that second location is "hidden" master DNS server. Your registrar name records only point to the primary and secondary, therefore, the internet knows nothing of the hidden master. Then, the hidden master contains a similar set of DNS records that point to the secondary site. Here's the trick! The secondary DNS server syncs with the primary DNS server every x minutes. If the secondary DNS server cannot communicate with the primary DNS server, it then looks at the "hidden" master DNS server and syncs the records (which is pointing at your secondary site). Then, when your data center site comes back up, the secondary tries to communicate with the true master DNS server...it can...therefore it updates its records.
That is the theory in a nutshell. I've read that this is possible, but I haven't had a chance to test it.
What do others think about this? This is no substitution for BGP, but for those that don't run BGP or need to re-route the IP networks, this may work.
propagation