architecture
Data Partitioning in Distributed Systems
· β˜• 9 min read
I feel like data storage scalability in distributed or not systems is often overlooked. Whenever we talk about scalability, we usually imply processing scalability in distributed systems. We talk about ways to scale out dedicated service clusters without downtimes or data flow interruptions. I’ve written a few articles about it myself. But today, let’s talk about data scalability. How can we efficiently handle massive data sets without downtime or performance implications?

Domain-Driven Design: building the Right thing Right
· β˜• 9 min read
Domain-Driven Design can be perceived differently from different perspectives. It is a philosophy, a framework, a set of architectural patterns, and many more things with the ultimate purpose of building the right thing right.

Data Consistency in the Microservice Architecture
· β˜• 6 min read
Data Consistency might be a pain in the ass. It is a well-known source of unexpected surprises. What is it? What does it depend on? Why is it so often overseen? And how to achieve different types of consistency in a distributed system? All right here...

Monolithic Architecture
· β˜• 7 min read
Nowadays, many developers consider Monolithic Architecture as a disputed one. Sometimes even referenced as an anti-pattern. Is it a deserved stamp? Why is it still being deliberately chosen and used by many organizations? Finally, a few words about common delusion around Microservice Architecture and how easily and unconsciously it becomes Distributed Monolith.

Clean Event-Driven Architecture
· β˜• 10 min read
Clean Architecture is a pretty bold statement and quite a hollow and opaque thing to say. I think of Clean Architecture as philosophy. It is not about the system today, but about the system today and tomorrow. More details inside

Event Sourcing: Events Evolution, Versioning, and Migration
· β˜• 12 min read
Systems do evolve and unavoidably evolution leads to breaking changes... If you are doing event sourcing, events evolution is unavoidable, ultimately you will crash πŸ”₯πŸš’ into it. The more you know, the better you prepared, as they say πŸ€“

Different Flavours of Events
· β˜• 15 min read
Events, events, events... Events are everywhere... Event Sourcing, Event Streaming, Asynchronous services and much more. All these technical contexts have something in common, but a lot is different. And this is what this article is about πŸ€“

Are Controllers Real Evil?
· β˜• 11 min read
Too often, I found myself with bloated Controllers. Or when Controllers seemed like an awkward and redundant solution. Anyhow I kept using them. I know I'm not the only one who trapped in a similar situation? Is it Controllers or us doing something wrong? Here I tried to shed a bit of light on this topic.

Server-side Redux. Part III. The Code.
· β˜• 13 min read
The State Management Goes Wild his is the final article of the series where we explore Redux and its boundaries. In the previous articles, weΒ first dived into the main principles of the Redux, then weΒ tried to move things aroundΒ and conceptually move Redux from one side to another. This article is all about hands-on experience, and by the end of it, we will have a working application that will follow the design we settled before.

Server-side Redux. Part II. The Design.
· β˜• 7 min read
The State Management Goes Wild This is the second article of the series where we will try to find out if there’s a place for Redux on the other side of the fence. Even though this series is base on the assumption that you are more or less familiar with what is Redux, don’t worry if not, as we covered all necessary concepts in the previous article. Take your time and make yourself comfortable with Redux.

Server-side Redux. Part I. The Redux.
· β˜• 7 min read
The State Management Goes Wild This is the first article of the series where we will try to find out if there’s a place for Redux on the other side of the fence. Even though this series is base on the assumption that you are more or less familiar with the Redux, but don’t worry if not, as we will go over necessary concepts first. Once we are confident with the Redux as a React state manager, we will be exploring how we can use it as a back-end state management and state distribution tool and gradually build the conceptual design.

CQRS: Querying via HTTP
· β˜• 8 min read
This article continues the series dedicated to the CQRS pattern. We will be looking at the Command Query Responsibility Segregation pattern as an architecture, particularly dive into the Querying part and try to find out how to fit it in the HTTP. At the time this article is written, two main protocol versions exist HTTP/1.1 and HTTP/2. Version 3.0 is in the draft, so we are not considering it. The main difference between 1.

CQRS: Commanding via HTTP
· β˜• 9 min read
This article starts the series dedicated to CQRS on top of HTTP. We will be looking at the Command Query Responsibility Segregation pattern as an architecture, particularly dive into the Commanding part and try to find out how to fit it in the HTTP. At the time this article is written, two main protocol versions exist HTTP/1.1 and HTTP/2. Version 3.0 is in the draft, so we are not taking it into consideration.