Architect Playbook
Architect Playbook
About the Bundle
About the Books
Understanding Eventsourcing
Planning and Implementing scalable Systems with Eventmodeling and Eventsourcing
I wanted to write the book I would have needed 5 years ago.
"By reading this book, you won’t just learn new techniques — you’ll transform the way you approach software development. You’ll gain clear, actionable steps to solve problems, communicate with unprecedented clarity, and estimate projects more accurately. In essence, you’ll be equipped to dismantle complexity and foster collaboration like never before." - Adam Dymitruk
"This is not just another technical book—it’s a roadmap to more predictable, maintainable, and successful software projects. Martin Dilger has created an invaluable resource that I believe will influence how we approach software development for years to come." - Gabriel. N. Schenker
"Focusing on a practical implementaion really worked for me. I appreciate the work you have done here." - Gary Craine
"Highly recommended reading" - Michael Plagge
"Thanks for writing the book, it will save me so much time and toil. I really like the Todo pattern to simplify the Saga. Also using an aggregate for uniqueness check is very nice." - William Power
"The book is packed with knowledge and provides concrete example implementations. It advances the entire topic and makes it easier for developers to access. I can only recommend it." - Sebastian Bortz
"The book is really great, practical, easy to read !" - Vincent Vermesh
"I just finished reading Part 1 of your book, and I’m thrilled. The book has truly captivated me—I can’t stop reading!" - Domenic Cassisi
"Got my (physical) copy as well here in the US! Thanks for all the hard work that went into this Martin. I started reading the digital version but now that I have a physical copy I look forward to reading it cover to cover and giving it the attention and focus it deserves. From what I've seen thus far I will be recommending this book as required reading for any team I work with going forward - your writing is clear, concise, and very easy to follow - it's been a joy to read and I look forward to having it as a reference that I can return to many times over as the journey continues!" - Matt Burton
"really enjoying the book! It has simplified event sourcing for me and how to put it into practice. " - T. Stuttart
"Your book is fantastic! I'm loving every page. It's now a must-read for all new hires I mentor."' - Murray McDonald
This book gives a practical introduction to eventmodeling and eventsourcing with a focus on how to implement eventsourced systems in practice.
Unlike other books covering the topic, we will really dive into the code and build a softwaresystem basically from idea to running software using state of the art development practices.
In Part I, we´ll cover the foundations of distributed systems. You will learn about CQRS, Eventsourcing and the fundamentals that took me 15 years to learn.
Part II focuses on the modelling part - I will show you how I model information systems using Eventmodeling in a practical way.
Part III really goes into the code - finally showing how an eventsourcing system is implemented.
Part IV builds a comprehensive Pattern Catalog and gives you quick guidance no how to implement typical scenarios in eventsourced systems.
10 reader testimonials
Master Software Architecture
A Pragmatic Guide
Feeling lost in the world of software architecture? This software architecture book is for you!
Years ago, I felt lost when I started in software architecture. There were so many topics and issues, and I was a novice architect in the middle. I didn't know where to start building applications, what key areas to pay attention to, or how to build systems that would be able to evolve over many years.
I have spent countless hours and days learning to recognize this area, and it has not been easy—knowledge was scattered throughout the Internet, books, and tutorials. Finally, mentors helped me get on the right track.
That's why I decided to write this software architecture book. I want to help you navigate this complex world of hard decisions, trade-offs, and techniques that will support you in this fantastic journey. I wish you didn't have to make the same mistakes as me and give up your private life by spending many hours looking for the right information. Each step describes practically the most important aspects of software architecture.
Contents:
Step 1: Understand Software Architecture: In this step, you will learn the basics of software architecture, covering key areas like business analysis, solution architecture, and infrastructure. You'll understand the role of software architects, their influence on architectural decisions, and the impact of drivers like functional requirements, technical constraints, and quality attributes while exploring how pragmatism and holism shape these decisions.
Step 2: Discover Your Business Domain: Next, we will explore the critical aspect of system design: the business domain. Through workshops on Event Storming and Domain Storytelling, you will learn to analyze processes, discover subdomains, define bounded contexts, and create a context map (strategic Domain-Driven Design).
Step 3: Recognize the Environment Around You: Step three focuses on understanding your work environment, including decision-making processes, project goals, budget limitations, and differing expectations of stakeholders and development teams. You will assess team skills with a competency matrix, plan infrastructure for various team setups, and learn to calculate crucial metrics like active users, request numbers, and SLA-defined availability, then apply this knowledge to a practical case.
Step 4: Choose Deployment Strategy: In this step, we explore the technical aspects of software architecture, focusing on single and multiple deployment unit strategies and their most popular representatives: modular monoliths and microservices. You will learn about communication methods, database design, deploying changes, scaling applications, and key patterns like outbox, inbox, and dead letter queue.
Step 5: Define Release Strategy: Step five focuses on delivering new application versions using strategies like basic, blue-green, canary, and rolling deployments and leveraging continuous delivery and deployment. You will adopt engineering practices such as swarming, pair and mob programming, feature flags, trunk-based development, and short-living branches. You will also learn how to organize post-mortem meetings to analyze past production issues and prevent future ones. I will also show you how to handle changes in the database in case of various versions of the application,
Step 6: Focus On Testing: This step covers different ways to test your software, focusing on key concepts from a software architect’s perspective. You will learn about the pyramid of tests, the inverted pyramid, the diamond, when to use each, penetration, performance, and load testing to ensure software reliability.
Step 7: Evolve Your Architecture: This step highlights that architecture evolves over time, focusing on four key steps: simplicity, maintainability, growth, and complexity. You'll learn helpful concepts like CQRS, database replicas and sharding, and tactical Domain-Driven Design to ensure your application's robustness and support informed decision-making as it evolves with the business.
Step 8: Don't Forget About Security: In the final step, you will learn about common security vulnerabilities in greenfield and legacy applications, such as IDOR, supply chain attacks, SQL injection, XSS, and DDoS. You'll also explore defense strategies, misconceptions leading to vulnerabilities, and the differences between encoding, encryption, and hashing to select the appropriate mechanism for your needs.
Extra 1: Other Engineering Practices: This section covers important engineering practices that didn't fit into the main body of the book. You'll learn about metrics, developer carousels, effective use of vertical slices in product design, and managing technical debt.
Extra 2: Architecture Exercises: To master software architecture, you need to put theory into practice. I have prepared several real-world scenario exercises to challenge you, validate your understanding, and highlight areas for further study, enhancing your learning journey.
6 reader testimonials
The Leanpub 60 Day 100% Happiness Guarantee
Within 60 days of purchase you can get a 100% refund on any Leanpub purchase, in two clicks.
Now, this is technically risky for us, since you'll have the book or course files either way. But we're so confident in our products and services, and in our authors and readers, that we're happy to offer a full money back guarantee for everything we sell.
You can only find out how good something is by trying it, and because of our 100% money back guarantee there's literally no risk to do so!
So, there's no reason not to click the Add to Cart button, is there?
See full terms...
Earn $8 on a $10 Purchase, and $16 on a $20 Purchase
We pay 80% royalties on purchases of $7.99 or more, and 80% royalties minus a 50 cent flat fee on purchases between $0.99 and $7.98. You earn $8 on a $10 sale, and $16 on a $20 sale. So, if we sell 5000 non-refunded copies of your book for $20, you'll earn $80,000.
(Yes, some authors have already earned much more than that on Leanpub.)
In fact, authors have earnedover $14 millionwriting, publishing and selling on Leanpub.
Learn more about writing on Leanpub
Free Updates. DRM Free.
If you buy a Leanpub book, you get free updates for as long as the author updates the book! Many authors use Leanpub to publish their books in-progress, while they are writing them. All readers get free updates, regardless of when they bought the book or how much they paid (including free).
Most Leanpub books are available in PDF (for computers) and EPUB (for phones, tablets and Kindle). The formats that a book includes are shown at the top right corner of this page.
Finally, Leanpub books don't have any DRM copy-protection nonsense, so you can easily read them on any supported device.
Learn more about Leanpub's ebook formats and where to read them