CQRS · Event Sourcing · Generative AI · Software Architecture

Use Generative AI with Commands and Events

this article is currently a work in progress. In this post I’m going to discuss the use of Artificial Intelligence (AI) combined with messaging patterns like Event Sourcing and CQRS. AI components can play different roles in different scenarios like pattern recognition, business insights, future predictions and more. Currently I’m more interested in building an… Continue reading Use Generative AI with Commands and Events

Software Architecture

Horrible Architectures: 3 layers camouflage

Once upon a time I was use to listen a business requirement and automatically visualize its relational schema mapping nouns to entities/tables. I was proud of myself quickly defining a model with little logic, a service layer, business logic, an ORM library to manage et voila… something working showing it to the business stakeholders. Let… Continue reading Horrible Architectures: 3 layers camouflage

Domain Driven Design · Software Architecture

Structure of software in a distributed architecture

…in the beginning I was interested in what is the structure of software. People in hardware have it all easier. When you build machines, you have obvious components connected by wires and this forces you to a kind of natural modularity. Each component does whatever its doing and provides a simple way interacting with the… Continue reading Structure of software in a distributed architecture

CQRS · Domain Driven Design

Asynchronous APIs and CloudEvents in messaging architectures

Table of contents Prologue Asynchronous Api CloudEvent Specification: a common format for messages Commands/Events and Horizontal scaling with Competing Consumers pattern Failure Tolerance CQRS and how to handle the reads synchronously Prologue In this article I will discuss an architectural approach I usually follow when I design Apis and distributed messaging architectures. The architecture is… Continue reading Asynchronous APIs and CloudEvents in messaging architectures

Event Sourcing · Software Development

Connection pending send bytes is too large (EventStore error)

This short note is about dealing with “Connection pending send bytes is too large” error while using a Catch-up subscription and connecting to an EventStore database. That error message can appear in the logs when the server drops a client connection. The reason why that happen is most likely that the server is sending too… Continue reading Connection pending send bytes is too large (EventStore error)

Event Sourcing · Software Architecture

Kafka vs Event Store on scaling processing in a messaging architecture

This post is a condensed excerpt that I use for a tech talk about scaling distributed systems. Kafka is a message broker and Event Store is a database for stream of events. The roles of these tools has been extended and not always with good results. One can be a good simple ingestion tool while… Continue reading Kafka vs Event Store on scaling processing in a messaging architecture

Cloud · DevOps

Deploy EventStore to Kubernetes with Helm on Azure Cloud AKS

The “Official” EventStore Helm Chart has been archived by the EventStore team. The reason behind that decision is strongly opinionable to say the least. This is the chart I use https://github.com/riccardone/helm-eventstore This guide is to show how to use the official Event Store Helm Chart to interactively deploy an Event Store Cluster in Kubernetes Azure… Continue reading Deploy EventStore to Kubernetes with Helm on Azure Cloud AKS

Cloud · DevOps

Deploy EventStore to Kubernetes with Helm on Google Cloud GKE

The “Official” EventStore Helm Chart has been archived by the EventStore team. The reason behind that decision is strongly opinionable to say the least. This is the chart I use https://github.com/riccardone/helm-eventstore This guide is to show how to use the official Event Store Helm Chart to interactively deploy an Event Store Cluster in Kubernetes Google… Continue reading Deploy EventStore to Kubernetes with Helm on Google Cloud GKE

CQRS · Domain Driven Design · Event Sourcing · Software Architecture

Distributed Architecture: 3 Steps

Here is my view implementing business requirements with DDD, Event Sourcing and CQRS. Ingestion Processing CQRS and Data Distribution Applying the same 3 steps for each new requirements let improves time after time the mechanics of each small bubble while it is living in the aquarium of an Event Driven ecosystem along with bigger legacy… Continue reading Distributed Architecture: 3 Steps