Skip to product information
System Design Classes for Developers Today
System Design Classes for Developers Today
Description
Book Introduction
System design practice learned through trendy service cases,
Master everything from practical architecture design to big tech interviews in one book!


This book covers all the fundamental elements of system design that practitioners need to know, from the basic concepts of system design to distributed system and service design.
This book covers all the essential concepts and knowledge for system architects, including load balancers, databases, storage, caching, queues, and DNS, in a practical order. Rich diagrams and illustrations are provided to help you quickly and easily acquire practical knowledge.
In particular, you will learn how to design large-scale services that are popular with users, using real-world examples such as X, Instagram, Google Docs, and Netflix, so it is easy to understand and remember.
We've also included a Big Tech interview guide and cheat sheet so you can immediately apply the core concepts you've learned in a systematic and efficient flow to your interviews.
This book covers everything from A to Z of system design, from basic concepts to corporate case studies and interview preparation. Master it all in one book!
  • You can preview some of the book's contents.
    Preview

index
Part 1: System Design Fundamentals

Chapter 1: Fundamentals of System Design
1.1 Definition of System Design
1.2 Different types of system design
1.3 The Importance of System Design in Industry
1.4 A real-world example that illustrates the importance of system design.
1.5 Summary

Chapter 2 Properties of Distributed Systems
2.1 Example of a Distributed System: A Hotel Room Reservation System
2.2 Consistency
2.3 Availability
2.4 Partition Tolerance
2.5 Latency
2.6 Durability
2.7 Reliability
2.8 Disability Tolerance
2.9 Scalability
2.10 Summary

Chapter 3: Theory and Data Structure of Distributed Systems
3.1 CAP Theorem
3.2 PACELC Summary
3.3 Byzantine Generals Problem
3.4 FLP Impossibility Theorem
3.5 Consistent Hashing
3.6 Bloom Filter
3.7 Count-Mean Sketch
3.8 Hyperloglog
3.9 Summary

Core Components of a Distributed System Part 2

Chapter 4: Fundamentals of Distributed Systems: DNS, Load Balancers, and Application Gateways
4.1 Understanding DNS
4.1.1 DNS Queries
4.2 DNS Scalability, Reliability, and Consistency
4.3 Load Balancer
4.4 Application Gateway
4.5 Microservice Architecture
4.6 Cloud Native Application Gateway Service Overview
4.7 On-Premises Options
4.8 Summary

Chapter 5 Design and Implementation of System Components: Databases and Storage
5.1 Database
5.2 Key-Value Store
5.3 Optimizing Scalability and Data Replication
5.4 Implementing get and put functions
5.5 Fault Tolerance and Fault Identification in Key-Value Stores
5.6 System Design Interview: Key-Value Store Design Questions and Strategies
5.7 DynamoDB
5.8 Column Family Database
5.9 HBase
5.10 Graph-based databases
5.11 Neo4j Graph Database
5.11.1 A Closer Look at Neo4j
5.12 Relational Modeling and Graph Modeling
5.13 Summary
5.14 References

Chapter 6 Distributed Caching
6.1 Defining Caching
6.2 Distributed Cache Design
6.3 Representative distributed cache solutions
6.4 Summary

Chapter 7: Publish/Subscribe and Distributed Queues
7.1 The evolution of distributed systems
7.2 Publish/Subscribe System Design
7.3 Kafka
7.4 Kafka Streams
7.5 Kinesis
7.6 Summary

Part 3: Getting into System Design Practice

Chapter 8: Designing and Implementing System Components: APIs, Security, and Metrics
8.1 REST API
8.2 gRPC API
8.3 Comparing REST and gRPC
8.4 API Security
8.5 Distributed System Logging
8.6 Metrics in Distributed Systems
8.7 Notifications in Distributed Systems
8.8 Tracing in Distributed Systems
8.9 Summary

Chapter 9: Designing a URL Shortening Service
9.1 Real-world Use Cases
9.2 API Design
9.3 Calculating the size of the problem
9.4 System Design
9.5 Requirements Review
9.6 Summary

Chapter 10: Proximity Service Design
10.1 Real-world Use Cases
10.2 API Design
10.3 Calculating the size of the problem
10.4 System Design
10.5 Requirements Review
10.6 Summary

Chapter 11 X Service Design
11.1 Functional Requirements
11.2 Non-functional requirements
11.3 Data Model
11.4 System Sizing
11.5 High-Level Design Exploration
11.6 Tweet Service Design
11.7 User Service Design
11.8 Timeline Service Detailed Design
11.9 Detailed design of search service
11.10 Other Considerations
11.11 Summary

Chapter 12: Instagram Service Design
12.1 Functional Requirements
12.2 Non-functional requirements
12.3 Data Model Design
12.4 System Sizing
12.5 High-Level Design
12.6 Service Detail Design
12.7 Other Considerations
12.8 Summary

