Book description
Through real-world examples and case studies, this book provides a comprehensive exploration of the most intricate system design concepts, strategies, and best practices. Author Rohit Bhardwaj covers the entire spectrum of system design from the bedrock of good design principles to the complexities of scalability, availability, fault tolerance, data storage and retrieval, messaging and communication, and security.
With this book, software engineers and software architects will gain the power to make calculated trade-offs in design decisions with precision, enabling them to articulate their choices with confidence. Whether you're a seasoned software veteran or just starting your career, this essential book is your go-to guide for elevating your skills to new heights. You'll gain access to a wealth of additional resources and strategies to fuel your ongoing growth and learning.
This book will help you:
- Gain in-depth knowledge and comprehension of system design concepts and principles
- Develop an expertise in scalability, fault tolerance, data management, messaging and communication, and security
- Make effective trade-offs in design decisions and communicate them clearly to stakeholders
- Identify potential design pitfalls and evaluate scalability
- Develop efficient and fault-tolerant systems
- Tackle the most intricate and complex system design problems
- Excel in your next system design interview, equipped with unparalleled insights
Publisher resources
Table of contents
-
1. System Design Methodology
- System Design Framework
-
System Design Process
- Stage 1: Engage with Business Stakeholders
- Stage 2: Identifying Vital Business Capabilities
- Stage 3: Understand the Internal and External Personas
- Stage 4: Develop a New Value Proposition
- Stage 5: Define Solution Architecture
- Stage 6: Define Component Process Flows
- Stage 7: Review, Refine, and Finalize
- Summary
-
2. Designing for Scale and Performance
- Understanding Scalability: Scale From Zero to Millions Of Users
- Load balancing and distributed systems
- Caching
- Content Delivery Network (CDN)
- Message Queue
- Database sharding and replication
-
Performance monitoring and optimization
- E-Commerce Site Example
- How Performance Monitoring and Optimization Help
- Considerations for Performance Monitoring and Optimization
- Design Patterns for Performance Monitoring and Optimization
- Anti-Patterns for Performance Monitoring and Optimization
- Common Design Trade-offs for Performance Monitoring and Optimization
- Summary
Product information
- Title: Learning System Design
- Author(s):
- Release date: August 2025
- Publisher(s): O'Reilly Media, Inc.
- ISBN: 9781098157883
You might also like
book
Designing Event-Driven Systems
Many forces affect software today: larger datasets, geographical disparities, complex company structures, and the growing need …
book
Learning Domain-Driven Design
Building software is harder than ever. As a developer, you not only have to chase ever-changing …
book
Designing Data-Intensive Applications, 2nd Edition
Data is at the center of many challenges in system design today. Difficult issues such as …
book
Designing Data-Intensive Applications
Data is at the center of many challenges in system design today. Difficult issues need to …