000 04796nam a22004935i 4500
001 979-8-8688-0288-1
003 DE-He213
005 20251030112241.0
007 cr nn 008mamaa
008 240529s2024 xxu| s |||| 0|eng d
020 _a9798868802881
_9979-8-8688-0288-1
024 7 _a10.1007/979-8-8688-0288-1
_2doi
050 4 _aQA76.758
072 7 _aUMZ
_2bicssc
072 7 _aCOM051230
_2bisacsh
072 7 _aUMZ
_2thema
100 1 _aPerry, Michael L.
_eauthor.
_4aut
_4http://id.loc.gov/vocabulary/relators/aut
_977772
245 1 4 _aThe Art of Immutable Architecture
_h[electronic resource] :
_bTheory and Practice of Data Management in Distributed Systems /
_cby Michael L. Perry.
250 _a2nd ed. 2024.
264 1 _aBerkeley, CA :
_bApress :
_bImprint: Apress,
_c2024.
300 _aXXVI, 480 p. 203 illus.
_bonline resource.
336 _atext
_btxt
_2rdacontent
337 _acomputer
_bc
_2rdamedia
338 _aonline resource
_bcr
_2rdacarrier
347 _atext file
_bPDF
_2rda
505 0 _aPart I: Definition -- Chapter 1: Why Immutable Architecture? -- Chapter 2: Forms of Immutable Architecture -- Chapter 3: How to Read an Historical Model -- Part II: Application -- Chapter 4: Analysis -- Chapter 5: Location Independence -- Chapter 6: Immutable Runtimes -- Chapter 7: Structural Patterns -- Chapter 8: State Transitions -- Chapter 9: Security -- Part III: Implementation -- Chapter 10: SQL Databases -- Chapter 11: Communication -- Chapter 12: Feeds -- Chapter13: Inversion.
520 _aThis 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 notchange. 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 you 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 of the book, 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 .
650 0 _aSoftware engineering.
_933953
650 0 _aComputer programming.
650 1 4 _aSoftware Engineering.
_933953
650 2 4 _aProgramming Techniques.
_965517
710 2 _aSpringerLink (Online service)
773 0 _tSpringer Nature eBook
776 0 8 _iPrinted edition:
_z9798868802874
776 0 8 _iPrinted edition:
_z9798868802898
776 0 8 _iPrinted edition:
_z9798868805677
856 4 0 _uhttps://doi.org/10.1007/979-8-8688-0288-1
912 _aZDB-2-CWD
912 _aZDB-2-SXPC
999 _c60263
_d60263