We all know and appreciate DNS as the domain name system that maps names like Networkworld.com to the IP address that a browser actually connects to in order to get content from a website. DNS is obviously a foundational piece of the internet. However, the technology is a bit stale and needs a refresh to keep up with the times.
Legacy DNS is a simple protocol. It is essentially a phonebook that maps a domain name to an IP address. Most commercial DNS products or services in the market today are based on an open-source software product called BIND put out by the Internet Software Consortium. The name BIND stands for “Berkeley Internet Name Daemon” because the software originated in the early 1980s at the University of California at Berkeley. Not much about the DNS protocol has changed since then.
While DNS is essential for helping to route traffic to the right places, it hasn’t kept up with the needs of modern enterprise application architectures and application delivery. Enterprises today want to take advantage of application architectures utilizing hybrid cloud and private cloud, and they want to use virtualization, containerization, and automation in a DevOps environment. Large global enterprises want to use edge technologies to deliver applications from the locations closest to users and customers. These changes from legacy application architectures prompt a need for a new kind of DNS software to direct traffic directly where it is needed in these dynamic and distributed environments.
This is what NS1 has announced with its new Private DNS solution. Private DNS is based on software that NS1 built from the ground up to enable integration of DNS with modern application architectures. It is available in a self-hosted manner for large enterprises to operate inside their environment. It has multiple use cases and solves problems that create friction in modern enterprise applications.
Modern application architectures need a new type of DNS
One typical use case is driven by the increasing need for automation and dynamicism inside the enterprise and corporate environment. Companies today are building data center infrastructure for their own purposes that looks much like what you would find inside Amazon Web Services (AWS) or Microsoft Azure. They want to be able to create virtual infrastructure and spin up or down new versions of internal applications on the fly as workloads are changing or as new code is pushed out. All this dynamicism is driving a need for high-velocity service discovery.
These days, applications are constructed using a variety of microservices that are spinning up and down, moving around, and expanding and contracting as workloads change or code changes. Suppose service A also needs to talk to services B, C, and D perhaps to do a database lookup or do some backend computation. A fundamental problem in such a dynamic environment is to recognize where service B, C, or D is at the moment with respect to service A. In other words, which virtual server is it on, or at what IP address can it be reached? This is a service discovery problem that could happen hundreds or thousands of times a day in a large enterprise with many modern applications.
DNS is the basic service discovery mechanism that has been trusted on internet or network infrastructure ever since the 1980s, so it’s a natural tool to solve discovery in applications, as well. However, historically these problems have been solved with human intervention. The legacy DNS appliance approach involves having a human configure it and update DNS records and domain names every time some piece of infrastructure changes. Companies have automated every other piece of their application stack and are able to move everything else at pretty high velocity, but this DNS piece is creating drag or technical debt that needs to be resolved.
Rather than simply use the decades-old BIND software, NS1 wrote its own software to automate rapid changes. NS1 customers can leverage modern DevOps tools to automate their services and where they live, support infrastructure auto scaling, and tie that into the Private DNS as a service discovery mechanism so the services can talk to each other.
Private DNS is a big piece of the DevOps puzzle. After all, it’s hard to be fully DevOps-enabled if there still has to be a human in the loop whose job it is to point traffic to the newly deployed code every time there is a deployment.
Additional uses for Private DNS
Another trend that Private DNS helps with is edge computing, both for internet-facing applications, as well as enterprise applications for internal use. Companies are deploying infrastructure close to end users and doing processing at the edge. One challenge is traffic management, and how to direct users and workloads to those applications at the edge. Private DNS can help make the traffic routing decisions inside the applications themselves.
Private DNS is also useful in the adoption of IPv6 for an enterprise’s internal infrastructure, especially in the financial services ecosystem, retail, e-commerce, and social media services. Companies with a very large network infrastructure that is highly dynamic have long run out of private IPv4 space. They have had to shift to IPv6 natively just to go around within the private infrastructure, and Private DNS fully supports a wholesale shift to IPv6.