Your Distributed Monoliths are secretly plotting against you

The Monolith era

A typical architecture of a monolith application

The Distributed Monolith Era

A generic System’s architecture after decoupling Billing and Reporting from the core monolith app
A generic example of an ETL analytics system (at Unbabel we called it Automatic Translation Analytics)

1. Data changes

2. Many different data schemas to handle

The root of all evil

Linkedin’s data flow spaghetti mess circa 2011 — source

Breaking the Distributed Monolith with Event Sourcing

1. One source of truth

2. Universal data format

An event following the AVO (Actor, Verb, Object) approach that models that fact of a user liking a photo

3. Decoupling between producers and consumers


References:

Unbabel R&D

A collection of articles from the Unbabel Research & Development Team.

Thanks to Rui Santos.

João Vazao Vasques

Written by

Data @Unbabel | Sandboxer @Sandbox | Past: Talkdesker @talkdesk |Founder of Wazza.io | Software Eng @Uniplaces. Taekwondo black belt - 2nd place Worlds '12

Unbabel R&D

A collection of articles from the Unbabel Research & Development Team.