Common section

  • Home
  • Common section
  • Foundations of Scalable Systems: Designing Distributed Architectures

Foundations of Scalable Systems: Designing Distributed Architectures

Foundations of Scalable Systems: Designing Distributed Architectures

In many systems, scalability becomes the primary driver as the user base grows. Attractive features and high utility breed success, which brings more requests to handle and more data to manage. But organizations reach a tipping point when design decisions that made sense under light loads suddenly become technical debt. This practical book covers design approaches and technologies that make it possible to scale an application quickly and cost-effectively.

Author Ian Gorton takes software architects and developers through the foundational principles of distributed systems. You'll explore the essential ingredients of scalable solutions, including replication, state management, load balancing, and caching. Specific chapters focus on the implications of scalability for databases, microservices, and event-based streaming systems.

You will focus on:

  • Foundations of scalable systems: Learn basic design principles of scalability, its costs, and architectural tradeoffs.
  • Designing scalable services: Dive into service design, caching, asynchronous messaging, serverless processing, and microservices.
  • Designing scalable data systems: Learn data system fundamentals, NoSQL databases, and eventual consistency versus strong consistency.
  • Designing scalable streaming systems: Explore stream processing systems and scalable event-driven processing.

Part I. The Basics

Chapter 1. Introduction to Scalable Systems

Chapter 2. Distributed Systems Architectures: An Introduction

Chapter 3. Distributed Systems Essentials

Chapter 4. An Overview of Concurrent Systems

Part II. Scalable Systems

Chapter 5. Application Services

Chapter 6. Distributed Caching

Chapter 7. Asynchronous Messaging

Chapter 8. Serverless Processing Systems

Chapter 9. Microservices

Part III. Scalable Distributed Databases

Chapter 10. Scalable Database Fundamentals

Chapter 11. Eventual Consistency

Chapter 12. Strong Consistency

Chapter 13. Distributed Database Implementations

Part IV. Event and Stream Processing

Chapter 14. Scalable Event-Driven Processing

Chapter 15. Stream Processing Systems

Chapter 16. Final Tips for Success

If you find an error or have any questions, please email us at Thank you!