Foundations of Scalable Systems: Designing Distributed Architectures 1st Edition by Ian Gorton – Ebook PDF Instant Download/Delivery: 1098106067 978-1098106065
Full download Foundations of Scalable Systems: Designing Distributed Architectures 1st Edition after payment

Product details:
ISBN 10: 1098106067
ISBN 13: 978-1098106065
Author: Ian Gorton
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
Foundations of Scalable Systems: Designing Distributed Architectures 1st Table of contents:
I. The Basics
1. Introduction to Scalable Systems
What Is Scalability?
Examples of System Scale in the Early 2000s
How Did We Get Here? A Brief History of System Growth
Scalability Basic Design Principles
Scalability and Costs
Scalability and Architecture Trade-Offs
Performance
Availability
Security
Manageability
Summary and Further Reading
2. Distributed Systems Architectures: An Introduction
Basic System Architecture
Scale Out
Scaling the Database with Caching
Distributing the Database
Multiple Processing Tiers
Increasing Responsiveness
Systems and Hardware Scalability
Summary and Further Reading
3. Distributed Systems Essentials
Communications Basics
Communications Hardware
Communications Software
Remote Method Invocation
Partial Failures
Consensus in Distributed Systems
Time in Distributed Systems
Summary and Further Reading
4. An Overview of Concurrent Systems
Why Concurrency?
Threads
Order of Thread Execution
Problems with Threads
Race Conditions
Deadlocks
Thread States
Thread Coordination
Thread Pools
Barrier Synchronization
Thread-Safe Collections
Summary and Further Reading
II. Scalable Systems
5. Application Services
Service Design
Application Programming Interface (API)
Designing Services
State Management
Applications Servers
Horizontal Scaling
Load Balancing
Load Distribution Policies
Health Monitoring
Elasticity
Session Affinity
Summary and Further Reading
6. Distributed Caching
Application Caching
Web Caching
Cache-Control
Expires and Last-Modified
Etag
Summary and Further Reading
7. Asynchronous Messaging
Introduction to Messaging
Messaging Primitives
Message Persistence
Publish–Subscribe
Message Replication
Example: RabbitMQ
Messages, Exchanges, and Queues
Distribution and Concurrency
Data Safety and Performance Trade-offs
Availability and Performance Trade-Offs
Messaging Patterns
Competing Consumers
Exactly-Once Processing
Poison Messages
Summary and Further Reading
8. Serverless Processing Systems
The Attractions of Serverless
Google App Engine
The Basics
GAE Standard Environment
Autoscaling
AWS Lambda
Lambda Function Life Cycle
Execution Considerations
Scalability
Case Study: Balancing Throughput and Costs
Choosing Parameter Values
GAE Autoscaling Parameter Study Design
Results
Summary and Further Reading
9. Microservices
The Movement to Microservices
Monolithic Applications
Breaking Up the Monolith
Deploying Microservices
Principles of Microservices
Resilience in Microservices
Cascading Failures
Bulkhead Pattern
Summary and Further Reading
III. Scalable Distributed Databases
10. Scalable Database Fundamentals
Distributed Databases
Scaling Relational Databases
Scaling Up
Scaling Out: Read Replicas
Scale Out: Partitioning Data
Example: Oracle RAC
The Movement to NoSQL
NoSQL Data Models
Query Languages
Data Distribution
The CAP Theorem
Summary and Further Reading
11. Eventual Consistency
What Is Eventual Consistency?
Inconsistency Window
Read Your Own Writes
Tunable Consistency
Quorum Reads and Writes
Replica Repair
Active Repair
Passive Repair
Handling Conflicts
Last Writer Wins
Version Vectors
Summary and Further Reading
12. Strong Consistency
Introduction to Strong Consistency
Consistency Models
Distributed Transactions
Two-Phase Commit
2PC Failure Modes
Distributed Consensus Algorithms
Raft
Leader Election
Strong Consistency in Practice
VoltDB
Google Cloud Spanner
Summary and Further Reading
13. Distributed Database Implementations
Redis
Data Model and API
Distribution and Replication
Strengths and Weaknesses
MongoDB
Data Model and API
Distribution and Replication
Strengths and Weaknesses
Amazon DynamoDB
Data Model and API
Distribution and Replication
Strengths and Weaknesses
Summary and Further Reading
IV. Event and Stream Processing
14. Scalable Event-Driven Processing
Event-Driven Architectures
Apache Kafka
Topics
Producers and Consumers
Scalability
Availability
Summary and Further Reading
15. Stream Processing Systems
Introduction to Stream Processing
Stream Processing Platforms
Case Study: Apache Flink
DataStream API
Scalability
Data Safety
Conclusions and Further Reading
16. Final Tips for Success
Automation
Observability
Deployment Platforms
Data Lakes
Further Reading and Conclusions
People also search for Foundations of Scalable Systems: Designing Distributed Architectures 1st :
foundations of scalable systems pdf github
foundations of scalable systems epub
foundations of scalable systems goodreads
foundations of scalable systems reddit
foundations of scalable systems ian gorton pdf
Tags:
Ian Gorton,Scalable Systems,Designing Distributed