Chapter 13: Google Docs Service Design
13.1 Functional Requirements
13.2 Non-functional requirements
13.3 Data Model
13.4 System Sizing
13.5 High-Level Design
13.6 Microservice Detailed Design
13.7 Other Considerations and Best Practices
13.8 Summary

Chapter 14: Netflix Service Design
14.1 Functional Requirements
14.2 Non-functional requirements
14.3 Data Model
14.4 System Sizing
14.5 High-Level Design
14.6 Service Detail Design
14.7 CDN
14.8 Summary

Chapter 15 Tips for Preparing for a Systems Design Interview
15.1 How to Prepare for a Systems Design Interview
15.2 Tips for System Design Interviews
15.3 Summary

Chapter 16 System Design Cheat Sheet
16.1 What structure should I base my answers on in a system design interview?
16.2 Which data store should I use for each use case?
16.3 Which data structure should I choose for each use case?
16.4 Which components should I use for each use case?
16.5 Which protocol should I use for each use case?
16.6 Which solution should be applied for each use case?
16.7 Summary

Detailed image
Detailed Image 1

Into the book
Apple's artificial intelligence, Siri, was first introduced to the world in 2011, making it thirteen years old this year.
Among the SisaIN news articles at the time, there was one headline that caught my eye.
“Siri, aren’t you getting too smart?” I remember many people at the time expressing their excitement at the prospect of a revolutionary era in artificial intelligence.
However, at that time, Siri was only able to perform a few functions with voice commands, so there was a view that it was not enough to be considered artificial intelligence.

How has artificial intelligence changed today? This is the title of an article published in the Korea Economic Daily in March 2025.
"The world's first 100% AI newspaper has been launched...'Human reporters only need to input questions.'" This is truly a remarkable development. The IT industry is even more so.
In May 2025, Google's new video generation AI, Veo3, was released, and its performance is simply astonishing.
If you input an image, it will automatically create a natural video that matches the image, and if you watch the demo video, the result is so natural that it is hard to believe.
It is no exaggeration to say that AI has now become deeply rooted in our lives.

Advances in AI have also brought about significant changes in the recruitment market.
Simple, repetitive tasks are being automated, and companies are looking for people who can design and operate increasingly complex systems.
Developers are required to not only write good code, but also have a structural understanding and judgment to create stable and flexible large-scale services.

In that context, this book covers essential knowledge for today's developers.
It is structured based on various design challenges that can be encountered in the field, helping you develop practical problem-solving skills beyond a simple introduction to concepts.
I hope you read this book not as a simple theoretical book, but as one that provides insight into the essence of technology.

Even in development roles, it's common to hear, "We value portfolios and collaboration skills more than coding tests."
This is because the criteria for evaluating not only skills and experience but also how efficiently someone can work have become more sophisticated.
And at the heart of it all is ‘system design capabilities.’
Because creating a good product, whether large or small, requires a deep understanding and consideration of design.

Rather than being a book that you read from beginning to end in one sitting, it is a book that gains depth the more you savor each page.
I believe that as you follow the author's writing, you will soon gain insight into complex systems.
It's okay if you don't understand everything at once.
Read it once, read it again, and come back and reread it whenever you need to.
The more you do that, the more this book will tell you.
--- From the Translator's Note

Publisher's Review
This is how successful services are made.
From basic concepts to practical architecture design and big tech interviews, all in one book!

Essential System Design Principles for Developers

This book is an introductory book to system design and aims to serve as a guide to the overall system design process.
It provides a solid theoretical foundation by covering everything from the basic theory of distributed systems to core algorithms such as the CAP theorem and Bloom filters.
It helps you learn concepts and practices simultaneously in a linear and efficient order of 'System Design Fundamentals → Distributed System Theory → Core Components → Actual Service Design → Interview Preparation Tips', while also helping to strengthen your interview answering skills and understanding.

A system that learns from real-world examples such as X, Instagram, Google Docs, and Netflix.

The strengths of this book are as follows:
First, we follow the system design steps one by one and learn how system design principles are applied in a real-world environment.
Second, you will learn everything from functional requirements to system sizing and user service design using examples of popular services that you frequently encounter in real life, such as X (Twitter), Instagram, Google Docs, and Netflix.
Third, the various pictures and diagrams, as well as the translator's analogies, make it easy for beginners to understand.
If you're a developer who wants to grow beyond being a simple code writer to a system architect, this book will help you grow to the next level, covering everything from core concepts to real-world examples.
GOODS SPECIFICS
- Date of issue: September 26, 2025
- Page count, weight, size: 472 pages | 183*235*19mm
- ISBN13: 9791140715923

You may also like

카테고리