Exploring an Immutable Architecture

What would happen if we took immutability seriously?

Immutability -- the self-imposed architectural constraint that data cannot be modified or deleted -- solves many of the technical problems of distributed systems. It prevents duplication; if you receive the same immutable message twice, you can see that you’ve already stored it. And it solves synchronization; two copies of the same immutable record are always exactly the same.

Moreover, immutability solves many business problems as well. Immutable documents capture the intent of each collaborating party. They preserve the history of that collaboration. And they enable future business processes that we cannot immediately predict.

Some architectural patterns give a nod to immutability: model-view-update, and reactive programming for example. But what if we really took it seriously? What would an immutable architecture really look like?

I’ll show you what it looks like. Whether you are building an immutable architecture for Web, mobile, or distributed systems, the modeling tools and patterns are the same. Learn how to implement immutability in a SQL database. How does it affect your use of Entity Framework? See how immutability affects an API. And extend immutability across service boundaries via messages.

Together we will build an immutable architecture in .NET, persist data in SQL Server, and synchronize apps across a service bus. The example is open source, and based on real-world systems. Those systems have benefited from immutability to solve technical and business problems. Come see how you can do the same.

Improving is providing pizza at 6:00 and the presentation will begin at 6:30.

Speaker: Michael Perry
Date: June 5th, 2024
Time: 6:00 PM - 8:30 PM (see here for more detail)
Location: Improving - Plano, TX
Google Maps

NOTE: If tickets are sold out, you can still come. Eventbrite is causing us some issues. Just email us at officers@northdallas.net so we know you're coming.

RSVP - Attend Event

Speaker Bio

Software is math. Every class is a theorem. The compiler is the proof. And unit tests check our work.

Michael wrote The Art of Immutable Architecture (now in a second edition), a book on applying mathematics to building distributed systems. Learn more at https://immutablearchitecture.com.

Michael has recorded Pluralsight courses on Distributed Systems, XAML Patterns, and Cryptography, in addition to Provable Code. Formerly a Microsoft MVP for seven years, he maintains the spoon-bending Assisticant and Jinaga open-source libraries. You can find his videos about distributed systems at historicalmodeling.com. And he helps his clients at Improving benefit from the power of software mathematics.