Projekty

Jeden systém, popsaný tak, jak by ho chtěl mít popsaný inženýr.

Metoda na doméně nezávisí — stejná architektura funguje pro logistiku, průmysl, finance i cokoli jiného, co přerostlo tabulku. Následuje, jak vypadá aplikovaná na obchodní analytiku energetického trhu.

Ve vývoji

Obchodní analytika energetického trhu — hodie.cz & elrnd.com

Platforma, která průběžně přijímá tržní a provozní data, počítá nad nimi křivky, signály a predikce a doručuje výsledek lidem, kteří podle něj obchodují — v nástrojích, ve kterých už pracují.

Role
Od A do ZOtázky, stack, architektura, vývoj, cluster, provoz
Runtime
KubernetesCluster přes více strojů, popsaný v kódu
Architektura
MikroslužbyMalé části, verzované kontrakty
Stav
AktivníVe vývoji, iterujeme s klientem

Problém

Analytické produkty tohoto druhu obvykle začínají jako výzkum: skript, který stahuje data, tabulka, která počítá něco užitečného, report rozeslaný mailem. Je to správný začátek — a funguje, dokud věc nemusí běžet každý den a nemá se jí věřit s penězi.

V tu chvíli se objeví tytéž tři chyby. Nikdo neumí zreprodukovat včerejší číslo. Každá změna se dotýká všeho ostatního, takže se změny zastaví. A odpověď chodí tam, kam se lidé, kteří ji potřebují, nedívají.

Přístup

Začali jsme otázkami, ne zadáním: odkud každé číslo pochází, kdo ho ručně opravuje, jak zlé je zpoždění, jak zlá je chyba a kde lidé, kteří s ním pracují, během dne skutečně jsou.

Odpovědi rozhodly o stacku — především o úložišti zvoleném pro tento tvar dat — a odtud je systém množinou malých služeb na Kubernetes, každá s jednou úlohou a verzovaným kontraktem, propojených explicitním datovým tokem.

Argument +n v praxi

Co se změnilo za poslední čtvrtletí

Predikční služba a chatový notifikátor přibyly měsíce po prvním releasu a jedna raná služba zmizela, když se ukázalo, že její úloha patří jinam. Nic z toho nevyžadovalo sáhnout na běžící části a žádný kontrakt se nerozbil.

To je celé tvrzení z úvodní stránky, řečené jako událost místo grafu: čtrnáctá služba stála tolik co čtvrtá.

  • Přidáno: predikce — nová modelová služba čte existující tok, nasazená bez čekání na release.
  • Přidáno: doručení do chatu — výsledky jdou do nástrojů, ve kterých tým žije, ne do dashboardu, na který si musí vzpomenout.
  • Odebráno: jedna raná služba — čistě smazaná, když se její odpovědnost přesunula; odečetla přesně to, co stála.
  • Rozbité kontrakty: žádné — producent i konzument se ověřují proti schématu při každém buildu.
Klient
hodie.cz · elrnd.com
Trh
Energetika
Doména
Obchodní analytika
Zapojení
Postavíme systém
Jazyky
Go · Python · TypeScript
Runtime
Kubernetes
Doručování
GitOps, IaC

Systém po vrstvách

VRSTVA 01

Ingest

Služby stahují tržní a provozní data podle vlastních plánů, s detekcí děr a doplněním všeho, co uteklo během výpadku. Nic dál po proudu nikdy nevidí formát dodavatele napřímo.

  • backpressure
  • detekce děr
  • retry
VRSTVA 02

Normalizace

Jeden kanonický model pro instrumenty, události a čas, s validací schémat, která spustí alarm, když zdroj potichu změní formát — chyba, které si jinak dny nikdo nevšimne.

  • kontrola schémat
  • dedupe
  • lineage
VRSTVA 03

Úložiště

Zvolené pro tato data: dlouhá okna pro výzkum, úzká čerstvá okna pro živý pohled — a jasná čára mezi tím, co jde dopočítat, a tím, co se nesmí ztratit.

  • time-series
  • historie
  • retence
VRSTVA 04

Výpočty

Křivky, indikátory, signály a vlastní modely — trénované a predikující nad živým proudem — jako oddělené služby: Go tam, kde jde o propustnost, Python tam, kde žijí modely, každá škáluje podle vlastní zátěže. Nové výpočty přicházejí jako nové služby, ne jako úpravy stávajících.

  • křivky
  • signály
  • predikce
VRSTVA 05

Doručení

Analytické rozhraní pro ty, kdo se chtějí dívat, a chat pro ty, kdo chtějí být informováni — každé číslo dohledatelné k záznamům, ze kterých vzniklo.

  • dashboardy
  • chatbot
  • auditní stopa
VRSTVA 06

Platforma

Kubernetes pod tím vším: deploymenty pro stálý proud, joby a pipeline úloh pro periodickou práci, metriky a logy z platformy, prostředí definovaná v kódu.

  • GitOps
  • joby
  • monitoring
Kam se to přenáší

Doména je příklad. Nabídka je inženýrství.

Proudící data, plánované pipeline, výpočty, které musí být reprodukovatelné, modely pod dohledem, odpovědi doručené tam, kde se pracuje — tohle všechno potřebuje energetika a spolu s ní spousta oborů, které by se nikdy nenazvaly technickými.

Energetika a komodity

  • křivky a ceny
  • predikce
  • pozice a rizika

Trading a fintech

  • signální platformy
  • real-time ledgery
  • detekce anomálií

Průmysl a IoT

  • telemetrie ve velkém
  • prediktivní údržba
  • od edge po cluster

Logistika a provoz

  • plánovací systémy
  • sledování událostí
  • interní nástroje

Z výzkumu do produkce

Z fungující tabulky nebo výzkumného kódu systém, který běží každý den, reprodukovatelně a bezpečně — bez zahození práce, která myšlenku dokázala.

Za zdí

Systém, který se stal příliš provázaným na změny, přestavěný na části, které jde zase přidávat a odebírat.

Záchrana platformy

Převzetí clusteru, kterému už nikdo úplně nerozumí, a jeho proměna v čitelný, levnější a bezpečně nasaditelný.

Chcete totéž pro svůj systém?

Popište byznys, ne technologie. Pokud na to nejsme ti praví, řekneme to — a většinou poradíme, kdo je.