Foundations of Scalable Systems: Designing Distributed Architectures

This document was uploaded by one of our users. The uploader already confirmed that they had the permission to publish it. If you are author/publisher or own the copyright of this documents, please report to us by using this DMCA report form.

Simply click on the Download Book button.

Yes, Book downloads on Ebookily are 100% Free.

Sometimes the book is free on Amazon As well, so go ahead and hit "Search on Amazon"

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 principles of foundational 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

Author(s): Ian Gorton
Edition: 1
Publisher: O'Reilly Media
Year: 2022

Language: English
Pages: 275
Tags: Scalable Systems; Distributed Systems Architectures; Concurrent Systems; Distributed Caching; Microservices; Scalable Database; Distributed Database

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
Chapter 5. Application Services
Chapter 6. Distributed Caching
Chapter 7. Asynchronous Messaging
Chapter 8. Serverless Processing Systems
Chapter 9. Microservices
Chapter 10. Scalable Database Fundamentals
Chapter 11. Eventual Consistency
Chapter 12. Strong Consistency
Chapter 13. Distributed Database Implementations
Chapter 14. Scalable Event-Driven Processing
Chapter 15. Stream Processing Systems
Chapter 16. Final Tips for Success