February 23–26, 2020
Please log in
Please log in

The life beyond event sourcing: Why building event sourcing strategy is awesome and dangerous

Biharck Araujo (ThoughtWorks)
2:15pm3:05pm Wednesday, February 26, 2020
Location: Beekman Parlor
Secondary topics:  Best Practice, Case Study
Average rating: ****.
(4.25, 4 ratings)

Who is this presentation for?

  • Software engineers and architects




When it comes to building complex systems architectures, teams often begin with strategies such as event drive and, in some cases, even sourcing approaches. What some forget is that details in postproduction might generate more problems than solutions. Biharck Araújo demonstrates problems with projects using event sourcing strategy with real use cases.

Some projects paid insufficient attention to event modeling. It’s remarkable that event sourcing strategy allows you to build a good record of events related to the business. Moreover, it also allows for auditing, monitoring, analytics, machine learning, and a lot of other interesting purposes. In order to access all of those features, the events must represent things that have happened in the desired domain. The majority of the pitfalls come from complex events, more than create, read, update, and delete (CRUD) operations, which in most of the cases are the real issues.

Other projects didn’t acknowledge that events are the primary source of truth. Events are the primary source of truth, but in general, we don’t care so much about either storage strategy or which storage strategy is recommended for each architecture style and system’s design complexity. The first priority must be questions like whether or not to use an eventual consistency, relationship database, in-memory database, etc., since events are not just lost or duplicated in the beginning.

There are also issues with relying on synchronicity, the necessity to normalize projections when using command query responsibility segregation (CQRS), and aggregating boundaries design, which generates huge consequences that might create chaos when refactoring if modeled wrong.

Prerequisite knowledge

  • Familiarity with domain-driven design, event-driven, and event sourcing strategies

What you'll learn

  • Learn the most essential parts of the event sourcing methodology, the most common mistakes in event sourcing-based projects, and how to solve them
Photo of Biharck Araujo

Biharck Araujo


Biharck Muniz Araújo is a principal engineer at ThoughtWorks focused on performance and algorithm design. He has 16 years’ experience in computer science and has been a software architect and lead programmer for the past 12 years, focusing on technology in relation to large-scale problems associated with web projects that demanded high-security standards for information transmission in companies in a variety of sectors, including telecoms, health, and finance. Passionate about technology and academic research, he’s the author of Hands-On RESTful Web Services with TypeScript 3. He holds a master’s degree in electrical engineering and a PhD in bioinformatics.

  • IBM
  • LaunchDarkly
  • LightStep
  • Red Hat
  • ThoughtWorks
  • Auth0
  • Check Point Software
  • Contentful
  • Contrast Security
  • Datadog
  • Diamanti
  • Octobot.io
  • Optimizely
  • Perforce
  • Robin.io
  • SmartBear
  • Tidelift
  • WhiteSource
  • Synopsys
  • AxonIQ
  • Codefresh
  • CodeStream
  • Hello2morrow
  • LogRocket
  • Rookout
  • Solo.io
  • CNN
  • Boundless Notions, LLC

Contact us


For conference registration information and customer service


For more information on community discounts and trade opportunities with O’Reilly conferences

Become a sponsor

For information on exhibiting or sponsoring a conference


For media/analyst press inquires