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 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.