9781484259542

The Art of Immutable Architecture

Format: Paperback

ISBN13: 9781484259542

Paperback|9781484259542


Overview

This book teaches you how to evaluate a distributed system from the perspective of immutable objects. You will understand the problems in existing designs, know how to make small modifications to correct those problems, and learn to apply the principles of immutable architecture to your tools.

Most software components focus on the state of objects. They store the current state of a row in a relational database. They track changes to state over time, making several basic assumptions: there is a single latest version of each object, the state of an object changes sequentially, and a system of record exists.

This is a challenge when it comes to building distributed systems. Whether dealing with autonomous microservices or disconnected mobile apps, many of the problems we try to solve come down to synchronizing an ever-changing state between isolated components. Distributed systems would be a lot easier to build if objects could not change.

After reading The Art of Immutable Architecture, you will come away with an understanding of the benefits of using immutable objects in your own distributed systems. You will learn a set of rules for identifying and exchanging immutable objects, and see a collection of useful theorems that emerges and ensures that the distributed systems we build are eventually consistent. Using patterns, you will find where the truth converges, see how changes are associative, rather than sequential, and come to feel comfortable understanding that there is no longer a single source of truth. Practical hands-on examples reinforce how to build software using the described patterns, techniques, and tools. By the end, you will possess the language and resources needed to analyze and construct distributed systems with confidence.

The assumptions of the past were sufficient for building single-user, single-computer systems. But as we expand to multiple devices, shared experiences, and cloud computing, they work against us. It is time for a new set of assumptions. Start with immutable objects, and build better distributed systems.


What You Will Learn
  • Evaluate a distributed system from the perspective of immutable objects 
  • Recognize the problems in existing designs, and make small modifications to correct them
  • Start a new system from scratch, applying patterns
  • Apply the principles of immutable architecture to your tools, including SQL databases, message queues, and the network protocols that you already use 
  • Discover new tools that natively apply these principles 

Who This Book Is For

Software architects and senior developers. It contains examples in SQL and languages such as JavaScript and C#. Past experience with distributed computing, data modeling, or business analysis is helpful.


ISBN-13

9781484259542

ISBN-10

1484259548

Weight

1.70 Pounds

Dimensions

7.01 x 1.00 x 10.00 In

List Price

$59.99

Edition

1st Edition

Format

Paperback

Language

English

Pages

418 pages

Publisher

Apress

Published On

2020-07-15



View All Offers

Sort by:

Rows per page:

1–5 of 5

Condition
Seller
Seller Comments
Price
Used, Good
Seller details
HPB-Red
★★★★★

Dallas, TX, USA

Connecting readers with great books since 1972! Used textbooks may not include companion materials s...
$11.04

 Free delivery by: 28 Mar 2026

Used, Good
Seller details
HPB-Red
★★★★★

Dallas, TX, USA

Connecting readers with great books since 1972! Used textbooks may not include companion materials s...
$11.04

 Free delivery by: 28 Mar 2026

Used, Good
Seller details
BooksRun
★★★★☆

Philadelphia, PA, USA

It's a preowned item in good condition and includes all the pages. It may have some general signs ...
$11.43

 Free delivery by: 28 Mar 2026

Used, Good
Seller details
Bonita
★★★★☆

Santa Clarita, CA, USA

Access codes and supplements are not guaranteed with used items. May be an ex-library book.
$60.50

 Free delivery by: 28 Mar 2026


Bookstores.com relies on cookies to improve your experience.