Product

Odin

Our own technology platform

Shipped
Year2018

The challenge

What the client faced

The task the client came with and why it could not be solved before.

Assembling each project from off-the-shelf libraries means inheriting their limits. We built our own foundation so that we set the architecture instead of accommodating someone else's.

Mechanics

What is inside

The mechanics the product is built from.

Event Sourcing and CQRS

Methodologies and patterns for business logic where system state is rebuilt from events.

Updates without downtime

Functionality is added and changed without pausing the running version or its services.

Multi-datacenter

Deployment across servers for geographic proximity to the client.

A rich API

Connection to any external service — exchanging data through requests or information feeds.

Pipeline

A request through the platform

The path of a request through the platform: from an external system to an answer assembled from the event journal.

  1. 01

    A request enters the perimeter

    External systems connect over HTTP or WebSocket. The entry point is the router: TLS, request distribution, rate limiting.

  2. 02

    A service takes the work

    Logic is split into small services. Each owns its part and does not call its neighbours directly.

  3. 03

    A change becomes an event

    A service does not overwrite state silently — it records an event. The journal restores both the current view of the data and the full history of operations.

  4. 04

    The event goes to the broker

    The broker delivers it to the other services: queues and topics, guaranteed delivery, reprocessing after a failure.

  5. 05

    Read models update separately

    Reading and writing are separated: read models are assembled in advance and updated from events, without competing with operations.

  6. 06

    The answer goes back

    Reads are served from pre-assembled views — fast and without locking writes.

Where it sits

Where it sits

Odin is the bottom layer: both web products and client services stand on it.

Locations Servers and data centres

The perimeter runs on our own servers and can span several locations, so data sits closer to users.

Odin Platform components

Message broker, storages, router, orchestration, monitoring. Assembled into a configuration that fits the task.

Products and services What runs on the platform

Company products and client services: Udeu, Ambitions, back offices, concierge systems.

Outcome

What it gives a product

What those platform properties give a particular product.

A change does not break neighbouring services

Services are tied by contracts and events, not by a shared codebase: changing one does not drag the others along.

Updates without downtime

Two versions of a service run at the same time, so rollout and rollback happen without stopping service.

The history is already there

State is restored from the event journal: investigating what happened needs no separate system.

Reads do not compete with writes

Read models are assembled in advance and updated from events, so reports do not get in the way of operations.

A new service is assembled from ready components

The configuration is chosen for the task — from a single-server installation to a distributed perimeter.

Data closer to the user

Several locations with data replication and traffic switching between them.

Technology

What it is built on

The platform, the stack and the devices the product runs on.

Technologies

  • Distributed message broker
  • uWebSockets
  • RocksDB
  • Redis
  • Orchestration
  • Search engine

Platforms

  • Server platform

Links

Where to look

The product website and the materials about it.

Live demo

Demo access is provided on request.

Get in touch

Need a product like this under your brand?

We will deploy it white-label, tune the processes and onboard your team.