Conceptly
← All Concepts
πŸ“–

DNS

AddressingA distributed system that translates domain names to IP addresses

DNS (Domain Name System) is a distributed hierarchical database that translates human-readable domain names (example.com) into computer-usable IP addresses (93.184.216.34). Thousands of name servers worldwide cooperate to provide fast and reliable name resolution.

β–ΆArchitecture Diagram

πŸ”„ Process

Dashed line animations indicate the flow direction of data or requests

Why do you need it?

People remember names, not numeric addresses. But the deeper problem is that infrastructure changes constantly: servers move, load balancers are replaced, regions fail over, and IP addresses change far more easily than user-facing names should. If names were tied directly to raw addresses, every infrastructure change would force clients and users to relearn how to reach a service. A single central file mapping every hostname to every address also collapses once the network grows beyond a tiny scale. DNS exists to separate the stable thing humans use from the unstable thing infrastructure uses under the hood.

Why did this approach emerge?

The early internet used centralized host lists such as `HOSTS.TXT` to map names to addresses. That worked when the network was small, but once scale and distribution increased, updating and redistributing a single file became a serious bottleneck. DNS was designed to solve that scaling problem through delegated authority and hierarchical distribution. Its success came not from making naming prettier, but from making naming administratively and operationally survivable at internet scale. That is why DNS remains so deeply embedded in cloud operations, service discovery, mail routing, and traffic management today. It is the layer that allows infrastructure to change without forcing users to change with it.

How does it work inside?

When an application needs to resolve a name, it usually asks a recursive resolver rather than walking the hierarchy itself. That resolver follows the chain as needed, consulting root servers, top-level domain servers, and then the authoritative servers responsible for the final answer. The result is cached for a TTL so repeated lookups do not have to repeat the full process every time. Authoritative servers act as the source of truth for a domain, while caches trade perfect immediacy for speed and scale. This design lets operators keep the same public name while changing the IPs, load balancers, or edge endpoints behind it, which is one reason DNS is so fundamental to modern infrastructure operations.

What is it often confused with?

DNS and CDN both sit in the request path, but they solve different layers of the problem. DNS answers the question 'where should this name point right now?' CDN answers the question 'from which nearby edge should this content be served most efficiently?' DNS is therefore a name-resolution system, while CDN is a content-delivery system. Without DNS, clients do not know where to begin; without CDN, they may still reach the right service but with more latency and more origin load. Keeping those roles distinct helps avoid treating name resolution and content acceleration as if they were the same kind of tool.

When should you use it?

DNS is essential wherever you want stable names in front of changing infrastructure: websites, email delivery, internal service naming, load balancer cutovers, and CDN routing. Operationally, the critical skill is not just knowing record types but understanding propagation and caching behavior. If you are planning a failover or migration, TTL choices determine how quickly clients stop trusting old answers. If TTLs are too short, you lose cache efficiency and increase query load; if they are too long, infrastructure changes take longer to become visible to users. Good DNS operations therefore mean using naming as a layer of indirection that absorbs infrastructure change cleanly.

Website access -- browsers translate domains to IPs to connect to serversEmail delivery -- MX records locate mail serversService discovery -- locating services in microservice environmentsCDN routing -- directing users to the nearest edge server based on location