Topics


Blogs


Forums


Samples


Media


Labs


Resources

 




DevCentral > Weblogs > Lori MacVittie - Two Different Socks
 The End of DNS As We Know It
posted on Friday, August 28, 2009 4:29 AM

DNS wasn’t meant to handle hybrid cloud architectures and on-demand routing

migration When you start distributing services (workloads, applications) across multiple locations, a la cloud balancing, and those locations may change on a frequent basis you begin to run into problems with finding those services and scaling the rate of change effectively. DNS was designed to resolve host names, but never expected that the same host name might resolve to one of two, three, or four IP addresses all within the span of five minutes.

If we want to support a rapid rate of change, we’d also need to consider the strain on the existing DNS infrastructure as it would require that propagation rates be decreased such that changes would be discovered as needed rather than 2 or 3 hours (or days) later. That change, however, isn’t specific to any particular technology and would affect all resolution requests. That invariably increases traffic and stress on the entire Internet infrastructure.

Too, DNS certainly isn’t prepared to deal with the possibility that two different clients might need two completely different addresses for the same host. DNS was not designed to support contextual-based response to a query. It’s host name in –> IP address out and – this is what makes it bad for cloud in the future – it’s completely anonymous.


DNS DOESN’T TURN ON A DIME

It’s not just a constant rate of change that’s a potential problem for DNS. It’s unlikely that organizations will see change in service/application locations that is so out of whack with conventional access patterns that it’s necessary to support changing IP addresses on an hourly or daily  basis. But the use of cloud-hosted applications as “backup” or “secondary” or “overflow” data centers is a very real one that introduces the need to be able to very quickly redirect requests from one location to another. DNS needs to be able to turn on a dime, as it were, and that’s not something that DNS does well – at least not without introducing a lot of strain on the network and its infrastructure.

DNS would still need to propagate change rapidly “just in case” an overflow situation occurred in which some requests needed to be directed to other data centers. And the time-out value that forces resolution would need to be low enough to support a sudden redirection to another IP address.

But this brings up another problem: even though it is common enough to map multiple IP addresses to a single host/domain, these are not intelligently used by clients. They are more like successive retreating lines in a battle; after each failure the client falls back to the next, and the next, and the next, without any consideration for availability or performance. There’s also no way to control the use of those IP addresses based on current conditions within the data center. The “failover” between one IP address and the next does not necessarily recognize a failure to connect because an application is over capacity as “failure”; it isn’t a given that a client/customer will be redirected appropriately based on data center/application conditions.

DNS just wasn’t designed to handle these kinds of scenarios, nor was it was meant to react that quickly to change.


GLOBAL LOAD BALANCING

Global server load balancing (GSLB), however, was designed to handle these types of scenarios. GSLB is one of the most misnamed technologies, in my opinion, because while the goal is to load balance requests globally (across multiple data centers and locations) the implementation is really via a flexible and intelligent system based on DNS. A GSLB implementation is designed with the understanding that any given request might need to be directed to some other location and does not maintain a one-to-one relationship between host/application and IP address. GSLB can assume both a high rate of change and on-demand resolution.

 distributedclouds For example, GSLB is most often associated, today, with geographic-based load balancing or routing. The idea is based on the premise that the shortest distance between two points will be the fastest and therefore a request directed to a physically closer data center will achieve a much better response time than a request directed to a more remote data center. Now take that concept and use other variables to decide where to route the request – such as actual response time of the application, current capacity of applications at various data centers, the time of day, or even user-specific information. That’s called context and it’s what allows a GSLB solution to intelligently route requests to the data center best suited to respond based on all the variables known at that moment in time.

Large organizations with multiple data centers know this and have long been implemented global load balancing solutions to address this very scenario. Most medium and small businesses have never considered it before because they didn’t have a secondary data center to which requests could be directed. They had not the staff nor the budgets to build out a second data center and thus global load balancing was never an option for them. But cloud computing makes it an option and it makes it a very likely (and attractive) option. One of the benefits of cloud computing is that the staff, the hardware, the facilities – everything physical – already exists and is completely managed by the provider. All that’s required is the packaging up and deployment of the application into the cloud.

Cloud computing coupled with intercloud and cloud balancing concepts result in a requirement for GSLB for anyone considering a hybrid model of application deployment. Not just large organizations, but small ones, too, if they host applications on-premise and in the cloud.

DNS will continue to be the backbone of the Internet; without DNS the Internet would cease to exist as we know it. But DNS will surely begin to become one of the core technologies that is always implemented but rarely seen externally, like ARP. Or, perhaps, the DNS will merge with GSLB and become one fluid system; GDNS (Global DNS). GDNS would certainly address the core requirement and need for DNS, and the integration of GSLB would bring the context-awareness required of cloud to the table.

Either way, the concept of GSLB will eventually become the de facto standard for resolving external facing services and applications because without it there’s not really an efficient way to handle the hybrid architectures that are predicted to come or the rapid rate of change inherent in cloud computing models.

Like all infrastructure, DNS needs to move toward its “2.0” version to support emerging data center models and that may mean merging with GSLB solutions in order to become as “dynamic” as the “D” in DNS.

Follow me on Twitter View Lori's profile on SlideShare friendfeedicon_facebook AddThis Feed Button Bookmark and Share

Related blogs & articles:



 
      

Feedback


