Share

cover art for The CQRS and Event Sourcing Long Position

Add Dot

The CQRS and Event Sourcing Long Position

Season 3, Ep. 2

Vaughn and Greg discuss a lot of topics!


  • CQRS
  • Event Sourcing
  • The CQRS and Event Sourcing book Greg was completing at the time of this interview
  • EventStore and specific unique features
  • EventStore Clustering complexity PAXOS (defined by Leslie Lamport in 1998)
  • Data Mesh
  • "The Old New Thing"
  • UDP multicast for trading messaging
  • His upcoming next book
  • His current work challenges


Gregory Young coined the term “CQRS” (Command Query Responsibility Segregation) and it was instantly picked up by the community who have elaborated upon it ever since. He is the founder and creator of Event Store. He has 15+ years of varied experience in computer science from embedded operating systems to business systems and he brings a pragmatic and often times unusual viewpoint to discussions. 




More episodes

View all episodes

  • 5. Choosing the Right Architectural Styles and Patterns

    53:40||Season 4, Ep. 5
    SummaryIn this conversation, Vaughn Vernon and Udi Dahan discuss various topics related to software architecture, including service-oriented architecture (SOA), event-driven architecture, and sagas. They emphasize the importance of using the right architectural styles and patterns in the right places, rather than over-applying or misapplying them. They also discuss the role of patterns in software development and the need for a common language to facilitate communication among developers. Additionally, they explore the strengths and weaknesses of event-driven architecture and the misconceptions around API-first design. Finally, they delve into the concept of sagas as a way to handle complex business processes and policies.TakeawaysUse the right architectural styles and patterns in the right placesPatterns are important for facilitating communication among developersEvent-driven architecture should not be over-applied or misappliedAPI-first design should consider the actual business processes and not just CRUD operationsSagas can be a useful technique for handling complex business processes and policiesChapters00:00 Introduction and Background04:21 Understanding Service-Oriented Architecture (SOA)09:36 The Role of Patterns in Software Development18:17 Exploring Event-Driven Architecture35:07 The Concept of SagasUdi Dahan is one of the world’s foremost experts on Service-Oriented Architecture and Domain-Driven Design and also the creator of NServiceBus, the most popular service bus for .NET.
  • 4. Innovating at Scale: Lessons from McDonald’s Tech Evolution

    49:10||Season 4, Ep. 4
    Hemi Trickey, Head of Global Enterprise Architecture at McDonald’s, shares her insights on software architecture and digital transformation. She discusses her background in telecom and digital marketing, as well as her experience with software as a service (SaaS) before it became popular. Hemi emphasizes the importance of architecture patterns, observability, and manageability in large-scale distributed systems. She also highlights the challenges of keeping up with innovation and making decisions on adopting new technologies. Hemi advises on the need for clear communication, context understanding, and change management in modernization and transformation efforts.TakeawaysArchitecture patterns and observability are crucial in large-scale distributed systems.Keeping up with innovation requires evaluating new technologies and understanding their potential value.Clear communication and context understanding are essential in modernization and transformation efforts.Change management is a critical aspect of software modernization and transformation.Hemi TrickeyHemi has been architecting and delivering highly critical and complex software and technology solutions for almost 3 decades. She is currently head of the global enterprise architecture team at McDonald’s. Prior to McDonald's, Hemi had successful careers at Publicis Sapient as well as Alcatel-Lucent. At Publicis Sapient, she worked with clients across retail, entertainment, insurance, and financial industries. During her tenure at Alcatel Lucent, Hemi designed and developed an in-house SaaS platform from the ground up, long before SaaS became a well-known concept in the industry.Hemi holds both B.S. and M.S. degrees in Computer Science. She has published or given talks on diverse topics including microservices, mobile application experience, fine-grained access control, predictive analytics and data warehousing.
  • 3. Revolutionizing Healthcare: Discovering How Domain-Driven Design Leads to Improved Patient Outcomes

    01:36:30||Season 4, Ep. 3
    Mark Wardle, Chief Clinical Information Officer, and Vaughn Vernon discuss the intersection of healthcare and technology. Mark emphasizes the need for technology to improve patient care and the challenges of integrating digital systems in healthcare.Mark also highlights the importance of Domain-Driven Design in healthcare, as it allows for a more patient-centered approach and better communication between clinicians and patients. He discusses the limitations of current electronic health records and the need for tools that support continuity of care. Mark believes that technology should be used to enhance the human connection in healthcare and improve patient outcomes.Mark discusses the application of Domain-Driven Design (DDD) in healthcare and its potential to address the complexity and challenges in the industry. He emphasizes the need to break down healthcare systems into modular components and build them based on a shared understanding of the domain. Wardle highlights the importance of technical standards, interoperability, and the use of common models to decouple systems and improve integration. He also discusses the role of open source in healthcare and the potential for disruptive innovation. Wardle envisions a future where technology enables faster iteration, better orchestration of clinical pathways, and improved decision-making in healthcare.TakeawaysTechnology has the potential to greatly improve patient care in healthcare.DDD is crucial in healthcare to create a patient-centered approach and improve communication between clinicians and patients.Current electronic health records are often not user-friendly and do not support continuity of care.Technology should be used to enhance the human connection in healthcare and improve patient outcomes. Domain-Driven Design can help address the complexity and challenges in healthcare by breaking down systems into modular components and building them based on a shared understanding of the domain.Technical standards and interoperability are crucial for decoupling systems and improving integration in healthcare.Open source has the potential to disrupt the healthcare industry by providing foundational building blocks and higher-value tools.Improving orchestration of clinical pathways and decision-making in healthcare can be achieved through the use of technology and data-driven approaches.Faster iteration, better integration, and improved decision-making can lead to a learning health and care system that continuously improves patient outcomes.Mark WardleMark is a Consultant Neurologist and Chief Clinical Information Officer in the UK. He is also a keen software developer, building a range of clinician and patient-facing applications, most recently preferring to work in Clojure and ClojureScript. He thinks digital technologies should play a fundamental role in improving and transforming health and care with Domain-Driven Design playing a key role in unbundling the electronic patient record, and turning what we think of as health applications inside-out.
  • 2. Decentralizing Data: Navigating the Shift to Data Mesh

    01:15:27||Season 4, Ep. 2
    SummaryIn this podcast episode, Vaughn and Mark Planagumà discuss various aspects of data strategies and the implementation of Data Mesh. Mark shares his background in data engineering and his experience in building data platforms for different companies. They explore the use of Domain-Driven Design in data strategies and the role of contracts in data architecture. Mark explains the concept of Data Mesh and how it shifts the focus from centralized data warehouses to domain-driven, decentralized data products. They also discuss the implementation of data governance and automation, the influence of operational software architectures on data strategies, and the design of a semantic layer in a Data Mesh. The conversation explores the maturity in operational and analytical architecture, the influence of Domain-Driven Design on Data Mesh, the tooling required for Data Mesh, the future of analytics, challenges with AI and metadata, and where to learn more about Data Mesh.TakeawaysDomain-Driven Design can be applied to data strategies to organize data by domains and enable domain owners to take responsibility for their data.Data Mesh is a paradigm shift that emphasizes decentralized, domain-driven data products instead of centralized data warehouses.Contracts play a crucial role in data architecture by defining the metadata and governance rules for data products.Implementing data governance and automation can help ensure the discoverability, accessibility, and reusability of data in a data mesh.Organizational structure needs to align with the principles of Data Mesh, with domain-driven teams owning and managing their data.A semantic layer in a Data Mesh helps organize and aggregate data products by domains, making it easier to discover and consume data.Operational software architectures can influence data strategies by providing the infrastructure and tooling for data products in a Data Mesh. Data is typically behind operational and application maturity, but Data Mesh is emerging to bridge the gap.Domain-Driven Design plays a significant role in shaping Data Mesh and enabling interoperability between operational and analytical systems.Existing tools like lake houses and data warehousing can be leveraged to support Data Mesh, focusing on creating interoperable data products.The future of analytics lies in improving data quality, metadata management, and leveraging AI to interact with data in a more natural and business-focused way.ChaptersPlease note these are approximate locations! We are trying new tools and hope you find this helpful.00:00 Introduction and Background05:32 Using Domain-Driven Design with Data Strategies09:20 Understanding Data Mesh11:18 The Role of Contracts in Data Architecture28:21 Influencing Organizational Structure for Data Mesh34:00 Semantic Layer Design in Data Mesh37:36 Impact of Operational Software Architectures on Data Strategies37:52 Maturity in Operational and Analytical Architecture42:30 Domain-Driven Design and Data Mesh47:08 Tooling for Data Mesh53:29 The Future of Analytics01:01:08 Challenges with AI and Metadata01:09:36 Learning More about Data MeshMarc Planagumà, is a native of Olot (Catalonia) with degrees in Telecommunications from UPC. He is a prominent figure in data engineering and governance. He serves as the Data Platform & Governance Director at Adevinta Spain, where he has spearheaded the development and implementation of Lakehouse architecture and Data Mesh paradigm, focusing on scalability, autonomy, and effective governance by design.
  • 1. Journey to Explore DDD: Denver, Americas, and Beyond

    45:05||Season 4, Ep. 1
    In this episode of the Add Dot podcast, Vaughn Vernon and Paul Rayner discuss the evolution of the Domain-Driven Design (DDD) community in North America. The conversation highlights the importance of fostering connections and providing valuable learning experiences.Throughout the conversation, Vaughn and Paul share insights into the complexities of modernization efforts, particularly in large organizations with legacy systems. They stress the importance of strategic thinking, focusing on core domains, and avoiding the "boil the ocean" approach. The episode concludes with a teaser for the upcoming Explore DDD conference in Denver, Colorado, scheduled for March 12-15, 2024, featuring keynotes by Eric Evans and Vaughn Vernon.Paul Rayner is a developer, instructor, coach, consultant, and popular conference speaker with over thirty years of software development experience. Paul provides DDD and EventStorming training and coaching through Virtual Genius.Paul is the founder and chair of the Explore DDD conference, the premier Domain-Driven Design conference in North America, and co-founder of DDD Denver. He is also the author of The EventStorming Handbook, and a co-author of Behavior-Driven Development with Cucumber. He lives in Denver, Colorado.
  • 10. Breaking the Silence: Navigating the Spectrum of Communication Patterns

    45:41||Season 3, Ep. 10
    In this podcast episode, Vaughn interviews Jacqui Read, a .NET developer turned software architect and author of the book "Communication Patterns: A Guide for Developers and Architects." Jacqui discusses the inspiration behind her book, emphasizing the importance of soft skills in conjunction with technical expertise. She highlights her experience in various domains and how she integrated diverse ideas into her work, leading to the identification of communication patterns and anti-patterns. The conversation delves into the reputation of programmers as poor communicators and the potential for improvement through Jacqui's insights.Jacqui's book covers a broad spectrum of communication, including verbal, written, non-verbal, and visual communication. Jacqui emphasizes the significance of visual communication, which constitutes a substantial portion of the book. She addresses the inclusion of illustrations, particularly discussing considerations for grayscale printing and offering links to color versions on the accompanying website. The podcast touches on sections of the book dedicated to the communication of knowledge, documentation, and the challenges of remote communication in today's distributed teams and companies.Jacqui Read is an internationally recognised solution and enterprise architect, and author of "Communication Patterns: A Guide for Developers and Architects", with hands-on experience and expertise architecting and coding software systems. She specialises in assisting businesses to create and enhance architecture practices, construct evolutionary architectures, and untangle and extract value from data and knowledge.Alongside consulting, Jacqui teaches public and private workshops and speaks at international conferences on topics such as architecture practices, technical communication, and architecture decisions. Her professional interests include collaborative modelling, knowledge management, Domain Driven Design, sociotechnical architecture, and modernising enterprise architecture practices. Outside of work she enjoys gardening and attempting to strum her ukulele and sing at the same time. Her website is https://jacquiread.com.
  • 9. Humanity and AI

    55:10||Season 3, Ep. 9
    Vaughn and Karen discuss the possible benefits for and threats to humanity in the use of AI. They dip into Karen's overlapping work in blockchain and AI and her unique accomplishments and awards in her blockchain and AI work. These topics take both Vaughn and Karen way back to the days of OS/2 and its superiority to Windows, which they both experienced.Karen describes her current work and what's coming next, with key benefits to humanity.They wrap up their conversation sharing information on how other people, including listeners and others, can learn about practical and beneficial work with blockchain and AI.Karen Kilroy is a lifelong technologist with heart. A full-stack software engineer living in Northwest Arkansas, she has written three publications for O'Reilly: Blockchain Tethered AI (2023), AI and the Law (2021), and Blockchain as a Service (2019).Karen is CEO of Kilroy Blockchain, which was the Winner of IBM Watson Build Challenge in 2017, North America, for their AI app RILEY. Karen is also co-founder of Friends of Justin, a non-profit 501(c)(3) AI research lab focused on the interaction between humans and AI.
  • 8. Made for the Cloud: Cell-based Architecture, Ballerina Language, and Choreo Platform

    01:10:30||Season 3, Ep. 8
    Vaughn and Asanka—WSO2's CTO— discuss a relatively radical and fresh approach to cloud applications and services development. The tools include the domain-driven Cell-based Architecture, the Ballerina programming language, and the Choreo cloud platform. This purpose-built trio is composed as one powerful offering to give software engineers the ability to focus their efforts on delivering cloud-native applications and services. Of course, engineers are not required to use the Ballerina programming language. They may use Java and any other choice of language. Yet, those looking for a practical approach to functional programming that offers asynchronicity and handles service integrations well, Ballerina is a language worth trying. Together, this architecture-language-platform trio deserves consideration for use in your future enterprise.Asanka Abeysinghe, WSO2's CTO, is a technology visionary with over 20 years of experience designing and implementing scalable distributed systems, microservices, and business integration solutions. He advances WSO2's corporate reference architecture, collaborates with customers and industry analysts, and drives the company's technology mission. Asanka is also a contributor to the Apache Software Foundation and a sought-after speaker at global events.
  • 7. Banking Transformation and Modernization

    01:15:52||Season 3, Ep. 7
    Vaughn Vernon has a conversation with Alfredo Muñoz regarding the transformation and modernization within banks, why it's so urgently needed, and how efforts can be successful. Their discussion encompasses BIAN, Domain-Driven Design, Data Mesh, and why focusing on business capabilities as business, service, events, and data domains is critical. We address why banks are so resistant to change but why they must learn a new mindset in order to both survive and flourish in the age of cloud and digital banks. For example, a bank transaction that has 1,000 COBOL calls will never work in the cloud, nor will a transaction that makes 100 API calls. How can new technologies and approaches to software development help banks, insurance, airlines, telecom, and other industries that heavily rely on mainframe power successfully switch out of the old status quo?Alfredo is an Enterprise Architect, and Banking Transformation Expert with more than 25 years of experience in large scale banking transformations in Europe, Asia and Latam, always involving first tier banksHe currently works in the Global Center of Excellence for Banking and Financial Market at IBMDuring the past years he has developed the methodology for the modernization of corebanking systems, including the adoption cloud infrastructure in coexistence with legacy systems, the BIAN Industry Standards, the industrialization and standardization of the design and development processes and the use of low code development frameworks with the primary objective to deliver transformation at scale, as required for large Financial Institutions.He has authored leading points of view, methods and assets on core systems transformation to Cloud. https://www.fintechna.com/authors/alfredo-muñoz-ríos/https://www.linkedin.com/in/alfredomunoz/