yaz wrote:
(...) I could instantly rollback my domain to my old server which was still online and then switch it back to Linode when it was up again.
Of course this is subject to the TTL on your records, and any clients whose cache was ignoring the TTL, plus nowadays any browsers with internal application caches. In practical terms (for clients) I think best case is much slower than instantly, though something on the order of 60s for a large percentage of clients should be doable. That is, propagation time for the DNS servers is usually a small part of the latency involved in switching addresses, compared to getting all the clients to obey the new value. Of course, this doesn't make using a third party a bad idea, only that they can't magically address client side issues any more than you can yourself.
In terms of this thread, while no, there's no "need" to run your own DNS server, if update latency is an important factor for you, running your own server (and slaving Linode's servers for redundancy) does have an advantage of allowing you to minimize update latency while remaining "in-house". Managing domains through the manager needs to wait for the 15-minute refresh cycle, using a local name server with notifies will refresh the zones in Linode's servers immediately.
So as long as you decrease your TTL before making changes, and of course, wait at least your prior TTL before starting, you can make quick switches without a third party. I'd probably stay above a 30-60s TTL to avoid risking some cache deciding to ignore you. If it's a web service, things like the default Firefox browser cache expiration of 60s puts a floor on changes anyway, so lower TTLs are of limited use.
Even then (whether in-house or third-party) there may be a small percentage of customers who take much longer to adjust, so depending on the importance of the server, when possible it's best to maintain an overlap in both addresses until you actually see no requests hitting the old address.
-- David