What is a System,
really?
Strip away the jargon. We trace one ordinary HTTP request from your laptop to a server on the other side of the planet — and back. By the end of this module, "system" stops being a buzzword and becomes a thing you can draw.
// What you'll know by the end
- What a system actually is (and isn't)
- The four atoms every system has
- Every step a request takes — in order
- Vocabulary every engineer uses daily
You type six characters.
Then magic.
Right now, billions of people are doing the same thing: typing a URL, hitting Enter, and watching a page appear. We barely think about it. But between that keystroke and that page, a small miracle happens — and it's powered by hundreds of components cooperating across thousands of miles, in milliseconds, mostly invisible.
So what actually happened? Let's find out — but first, we need a working definition of the thing we're trying to understand.
A system is just
parts that cooperate
Forget the textbook. A system is any group of parts working together toward a shared goal. Your kitchen is a system. A car is a system. A flock of birds is a system.
What makes software systems special is just three things:
- The parts are computers, programs, and the wires (or radio waves) between them.
- The shared goal is usually moving information — taking data from one place to another, transforming it along the way.
- The cooperation happens via messages: little structured packages of data that one part sends to another.
This is the core insight that makes everything else click. Every "complex" system you'll ever read about — Twitter, Netflix, Stripe, your bank — is just a lot of parts cooperating by sending each other messages. The complexity isn't in any single part. It's in how they're arranged.
Every system has
four atoms.
You can build any system in the world from these four things. Click any card to see how it shows up in real life. Get familiar with these names — you'll see them in every diagram for the rest of your career.
Client
The thing that wants something. Initiates a request. Could be a browser, a mobile app, a script, or another server acting as a client.
Server
The thing that answers. It listens for incoming requests, does some work, and sends back a response. Lives in a data center, runs 24/7.
Network
The wires, fibers, and radio waves connecting everything. Messages travel through it. It's slower and less reliable than you think.
Data Store
Where information lives between requests. Servers handle requests; data stores remember things. Without storage, your app forgets everything when restarted.
That's it. Four pieces. Every diagram you'll ever see is some arrangement of these. The art is in how many of each, and how they connect.
Now watch a real request
do all seven steps.
You typed systemdesigntutorial.com into a browser. Press Auto-play below and follow the request through every layer it touches. Each step shows you the actual data being passed.
You hit Enter. The browser parses the URL into protocol, hostname, and path. It needs to find the IP address of systemdesigntutorial.com before it can do anything.
protocol: https
host: systemdesigntutorial.com
path: /
Eight words that
unlock every diagram.
Engineers use these terms constantly — in standups, in design docs, in interviews. Get comfortable with them now and the rest of this course will feel half as hard.
HTTP. Has a method, headers, and sometimes a body.200, 404, 500), headers, and usually a body containing the actual data.HTTP is a protocol. TCP is a protocol. WebSocket is a protocol./api/users is an endpoint. So is /login.50ms feels instant; 500ms feels broken.Five questions.
No cheating.
Before moving on, lock it in. The questions below test the concepts, not memorization. Pick an answer; you'll get instant feedback either way.
Locked in.
You've got this. Time to keep climbing.
Three ideas to
carry forward.
Everything in the next 19 modules builds on these. If you remember nothing else from Module 01, remember these.
A system is parts cooperating
Not a black box. Not magic. A specific, drawable arrangement of components passing messages.
Four atoms make any system
Client, server, network, data store. Every diagram is just these in different quantities and arrangements.
A request takes seven steps
Browser → DNS → TCP → TLS → HTTP → Server → Database. And then all the way back. None of it is free.