Summary
This is the keystone lesson. Up to this point Kay has built the foundation: bits, storage, tasks. Now he assembles them into the seven building blocks that every software system is made of. Two are task blocks (Service and Worker), four are storage blocks (Key-Value Store, File Store, Queue, Relational Database), and a seventh adds AI-era capabilities (Vector Database). That is the entire vocabulary.
The lesson does not stop at naming them. For each block you get its strengths, weaknesses, and the tradeoffs that make engineers pick one over another in practice. You will also meet the three external entities that act on every system from outside its boundary: the User who is waiting, the External Service that your system depends on, and Time (the clock, cron jobs, scheduled work). These three are not blocks — they are the forces that decide which blocks you need.
By the end of this lesson you have the full framework. The remaining lessons show you how to use it. From this point on, every real-world application you will analyze — Instagram, Netflix, Uber, Stripe — is composed of nothing but these seven blocks responding to those three forces.
Key takeaways
- Seven blocks total: Service, Worker, Key-Value Store, File Store, Queue, Relational Database, Vector Database.
- Three external entities act on every system: User, External Service, Time. They drive which blocks you need.
- Every block has a tradeoff profile (fast vs durable, simple vs scalable, etc.). Knowing the profiles is how you pick.
- The framework is technology-agnostic by design. Postgres or MySQL, Redis or Memcached, S3 or GCS — the block stays the same.
- After this lesson you have the full vocabulary. The rest of the course is application, not introduction.
Seven blocks. Three forces. That is the whole vocabulary you need to design any system you will encounter in your career.