3DNS; What is 3DNS and how does it work

The 3DNS Controller is a F5 Networks product intended to perform wide-area load balacing and high availability of Internet applications and services. It is able to manage traffic for large sites across multiple data centers, and ensure that users are connected to the data center nearest them. It does this by selectively handing out a particular IP address in response to a DNS name record request.

The 3DNS Model
The best way to understand what the 3DNS controller does, and how it does it, is to imagine it in action. Let us say that you are a large corporation with a website -- call it buystuffonline.com -- that gets a lot of traffic from all over the world. Your corporation depends on people being able to make purchases via its website for its revenue -- so if that site goes down, or is even merely slow, you're losing money. A lot of money. So you build datacenters -- facilities where a copy of your website is hosted -- in several major cities around the world: Tokyo, LA, New York, and London, in hopes that one of these datacenters will be at least on the same continent as any given customer. Then you need a way of making sure that even though all of your customers are going to the same domain name, they will always be routed to a datacenter that is functioning, and preferably one that is both geographically close to them and responding quickly. It helps if the load is fairly evenly distributed among datacenters as well.

This is where 3DNS comes in. You give 3DNS a list of the IP addresses of your website hosts, and state which datacenter that host is located in. You associate all of these hosts IPs with a single DNS record -- say, www.buystuffonline.com. Then, whenever your customer opens up a browser and points it at www.buystuffonline.com, a name record lookup is performed, and your 3DNS hands out the IP address of one of the hosts in the list associated with that FQDN. You can instruct 3DNS to spread the load evenly among all datacenters, or to send a given percentage of requests to a particular datacenter depending on its ability to serve traffic. 3DNS can even do fancy things like dynamically determine which datacenter is performing the best and hand out that IP address more often than others.


Features
High Availability
Of course, you want to make sure that your customers will never experience the frustration of being unable to connect to your site -- the poor things are wired for instant gratification, and it causes them no end of discomfort to be thwarted. The whole point of high availability is to make sure that, should disaster strike -- say, Godzilla stomps on your Tokyo datacenter -- requests will go to the datacenters that are still operational. So 3DNS will check on the health of all the hosts in each datacenter several times a minute, making sure that it can still connect. If it can't, it will assume that the host is down and make sure that it does not hand out that IP in response to name requests until the host starts responding again.

Geographic Load Balancing
One of the other nifty things that 3DNS can do is intelligently route clients to the datacenter nearest them. It does this first through a list of which IP blocks are assigned to each country; it also has a number of sophisticated algorithms for working out the answer to this question more precisely. This is very proprietary stuff, but suffice it to say that customers in Singapore get routed to your Tokyo datacenter, and that customers in Grover Mills get sent to New York -- resulting in a significant improvement in overall performance of your website.

Integration with Other F5 Products
F5 is very much in the load balancing business: 3DNS is intended to do what a BIG-IP does but on a larger scale. It makes sense to use 3DNS to handle wide-area load balancing, and to let BIG-IP take care of the local stuff, so why not use them both in conjunction? For this reason F5 has designed 3DNS and BIG-IP to communicate via a proprietary protocol called iQuery, which can run over either TCP or UDP. If you have a BIG-IP in each of your datacenters, and are using BIG-IP virtual servers to loadbalance individual physical servers, 3DNS can communicate with each of your BIG-IPs and automatically configure itself based on what virtual servers are available. It can also gather health status and performance statistics on each virtual server.

Shared Platforms
3DNS is designed to run either as an add-on software module on an existing BIG-IP system (of any hardware type), or independantly on the 520 and 540 server appliances.

5 comments:

  1. Replies
    1. Hi,
      Thanks for this explanation. It was really helpful. But can you also let me know whether 3 DNS has the capability to route client request for file servers.
      For eg if there are 5 File Servers FS1....FS5 in 5 different sites and data is present on each FS is replicated, then can 3 DNS route clients to the FS belonging to their respective sites.
      Appreciate your help on this.

      Delete
  2. I am greatly appreciative of the technical details. Of a more curious and funny interest, I LOVE the reference to Grover's Mills, which is in New Jersey (ergo, close to NYC). Not only was it an actual town used in Orson Well's "War of the Worlds" broadcast that freaked the nation out, it is a town near me that I've driven and bicycled through!

    ReplyDelete
  3. Good, understandable post - thanks! Also, I hate it when Godzilla steps on the Tokyo data center....

    ReplyDelete
  4. Hi Ram,
    Thanks for sharing valuable information.

    ReplyDelete