The Power of Event Sourcing

Discover how we used Event Sourcing to maintain flexibility, handle changes, and ensure efficient error resolution in application development.

Sharing Our Positive Experience with Event Sourcing in a Customer Application

We just had a nice experience while maintaining one of the applications we created for our customer and we wanted to share this with you!

Project Overview

We are building a small ‘on-the-side’ project for a customer that supports the planing of a huge event with more than 1.500 guests. It's not in their major line of work and they use the application for about 1.5 months to organise the seating plan for their annual Company party. Together we decided that it’s OK to take some shortcuts during the implementation to reduce the overall effort.

Development Phase

Over the last few weeks we have been busy working on the application. Lots of small change requests ('I want a different text in the generated email', ‘Can you add this field on that page?’, ‘We thought this feature works differently’) were coming in every couple of days.

Event-Sourcing Approach

Due to the ‘ad-hoc’ (or in German we would call it ‘hemdsärmelig’) setup of the project we, me and my colleagues Rinat Abdullin and Aigiz Kunafin, decided it would make sense to take an event-sourcing approach for the application.
One of the reasons is that storing all changes in the application as raw events allows us to move fast, evolve the application as new requirements arise and spend not too much time in modelling the system upfront.
Rinat sketched it briefly in a Tweet a while ago:

  • we have an event sourced application with a single aggregate, operating on a single event stream,

  • running on one application server is sufficient,

  • we keep all state in memory and persist only new events to a SQL-Server (currently we have approximately 10.000 events and the application - ASPNETCORE - consumes 250 MB of memory on Windows)

  • and we have isolated, dedicated pages which communicate with the user via web-sockets. (It's a mixture of serverside rendering and some Vanilla/jQuery based JavaScript)

Benefits and Setup

The setup allows us to move fast and there is not a lot of time to write tests; We have only one unit & integration test. To mitigate this, we wanted to make sure that we had a good, fast and reliable CI/CD pipeline and comprehensive logging in the application.

A consequence of not having a suite of tests is that things tend to break from time to time. Usually the errors are either

  • isolated on one particular page

  • mitigated via Event Sourcing

The errors are usually fixed within a few minutes and rolled out via another deployment.

The incident

Just a couple of days ago we had another incident with the customer where the architecture and the setup paid off big time.

In the application we have functionality where users can assign physical dining tables, spread over several rooms of the event location, to logical tables to organise and plan the event. Prior to this assignment the customer does a physical random table-picking, by drawing the tables assignments one by one, to determine which table should be positioned in which room.

Afterwards they enter the randomly assigned tables into an Excel-File and upload it to the application.

The Issue and Resolution

However, there is a catch: some tables - for VIPs - are placed in a different way and shouldn’t be updated by this table-picking mechanism.
This time they kept the logical VIP tables in the Excel-File they uploaded, but they had no physical tables assigned to them.
During the upload of the file we reset all previously assigned physical tables for the VIPs. You could argue that it was not a bug and worked as designed, but the customer was still not very happy about this, because they thought that they lost a lot of work!

So what did we do to mitigate this issue? We simply deleted the events generated by the upload, fixed the implementation, re-uploaded the file and everything was fine. And the best thing: in the meanwhile the customer could keep on working with the application! Although we did ask them not to work in areas directly related with VIP tables.

Customer Satisfaction

Everything was resolved in approximately one hour and the result: a very happy customer.
The customer knew upfront that we were storing every change they made in the application and that this empowers us to react to errors either on our or the customers side in a very fast way. We proved them again that there are no catastrophic errors and we have chosen the right architecture for the application!

Blog 7/14/23

Event Sourcing with Apache Kafka

For a long time, there was a consensus that Kafka and Event Sourcing are not compatible with each other. So it might look like there is no way of working with Event Sourcing. But there is if certain requirements are met.

Blog 10/21/20

Consistency and Aggregates in Event Sourcing

Learn how we ensures data consistency in event sourcing with effective use of aggregates, enhancing system reliability and performance.

IT Vendor Management Teaserbild
Service

IT Sourcing & Vendor Management – Managing IT Partners

We ensure the application of best practice methods for the selection and evaluation of IT vendors and service providers and for cost-optimized supplier management.

Kompetenz

Sourcing Strategy, Spend Management & Compliance

The right service providers + Costs under control + Ensure vendor compliance ► Together we develop the right strategy

Blog 10/4/24

Open-sourcing 4 solutions from the Enterprise RAG Challenge

Our RAG competition is a friendly challenge different AI Assistants competed in answering questions based on the annual reports of public companies.

Blog 5/25/21

From the idea to the product: The genesis of Skwill

We strongly believe in the benefits of continuous learning at work; this has led us to developing products that we also enjoy using ourselves. Meet Skwill.

Neues Training für Atlassian Jira: „Realizing the Power of Jira Reporting & Dashboards” jetzt auch für die Cloud
Training

Realizing the Power of Jira Reporting & Dashboards (DC)

Over the course of "Realizing the Power of Jira Reporting & Dashboards (Data Center)" participants will learn about the basic functions of Jira dashboards and reports.

Wissen 4/14/23

The "Beautiful five" and the Power of "One-Number" Reporting

Key figures are a perennial favorite in idea management, have been used for many years (decades) and are now very topical again. The reasons are obvious. You want to set performance benchmarks, define targets, follow up on where things are not going so well and measure the success or failure of idea management.

Branche

Digitization of the energy industry

The energy sector is undergoing an unstoppable process of change. Progressive digitization and the energy transition are causing traditional system and process boundaries to disappear.

Blog 4/16/24

The Intersection of AI and Voice Manipulation

The advent of Artificial Intelligence (AI) in text-to-speech (TTS) technologies has revolutionized the way we interact with written content. Natural Readers, standing at the forefront of this innovation, offers a comprehensive suite of features designed to cater to a broad spectrum of needs, from personal leisure to educational support and commercial use. As we delve into the capabilities of Natural Readers, it's crucial to explore both the advantages it brings to the table and the ethical considerations surrounding voice manipulation in TTS technologies.

News 1/26/21

The IPG Group becomes part of the TIMETOACT GROUP

The TIMETOACT GROUP acquires the majority of the shares of IPG Information Process Group Holding AG, based in Winterthur. Through the acquisition, the competencies for Identity and Access Management (IAM) solutions in the DACH market are combined.

News 1/26/21

The IPG Group becomes part of the TIMETOACT GROUP

The TIMETOACT GROUP acquires the majority of the shares of IPG Information Process Group Holding AG, based in Winterthur. Through the acquisition, the competencies for Identity and Access Management (IAM) solutions in the DACH market are combined.

Blog 6/29/21

7 Positive effects of visualizing the interests of your team

Interests maps unleash hidden potentials and interests, but they also make it clear which topics are not of interest to your colleagues.

Referenz 4/13/23

The new Idea and Innovation Management of the DDPS

The new solution is available to employees in the familiar portal and in the same design. It is very easy to use and adapted to the needs of the role holders. It was easy to move away from the old platform. The switch to the new solution is rated very positively by all roles.

Insights

Team-Leaderboard of the Enterprise RAG Challenge

The team-leaderboard includes all submitted entries – including those submitted after the Ground Truth was released. Therefore, we consider this ranking an unofficial overview.

News 3/24/25

SAP Partner of the Year 2025

WCA Walldorf Consulting GmbH has been named “Partner of the Year” by SAP in the SAP S/4HANA Cloud Public Edition category!

Headerbild zu Digitalem Ökosystem
Service

Fit for the digital ecosystem

Insurers are digitally networking with their ecosystem to gain critical capabilities in a division of labor. Personal data, object data are securely exchanged via common digital interfaces.

Blog 5/16/24

Common Mistakes in the Development of AI Assistants

We share how failures when implementing AI occurr and what can be learned from them for future projects: So that AI assistants can be implemented more successfully in the future!

Wissen 5/2/24

Unlock the Potential of Data Culture in Your Organization

Are you ready to revolutionize your organization's potential by unleashing the power of data culture? Imagine a workplace where every decision is backed by insights, every strategy informed by data, and every employee equipped to navigate the digital landscape with confidence. This is the transformative impact of cultivating a robust data culture within your enterprise.

News 11/4/24

EverIT becomes part of catworkx and the TIMETOACT GROUP

catworkx (part of the TIMETOACT GROUP), a leading partner for enterprise integration based on the Atlassian platform, is acquiring EverIT, a specialized Hungarian Atlassian partner.

Bleiben Sie mit dem TIMETOACT GROUP Newsletter auf dem Laufenden!