Several shifts in technology have transformed how applications are deployed – namely, globally distributed cloud computing providers, Infrastructure-as-a-Service (IaaS), and deployment automation. Consequently, applications are now distributed by default. This improves uptime and performance in decentralized environments. It also significantly reduces the cost and complexity of deploying applications in the traditional way.
The application and infrastructure aspects of distributing applications have enjoyed impressive advancements. However, the tools website operators have at their disposal to effectively route traffic to their newly distributed applications haven’t kept pace. Your app is distributed, but how do you get your users to the right points of presence (POPs)?
Traffic management as typically practiced today is expensive and lowers productivity via networking techniques like BGP anycasting, capex-heavy hardware appliances with global load balancing add-ons, or by leveraging a third-party managed DNS platform.
DNS is an excellent spot to enact traffic management policies because it is the gateway to almost every application and website
DNS platforms are a real need, but users have not had high expectations. A best-in-class model has been expected to do two things with regards to traffic management. Firstly, it wouldn’t send users to a server that was down, and secondly, it would try to return the IP address of the server that’s the closest to the end user making the request.
The second function, though, technically correct, leaves a lot to be desired. It’s akin to using a GPS unit from 1999 to get to a petrol station: it can give you the location of one that’s close by and may be open according to its telephone book listing, but that’s about it. Maybe there is roadwork or congestion on the one route you can take to get there. Maybe the gas station is out of diesel, or perhaps, they’re open but backed up with lines stretching down the block. Perhaps a gas station that’s a bit farther away would have been a better choice?
That is what high-performing internet properties are like, and they go far beyond proximity and a binary notion of 'up/down.' Does the data center have excess capacity? What’s traffic like getting there – is there a fiber cut or congestion to a particular ISP we should route around? Are there any data privacy or protection protocols we need to take into account?
DNS That Meets Today’s Needs
For the level of application delivery needed today, a new type of DNS traffic management is needed. Next-gen DNS platforms have been built from the ground up with traffic management at their core, bringing to the market exciting capabilities and innovative new tools that allow businesses to enact traffic management in ways that were previously impossible.
Five important features to look for in a DNS platform are:
- Geofencing: Look for solutions that route users based on their ISP, ASN, IP prefix, or geographical location. Geofencing can ensure users in the EU are only serviced by EU data centers, for instance, while ASN fencing can make sure all users in China Telecom are served by Chinacache. Using IP fencing will make sure 'local-printer.company.com' automatically returns the IP of your local printer, regardless of which office an employee is visiting.
- Endpoint monitoring: Is the platform able to constantly monitor endpoints from the vantage point of the end user and then send those coming from each network to the endpoint that will service them best?
- Spike management: Look for solutions that can use scalable infrastructure to handle planned or unplanned traffic spikes. If your primary colocation environment is becoming overloaded, make sure you are able to dynamically send new traffic to another environment, according to your business rules, whether it’s AWS, the next nearest facility, or a DR/failover site.
- Enact needed rules: Does the solution use filters with weights, priorities, and even stickiness by enacting business rules to meet your applications’ needs? Distribute traffic in accordance with commits and capacity. Combine weighted load balancing with sticky sessions (e.g. session affinity) to adjust the ratio of traffic distributed among a group of servers while ensuring that returning users continue to be directed to the same endpoint.
- Load shedding: Adjusting traffic flow to network endpoints automatically, in real time, based on telemetry coming from endpoints or applications, can help prevent overloading a data center without taking it offline entirely, and seamlessly route users to the next closest data center with excess capacity.
DNS has been a faithful workhorse of the internet for decades, but it was not designed to function at the level of complexity and performance required today. Organizations need reliability and much greater performance for their high-volume, mission-critical applications. Modern DNS platforms are disrupting the status quo with the features organizations need, like those listed above, with tools to effectively route traffic.