Containers, IPv6 and “SDN DNS” is why DNS is critical to your network architecture and day-to-day operations. At the same time, “DNS operations” doesn’t seem to be getting the attention considering how critical it is to network, servers and DevOps alike. I wonder if I am missing something.
IPv6 address are 128 bits or 32 hexadecimal characters long. Today, its easy enough to type “ping 10.10.1.199” at the console but “ping 2001:db8:85a3:0:0:8a2e:370:7334” is effectively impossible for everyday operations from the command line.
Therefore, trace route & ping to host names will become core to CLI operations that isn’t replaced by SDN or next generation management tools.
Containers are instantiated at speeds of less than half a second and terminated in less than 200 milliseconds and this drives the primary value of containers.
Use Case: Today, you run a script every 300 seconds to collect some data from the network. Instead of having an entire Linux VM allocated to this task, a dynamically instantiated container can start, run the script and terminate.
The small cost of creation and teardown of containers means that “micro services” means an enormous increase the number endpoints in a network plus complexity around speed of change and movement of applications inside the network.
DNS is like Software Defined IP Addressing
At an operational level, DNS operates like a centralised control plane for “distributed” IP addressing. Under Dynamic DNS, each host connects to a “DNS controller”
In terms of software operations, the DNS server presents a natural point for API operations to determine name-to-host lookups in a the same way that an SDN controller does for network operations in a cloud platforms.
So far, the industry seems to be content with using tools like Ansible/Puppet/Chef to configure DNS instead of defining a standard API using YANG/NetCONF that DNS software should provide.
The EtherealMind View
DNS is a critical part of network and server operations but I haven’t seen much discussion about its participation in SDN or other programmable platforms. DNS is configured using application toolchains like Ansible/Puppet that are used to configure Linux more widely and reusing standard tools make good sense. Equally, a DNS Server with an API could reduce the programming burden further.
Over the last 10 years, DNS operations has become part of the server administration process. In cloud platforms, the automation process takes greater control of DNS through software configuration. This leads me to wonder if I am missing something happening elsewhere in the industry ?