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