Upgrade to Pro — share decks privately, control downloads, hide ads and more …

EventSourcing.Live 2021 - Event system evolution - A Scientific Study on Event Sourcing, Lessons from Industry

EventSourcing.Live 2021 - Event system evolution - A Scientific Study on Event Sourcing, Lessons from Industry

Based on interviews with 25 engineers, in which we discussed 19 event sourced systems, we explore the rationale for and the context of event sourcing. Why do people use event sourcing, in what kind of systems do they apply it, and how satisfied are they. We also identify five challenges that practitioners experience: event system evolution, the steep learning curve, lack of available technology, rebuilding projections, and data privacy. We dig deeper into the first challenge, event system evolution. We uncover five tactics that engineers use in upgrading their event sourced system: versioned events, weak schema, upcasting, in-place transformation, and copy-and-transform. In this talk we share the results of our scientific study on event sourcing. We do not share the experience of one company, or one product, but the accumulated experiences of 25 engineers.

Michiel Overeem

October 07, 2021
Tweet

More Decks by Michiel Overeem

Other Decks in Technology

Transcript

  1. Michiel Lead Software Architect @ AFAS Software PhD candidate @

    University Utrecht [email protected] @michielovereem https://movereem.nl Overeem
  2. RQ2 RQ3 RQ1 What types of systems apply event sourcing

    and why? How can event sourced systems be defined? What are the challenges faced in applying event sourcing?
  3. “business analysts are telling us what the events should be.”

    (E5) “you capture business changes as a flow of events, you align these events with real world events.” (E11)
  4. Michiel Overeem, Marten Spoor, Slinger Jansen, and Sjaak Brinkkemper. (2021).

    An Empirical Characterization of Event Sourced Systems and Their Schema Evolution - Lessons from Industry. In Journal of Systems and Software In Practice volume 178 (2021), 110970. https://dx.doi.org/10.1016/j.jss.2021.110970
  5. Michiel [email protected] @michielovereem https://movereem.nl Overeem Event sourcing is a pattern

    that solves the three problems that modern systems face: flexibility, complexity, and reliability. These benefits give enough reason to incorporate event sourcing in modern systems.