Skip to main content

Command Palette

Search for a command to run...

The Internet Didn’t Need Servers… Until It Did

Why backend engineering exists, explained from first principles

Updated
4 min read
The Internet Didn’t Need Servers… Until It Did
S

I'm a passionate backend dev

Let me start with a very honest question. If computers can already talk to each other,
why do we need servers at all?

Why can’t my laptop just talk directly to your laptop?
Why do we need backend engineers, data centers, APIs, and all this complexity?

This question looks simple, but the answer quietly explains the entire backend world.

So let’s walk through it slowly.

The Naive Idea: “Why Not Just Connect Computers Directly?”

Imagine this:

You want to send a message to your friend.

At first, this feels obvious.

Your computer has internet. Your friends computer also has internet. So… let them talk directly.
Your computer connects directly to their computer. Done. Easy.

That sounds reasonable. In fact, this is called peer-to-peer communication, and it does exist.

So why didn’t the internet just stay like this?

Let’s stress test the idea.

What Happens When the Other Computer Is Off?

You send a message to your friend. But their laptop is shut down. Now what?
Nothing happens. The message goes nowhere.
That’s fine for chatting with friends.
But think about things like:

  • Your bank account

  • Your email

  • Your social media posts

Do you want your bank to stop working because someone turned off a laptop?
Probably not.

Some things on the internet must be available all the time, not “when someone is online”.
This is the first crack in the peer-to-peer idea.

Okay, But Who Stores the Data?

Let’s say your friend’s computer is always on. Now it stores:

  • Your messages

  • Your photos

  • Maybe even your money balance

Now ask yourself:

  • Who owns this data?

  • Who protects it?

  • Who backs it up if the hard drive fails?

When data is shared by many people, someone has to take responsibility. That responsibility cannot live on random personal computers.

One-to-One Works… Until It Doesn’t Scale

Let’s push this further. Imagine:

  • 1 million users

  • All trying to connect to each other

Every computer would need to:

  • Know everyone else’s address

  • Handle many incoming connections

  • Stay online 24/7

That’s not realistic. Humans already solved this problem in the real world.

Think About the Post Office

Could you deliver letters directly to everyone’s house?

Technically, yes.
Practically, no.

So we built post offices.

Why?

  • They stay open

  • They know where everyone lives

  • They handle many messages

  • They follow rules

A server is basically the internet’s post office.

So What Is a Server, Really?

Forget formal definitions.

A server is just a computer that:

  • Waits

  • Listens

  • Responds

That’s it.

It doesn’t chase users.
It doesn’t guess.
It just waits patiently for requests and replies when asked.

Think of it like a restaurant:

  • Customers come and go

  • The restaurant stays open

  • The menu doesn’t disappear when one customer leaves

Clients and Servers: Two Different Roles

This part is important.

A client and a server are not special machines. They are roles.

Client

  • Starts the conversation

  • Asks for something

  • Can disappear anytime

Server

  • Waits for requests

  • Responds in a predictable way

  • Is expected to be reliable

If I draw this on a whiteboard, it looks like this:

This simple separation is what keeps the internet sane.

Why “Always On” Changes Everything

Because servers are always running:

  • You can access them anytime

  • Millions of people can use them

  • Data can live in one trusted place

This creates something powerful: a shared reality.

Your balance, your posts, your messages
They don’t depend on one person being online.

This Is Why Backend Engineering Exists

Once servers exist, new problems appear:

  • Many users at the same time

  • Shared data

  • Security

  • Failures

  • Performance

Backend engineering is about one thing:

Making servers behave correctly under real-world pressure.

Frameworks, APIs, databases, caching - All of them exist because servers exist.

Imagine a World Without Servers

Just for a second.

  • Instagram works only if someone’s laptop is on

  • Your bank shuts down at night

  • Messages disappear when a computer restarts

That’s not the internet we expect.

Servers give us: Reliability, Continuity, Trust.

What’s Next?

Okay, servers exist. They wait and listen.

But how do computers actually talk to them?
How does data move across a network at all?

That’s where networking begins.

➡️ Next article:
How Data Moves Across a Network (Before TCP, Before HTTP)

Thinking in Backend

Part 1 of 21

In this series we will look into backend systems from ground zero.

Up next

How Data Moves Across a Network

Before TCP. Before HTTP. Before the Internet Got Fancy.