Search icon CANCEL
Subscription
0
Cart icon
Your Cart (0 item)
Close icon
You have no products in your basket yet
Arrow left icon
Explore Products
Best Sellers
New Releases
Books
Videos
Audiobooks
Learning Hub
Free Learning
Arrow right icon
Arrow up icon
GO TO TOP
System Design Guide for Software Professionals

You're reading from   System Design Guide for Software Professionals Build scalable solutions – from fundamental concepts to cracking top tech company interviews

Arrow left icon
Product type Paperback
Published in Aug 2024
Publisher Packt
ISBN-13 9781805124993
Length 384 pages
Edition 1st Edition
Arrow right icon
Authors (2):
Arrow left icon
Dhirendra Sinha Dhirendra Sinha
Author Profile Icon Dhirendra Sinha
Dhirendra Sinha
Tejas Chopra Tejas Chopra
Author Profile Icon Tejas Chopra
Tejas Chopra
Arrow right icon
View More author details
Toc

Table of Contents (21) Chapters Close

Preface 1. Part 1: Foundations of System Design
2. Chapter 1: Basics of System Design FREE CHAPTER 3. Chapter 2: Distributed System Attributes 4. Chapter 3: Distributed Systems Theorems and Data Structures 5. Part 2: Core Components of Distributed Systems
6. Chapter 4: Distributed Systems Building Blocks: DNS, Load Balancers, and Application Gateways 7. Chapter 5: Design and Implementation of System Components –Databases and Storage 8. Chapter 6: Distributed Cache 9. Chapter 7: Pub/Sub and Distributed Queues 10. Part 3: System Design in Practice
11. Chapter 8: Design and Implementation of System Components: API, Security, and Metrics 12. Chapter 9: System Design – URL Shortener 13. Chapter 10: System Design – Proximity Service 14. Chapter 11: Designing a Service Like Twitter 15. Chapter 12: Designing a Service Like Instagram 16. Chapter 13: Designing a Service Like Google Docs 17. Chapter 14: Designing a Service Like Netflix 18. Chapter 15: Tips for Interviewees 19. Chapter 16: System Design Cheat Sheet 20. Index

What this book covers

Chapter 1, Basics of System Design, provides an introduction to the field of system design. It explains the different types of system designs and emphasizes the importance of system design in the industry. This chapter sets the foundation for the rest of the book.

Chapter 2, Distributed System Attributes, delves into the fundamental concepts that underpin modern system design. It covers crucial topics such as consistency, availability, partition tolerance, latency, durability, reliability, and fault tolerance. Understanding these principles is essential for designing robust and scalable systems.

Chapter 3, Distributed Systems Theorems and Data Structures, explores the theoretical underpinnings of distributed systems. It covers important theorems and algorithms such as the CAP theorem, PACELC theorem, Paxos and Raft algorithms, and the Byzantine Generals Problem. It also introduces key concepts such as consistent hashing, Bloom filters, and HyperLogLog, which are frequently used in large-scale system design.

Chapter 4, Distributed Systems Building Blocks: DNS, Load Balancers, and Application Gateways, focuses on the core components of networked systems. It provides an in-depth look at DNS, load balancers, and application gateways, which are crucial for building scalable and reliable distributed systems.

Chapter 5, Design and Implementation of System Components — Databases and Storage, is dedicated to the various types of databases used in modern system design. It covers relational and NoSQL databases and dives into specific technologies such as Cassandra, HBase, DynamoDB, and S3. It also includes a section on designing a key-value store and an overview of Lucene search.

Chapter 6, Distributed Cache, explores the world of distributed caching. It covers the design of distributed cache systems and provides detailed information on popular caching solutions such as Redis and Memcached.

Chapter 7, Pub/Sub and Distributed Queues, focuses on designing distributed queues and publish-subscribe systems. It provides an in-depth look at technologies such as Kafka and Kinesis, which are crucial for building real-time data processing systems.

Chapter 8, Design and Implementation of System Components: API, Security, Metrics, covers the essential aspects of designing and maintaining APIs in distributed systems. It explores REST and gRPC protocols, API security basics, and the crucial components of system observability: logging, metrics, alerting, and tracing.

Chapters 9 to 16 are dedicated to real-world system design case studies. Each of these chapters follows a consistent structure:

  • Requirements of the system
  • High-level design
  • Detailed design
  • Evaluation of the design

These case studies cover a wide range of popular systems:

  • Chapter 9: System Design – URL Shortener
  • Chapter 10: System Design – Proximity Service
  • Chapter 11: Designing a Service Like Twitter
  • Chapter 12: Designing a Service Like Instagram
  • Chapter 13: Designing a Service Like Google Docs
  • Chapter 14: Designing a Service Like Netflix
  • Chapter 15: Tips for Interviews
  • Chapter 16: System Design Cheat Sheet

Note

By working through these case studies, readers will gain practical experience in applying system design principles to real-world scenarios. These chapters will help bridge the gap between theory and practice, providing invaluable insights into how large-scale systems are designed and implemented in industry.

The book concludes with guidance on approaching system design interviews. This section covers the format of system design interviews, what interviewers are looking for, and the importance of this type of interview in the hiring process. It also provides tips on asking relevant questions, considering boundary conditions, making back-of-the-envelope calculations and estimations, and designing systems based on access patterns.

lock icon The rest of the chapter is locked
Register for a free Packt account to unlock a world of extra content!
A free Packt account unlocks extra newsletters, articles, discounted offers, and much more. Start advancing your knowledge today.
Unlock this book and the full library FREE for 7 days
Get unlimited access to 7000+ expert-authored eBooks and videos courses covering every tech area you can think of
Renews at $19.99/month. Cancel anytime
Banner background image