8/28/2009 6:18 AM
Gravatar I see a business coming--A GLSB service that represents a relatively static hostname/IP address but redirects applications to where ever it resides. GLSBaaS. There, I said it first. LOL
mike fratto

8/28/2009 7:26 AM
Gravatar With opensource products like eddie.sourceforge.net it shouldn't be too long before that everyone will need v2.0 running in their infrastructure - even if it's only doing v1.0 for now. But don't expect the upgrade to happen soon. v1.0 has proved to be more stable from a historical perspective then v2.0 so it will take some time for the switch to happen.
Chetan

8/28/2009 11:16 AM
Gravatar Aren't most GSLB systems based on DNS? Isn't Akamai based on sending "completely different addresses for the same host"? What am I missing here?
Wes Felter

8/28/2009 1:25 PM
Gravatar There’s an emerging standard that may go a long way towards addressing the limitations of present-day DNS: IF-MAP (Interface to Metadata Access Points) is a protocol developed under the TCG's Trusted Network Connect (TNC) sub-group that defines what could become DNS 2.0 - and quite a bit more. MAP describes the interface to a publish/susbcribe/search database of rich network metadata, so it includes things like IP/Hostname bindings but also lots of other data like policy, state, location - in short, all of the information required to enable coordinated computing - including intelligent routing. MAP is real-time, proactive (you can subscribe to changes of interest) and designed to scale both in size and in terms of the data types and semantic contexts that it can represent. MAP started as a solution to the problem of open, interoperable network security but that's just one application. Some basic info here: http://www.infoblox.com/solutions/if-map.cfm and here: nacblog.juniper.net/.../the-adoption-curve-for-...
Richard Kagan

8/28/2009 1:42 PM
Gravatar @Wes

You're right - GSLB is *based on* DNS, but is far more interactive/contextually-aware of the environment (that's a requirement for GSLB, in fact, that doesn't exist for DNS).

And that is the point - DNS isn't aware enough nor able to make decisions on actionable data that's shared amongst the disparate components. So instead of "just DNS" you get "GSLB". DNS is still necessary as the "backend" for GSLB, but GSLB will become the primary mechanism for resolving externally facing hosts/applications/services.

Of course that's pure speculation. ;-)

Lori
Lori MacVittie

8/28/2009 3:12 PM
Gravatar Ah, I see what you are saying. The DNS protocol is fine, but the classic approach of BIND with static zone files is obsolete.
Wes Felter

8/28/2009 5:07 PM
Gravatar Isn't the title a wee bit hyperbolic considering that "Global Services Load Balancing" just a marketing euphemism for "a DNS server with network intelligence and application awareness"?

Whether that intelligence and awareness is geo-location, energy cost, ADC load, language preference, site availability, or any other methodology, the DNS query and response remain the same and it is merely answered _after_ considering the out-of-band information. There isn't anything earth shattering about that; you can take a plain-jane DNS server today and have dynamic zone files and views and manipulate them remotely or pro grammatically or both. It is complex, complicated, and generally a huge pain in the butt for staff who already have too much to do in too little time.

What is valuable is the information sharing network that permits many resolvers to deliver real-time intelligence to clients world-wide, in concert. This integration, particularly in a turn-key application, is what puts the "Global" into GSLB and why GSLB makes sense in any context. It is the difference between an FTE on the payroll doing nothing but managing FQDN-to-IP mappings... forever, or a one-time capital expense and a fixed, yearly opex. The fact that once you roll it out your developers will be able to add an order of magnitude to the complexity of their applications without making them impossible to administer is just gravy.

DNS "as we know it" isn't about to end - far from it. All that is going to happen is that DNS resolvers will take some vitamins, get connected to the application delivery meta-conscious and learn better judgement.
Ian

8/29/2009 3:44 AM
Gravatar @Ian

Oh, I don't know, I think the way that we think about DNS, and how we use it, will require a radical change in order to leverage the cloud in the future. DNS is an awful lot like other IP-based technologies: it's just there, it's a core component, it's a foundation. But most people don't think about DNS as being capable of making decisions on the level of GSLB now and certainly not on the contextual basis that will be required in the future.

So is the title hyperbolic? Perhaps a bit, but I think we will see a big change in how we view DNS and its role in architectures in the future because we have to to make these new architectures work.

DNS is FQDN-IP mapping. We're talking about the possibility of service-based mapping, which may or may not be 1-1 and in fact probably won't be. We're talking about changing the way DNS is used and deployed and about its critical role in the infrastructure being thrust into the forefront.

I think that's the end of DNS as we know it in much the same way that web 2.0 changed web applications "as we knew it" a few years ago.

Lori
Lori MacVittie

8/31/2009 9:23 AM
Gravatar I recognised the need for affordable GSLB for clients with cloud based services etc as described above.

Towards building a free, opensource, programable DNS system I wrote http://code.google.com/p/ruby-pdns/ which allows you to code in the ruby language dns records while using a rock solid server like PowerDNS to host it

On the road map for the next major release the ability to send the server context from your monitoring, etc and then have it do DNS answers based on the context, this will hopefully allow small companies, startsups etc to build GSLB systems without the massive cost associated with GSLB kit.

I think this kind of service is one of the major missing building blocks in todays clouds

R.I.Pienaar
 Leave Feedback
Title  
Name  
Email
Url
Comments   
Please add 6 and 7 and type the answer here: