System Design Concepts: DNS, CDN and Redundancy

You should know these concepts already.

Cover image for the article "System Design Concepts: DNS, CDN and Redundancy"
Gustavo Gotha
5 min read

Background

Lately, I've been studying a really interesting topic and a topic that is one of the most common subjects in software engineering interviews: System Design

Firstly, I want to start talking about the concepts and in the future articles, I'll dive deeper with practical examples and real-world applications.

System design is a curious because it's always about: Scalability, Performance and Resilience. You can begin with a simple architecture that supports hundred users and with the right design choices you can scale it to over a million users. Concepts like: Message queues, Databases, Load Balancing makes that possible.

Here are some concepts very used in modern design systems that are important to get familiar

  • DNS

  • CDN

  • Redundancy

  • Load Balancer

  • SPOF (Single Point of Failure)

  • Vertical VS Horizontal Scaling

  • Database Replication

  • Cache

  • Message Queues

I know that looking at this list it's a lot, but don't worry!

I'll walk you through it one by one carefully in a simple way.

Today's article, I'll start explaining the three basic concepts that every software engineer should know: DNS, CDN and Redundancy.

DNS

The DNS is the acronym for Domain Name System.

When you access the YouTube by typing the URL: https://youtube.com.br, you're connecting to a specific computer on the internet and every specific computer has an IP (Internet Protocol) behind. This is an example of IP 172.217.30.142. What DNS does is to translate domain names (youtube.com.br) into IPs (172.217.30.142).

If you enter in your terminal and type ping youtube.com.br, you'll see the actual IP inside the parenthesis, that reflects the YouTube IP.

CDN

CDN is the acronym for Content Delivery Network.

Problem

Let's suppose you're located in Brazil, but you have to access the Netflix server that is hosted in United States. If you try to access the Netflix server, your browser would need to fetch all content from this distant server. This will cause high latency meaning the website will take too much time to load.

Solution

That's where a CDN comes in.

CDN stores copies from static files (images, videos, CSS, JavaScript) in multiple servers around of the world. Therefore, if you try to access the website the CDN will automatically delivers the content from closest server location meaning that will decrease the latency and it will not take a huge time to load anymore.

Redundancy

In Computer Science, redundancy is a key concept that helps ensure reliability, one of the main characteristics of well-architected software systems.

When designing or building a system, always remember: your app can fail. That’s why it’s essential to have a Plan B, a backup mechanism that keeps your application running even when something goes wrong. Redundancy isn’t just about system architecture; it also applies to your code.

For example, we once had a feature that stored a user token inside a browser cookie. However, some users had ad blockers that prevented us from setting cookies, which caused the feature to fail. Since this functionality was critical, we needed a more reliable approach.

Our solution was to add redundancy: every time we wrote the token to cookies, we also saved it to localStorage. Later, when retrieving the token, our code would first check the cookies, and if it wasn’t found, it would fall back to localStorage.

By doing this, we made the system more resilient and trustworthy. If one method failed, the other took over. That’s the essence of redundancy: expect your software to break, but design it to recover gracefully.

In software engineering, reliability isn’t about preventing all failures, it’s about building systems that know how to handle them.

When AWS went down and why redundancy matters

On October 20th, 2025, there was an AWS Outage in the us-east-1 region where several services from AWS were impacted. I realized the scale of this incident when I went to the gym and the WellHub (formerly GymPass) was offline and the receptionist told me to write my personal information on a paper to track how many WellHub customers were using the gym that day. Not only WellHub, but several services were impacted, such as: Fortnite, Roblox, Uber, Lyft.

Those apps rely only on AWS, making AWS the single point of failure (I'll explain more about SPOF in the next articles) of their apps.

The redundancy here would be:

  1. Multi-region: Running your infrastructure in different AWS regions. If one region fails, another region will take care.

  2. Multi-cloud: Running your infrastructure across different cloud providers (Azure, Google...). If one provider fails, the others keep your service only.

If these companies had implemented one of these approaches, the outage might have caused a fewer impact. However, multi-cloud and multi-region come with a significant cost, this explains why many companies, even the large ones, don't fully adopt them.

What's Next?

Thanks for reading this so far.

I hope you've enjoyed reading this and I hope you understood the concepts explained here. The next articles will be more advanced and we'll talk about: Load Balancer, Scaling (Vertical and Horizontal), SPOF and more.

We're just getting started! Let's go.

Compartilhar: