Pavel Pytlík · vývoj a provoz systémů
← Realizace
V provozu · vlastní produkt Interaktivní demo

Případová studie

Estate Operations

Datová platforma pro realitní profesionály. Z veřejných registrů automaticky skládá karty budov a u každého údaje ukazuje, odkud pochází, kdy byl ověřen a jak je spolehlivý.

Výchozí stav

Údaje o budovách jsou roztroušené po registrech

Kdo pracuje s nemovitostmi, potřebuje o budově znát základní fakta: adresu a polohu, údaje z katastru, vlastníka a vazby na firmy. Tyto informace existují, ale každá je v jiném veřejném registru: RÚIAN, katastr nemovitostí, ARES.

Ruční dohledávání znamená přepínat mezi několika weby, kopírovat údaje a skládat je dohromady.

Problém

Ruční práce se nedá škálovat a data bez zdroje nejdou ověřit

U jedné budovy je ruční dohledání otázkou minut, u desítek tisíc budov je neproveditelné. A i když se data podaří posbírat, bez informace o zdroji a datu ověření nikdo neví, jestli jsou aktuální a zda se na ně dá spolehnout.

Automatické zpracování takového objemu navíc musí počítat s výpadky: když se běh přeruší uprostřed, nesmí se začínat od nuly a nesmí vzniknout napůl hotová data.

Řešení

Platforma, která data sama sbírá, ověřuje a verzuje

Navrhl a vyvinul jsem platformu, která celý proces dělá automaticky a výsledek dává lidem ke kontrole:

  • Automaticky skládá karty budov z RÚIAN, katastru a ARES.
  • U každého údaje ukazuje zdroj, čas ověření a míru spolehlivosti.
  • Údaje, které vyžadují posouzení, posílá do fronty ke kontrole člověkem.
  • Každý běh vytvoří neměnnou verzi datové sady s otiskem sha256, takže je vždy jasné, z jakých dat výsledek vznikl.
  • Služby se po selhání samy znovu spustí a přerušený běh naváže tam, kde skončil.
  • Uživatelé mají role a dvoufázové přihlášení. Exporty a auditní záznam ukazují, kdo co udělal.

Výsledek

Co platforma dělá v provozu

74 000+ budov zpracovaných automaticky každý měsíc
3 veřejné registry v jedné kartě budovy: RÚIAN, katastr a ARES
sha256 otisk každé neměnné verze datové sady
MFA role a dvoufázové přihlášení pro uživatele

Platforma běží v provozu na Google Cloudu a měsíční zpracování proběhne bez ručního zásahu.

Moje role

Celá platforma od dat po infrastrukturu

Estate Operations je můj vlastní produkt, dostupný na realestateagent.cz. Navrhl a vyvinul jsem datové zpracování i webovou aplikaci, infrastrukturu na Google Cloudu popsanou v Terraformu a starám se o provoz.

Jak to běží

Tři zóny: web, sběr dat a automatika

Webová aplikace je oddělená od zpracování dat. Zpracování nikdy neběží uvnitř webového požadavku, takže dlouhý běh nezpomalí práci uživatelů.

Jak to běží Google Cloud · europe-west3 · Terraform
Web
frontend

React + TypeScript, nginx, HTTPS

api

Django: role, MFA, review, exporty, audit

Cloud SQL

PostgreSQL, neměnné revize dat

Sběr dat
runner

Fronta úloh, lease, heartbeat. Engine nikdy neběží v HTTP requestu.

engine

Python, checkpointy, globální zámek, rozpočty na externí API

import

Inkrementální, idempotentní, atomické publikování revize

Automatika
systemd

Restart=always, start po rebootu, navázání běhu

timer · 5. a 6. v měsíci

Snapshot RÚIAN a přestavba cílových budov, Persistent=true

GPU spot VM

ML inference na vyžádání, mimo provoz vypnutá

Brána před nasazením testy kontrola integrity enginu doctor check reprodukovatelný re-seal manifestu

Technologie

Na čem systém stojí

React TypeScript Django Python PostgreSQL (Cloud SQL) Google Cloud Terraform systemd MFA

Ukázky

Jak systém vypadá

Video a snímky z aplikace. Kliknutím obrázek zvětšíte.

Další rozvoj a provoz

Provoz bez ručních zásahů

Plánované úlohy každý měsíc stáhnou nový snímek RÚIAN a přestaví cílové budovy. Služby hlídá systém, který je po selhání nebo restartu serveru znovu spustí, a rozpracovaný běh naváže tam, kde skončil.

Před každým nasazením proběhnou testy a kontrola integrity zpracovacího jádra. Na stejném základu lze přidávat další datové zdroje a výstupy.

Další krok

Řešíte podobný problém?

Domluvme si krátkou úvodní konzultaci zdarma. Probereme současný stav, výsledek, který očekáváte, a zda dává vývoj na míru ekonomický smysl.