Systémové inženýrství

Stavíme systémy, které zůstávají naživu.

Nakresleno jako architektura, postaveno jako organismus. Živá data jím proudí, modely se učí přímo z toku, každá část — mikroslužba na Kubernetes — vyměnitelná sama o sobě. Složitost roste o +n, nikdy ^n: i po letech změníte cokoli.

Teze

Software neumírá na pády. Umírá, když ho lidé přestanou měnit.

Každý systém jednou doroste velikosti, kdy jeho části o sobě vědí příliš. Od té chvíle se každá malá změna dotýká všeho, odhady přestávají dávat smysl a jednoho dne — nikdo to nevyhlásí — je nejbezpečnějším releasem žádný release. Proti téhle smrti navrhujeme od první čáry.

Jak roste složitost systému s přidávanými částmi Dvě křivky v závislosti na počtu částí přidaných v čase. Těsně provázaný systém roste exponenciálně: každá další část násobí celkovou složitost. Mikroslužbový systém na Kubernetes roste téměř lineárně: každá další část přidá zhruba konstantní, ohraničené množství složitosti. 0 přidané části v čase → složitost systému → zeď malé změny přestávají být malé ^n +n jedna další malá služba jedna další provázaná změna Ilustrativní. Podstatné jsou tvary křivek, ne jednotky.
složitost systému ↑ přidané části v čase → zeď malé změny přestávají být malé ^n +n Ilustrativní — podstatné jsou tvary křivek, ne jednotky.
Těsně provázaný systém — ^n

Každá část ví o každé jiné. Přidání jedné násobí kombinace, které musíte udržet v hlavě, otestovat a udržet funkční. Nakonec je nejlevnější systém přestat měnit.

Mikroslužby na Kubernetes — +n

Každá část je malá, dělá jednu věc a komunikuje přes kontrakt. Přidání jedné přidá jen její vlastní složitost. Odebrání odečte přesně totéž.

DŮSLEDEK 01

Architektura zůstává upravitelná

Nemusíte mít od začátku ve všem pravdu. Architektura se může měnit během vývoje i dlouho po něm — přidávání a odebírání částí je běžná operace, ne přepis.

DŮSLEDEK 02

Jedno rozhodnutí ale správně být musí

Technologický stack pro váš konkrétní typ produktu — především databáze a skutečný tvar dat. Tohle rozhodnutí je drahé vracet, proto u něj zpomalujeme.

DŮSLEDEK 03

Škálování se stává kvantitativním

Jakmile jsou části malé a jednotné, větší systém znamená víc částí, ne těžší systém. Růst je otázka počtu a kapacity — dá se plánovat a rozpočtovat.

Anatomie

Stavěné jako tělo. Vyměnitelné jako stroj.

Části živého systému se čistě mapují na části toho našeho — s jednou výhodou, kterou biologie nenabízí: každý orgán jde vyměnit bez operace zbytku a každý dokáže žít i sám.

KOSTRA

Kubernetes

Nese váhu, aby ji nemuselo nést nic jiného. Plánování, izolace, metriky a logy jsou součástí tělesného plánu — ne přišroubované po prvním pádu.

ORGÁNY

Malé služby

Každá dělá jednu věc a vejde se do jedné hlavy, napsaná v jazyce, který jí sedí — Go, Python, TypeScript. Přidání stojí +n. Odebrání totéž.

KREVNÍ OBĚH

Datový tok

Deploymenty, joby a pipeline úloh drží proud v pohybu — pod zátěží, s backpressure, bez tichých ztrát.

REFLEXY

Modely, které se učí za běhu

Vlastní ML běží jako běžné kontejnery — trénuje se na proudu, jak protéká, predikuje v reálném čase a jde vypnout jedním příkazem.

SMYSLY

Monitoring a alerting

Systém se sleduje sám: metriky, logy a alerty, které dorazí k člověku dřív, než si zákazník čehokoli všimne.

HLAS

Odpovědi tam, kde pracujete

Výsledky jdou do chatu a nástrojů, které vaši lidé už používají — boti a asistenti mluví ze systému, ne z fantazie.

Druhá polovina

Samotní stavaři dominantu nepostaví.

U velké stavby nedělí dominantu od skladu parta na stavbě, ale architekti. Software je stejný: správně ještě neznamená dobře navržené. K inženýrství proto přidáváme architektonický pohled — praktickou, kreativní vizi toho, jaký má systém tvar, jak se používá a jak sedí byznysu kolem něj. Kompletní sadu výkresů nese jeden tým:

cyberconspect — sada výkresů měřítko 1:1 · rev A
S-01

Analýza potřeb byznysu

Jednoduché otázky, které rozhodnou, čím systém musí být — klademe je my, odpovídáte vy.

S-02

Architektura a design

Tvar celé věci: služby, datový tok, rozhraní — nakreslený dřív, než existuje.

S-03

Nasazení clusteru

Kubernetes postavený a nakonfigurovaný na tolika strojích, kolik zátěž potřebuje.

S-04

Vývoj kontejnerů

Každá služba včetně ML modelů — rychlá, stabilní, v jazyce, který jí sedí.

S-05

Integrace a konfigurace

Napojení na vaše nástroje a stávající produkty — včetně AI a chatovacích botů.

S-06

Testování kvality

Kontrakty, toky i zátěž — ověřené před spuštěním a hlídané v CI po něm.

S-07

Maintenance a podpora

Systém předaný kompletní a opečovávaný i potom — tak dlouho, jak chcete.

Metoda

Ptáme se. Kreslíme. Necháváme růst. A je to vaše.

Celá metoda je na stránce Přístup. Poctivá verze se vejde do čtyř vět.

01 · PTÁME SE

Otázky, ne zadání

Jednoduché otázky o tom, jak práce probíhá dnes. Vy odpovídáte — sepsání zadání je naše práce, ne vaše.

02 · KRESLÍME

Stack a tvar

Technologie zvolené podle vašich dat — především databáze — a architektura načrtnutá kolem hlavního toku. Jediná fáze, u které stojí za to zpomalit.

03 · RŮST

Po jednom kontejneru

Služby a modely přibývají jako malé kontejnery — testované na kontraktech, nasazené napříč clusterem, sledované od prvního dne.

04 · VAŠE

Celé, a vaše

Kompletní systém předáme. Podpora potom, pokud ji chcete — nikdy proto, že jste u nás uvízli.

Jak s vámi mluvíme

Otázky jsou jednoduché. Systémy ne.

Neměli byste muset popisovat systém inženýrským jazykem, abyste ho dostali. Vy znáte svůj byznys; my z toho, co víte, uděláme architekturu. Z prostých odpovědí vznikají kvantitativně rozsáhlé systémy.

Ptáme se

Odkud dnes tohle číslo pochází a kdo se ho dotkne, než je finální?

Vy

Ráno přijde z burzy, analytik ručně opraví dvě pole a pak jde do reportu.

Ptáme se

Jak zlé je, když se opozdí o hodinu? A jak zlé, když je špatně?

Vy

Hodina zpoždění se přežít dá. Chyba ne — obchodovali bychom podle ní.

Ptáme se

Kdo ho potřebuje vidět a kde ti lidé jsou, když ho potřebují?

Vy

Čtyři lidé. A upřímně — žijí ve firemním chatu, ne v dashboardech.

Výsledek

Tři odpovědi a architektura je v podstatě daná: ingest služba, krok korekce s auditní stopou, validační brána, která selže nahlas místo potichu, a doručení do chatu místo dalšího dashboardu, který nikdo neotevře.

Co pokrýváme

Celé spektrum — infrastruktura, produkt i švy mezi nimi.

Bereme odpovědnost za celý systém, ne za jeho výsek — drahé problémy žijí přesně tam, kde se výseky potkávají.

Infrastruktura

Cluster a platforma

Kubernetes na libovolném počtu strojů, propojený do jednoho clusteru, popsaný v kódu.

Architektura

Návrh mikroslužeb

Hranice služeb, kontrakty a datový tok, který je spojuje.

Produkt

Systém samotný

Služby, které dělají skutečnou práci — každá v jazyce, který jí sedí nejlépe.

Kvalita

Testování na všech úrovních

Kontrakty, toky i zátěž — ověřené před spuštěním a hlídané v CI po něm.

Data

Pipeline a joby

Deploymenty, plánované joby, pipeline úloh, komunikace mezi službami, stálá propustnost.

Rozhraní

UI jako součást celku

Navržené, ne jen poskládané — tam, kde ho produkt potřebuje, vždy jako součást systému.

AI

Integrace do vašich nástrojů

Vlastní ML modely i napojená AI — trénované a predikující v reálném čase nad živým proudem, doručené tam, kde lidé pracují.

Provoz

Monitoring a alerting

Metriky, logy a alerty, které vzbudí člověka dřív, než si problému všimne zákazník.

Integrace

Vaše stávající produkty

Systémy, které už provozujete, napojíme — nenahrazujeme je pro nic za nic.

Po spuštění

Předání a podpora

Cluster předáváme kompletní a váš. Další podpora je možnost, nikdy nutnost.

To neděláme

Samostatné UI zakázky

Nebereme webové ani UI projekty odtržené od systému, který stavíme.

To neděláme

Embedded a mobil

Firmware a nativní mobilní aplikace jsou jiné řemeslo — ne naše.

To neděláme

Pronájem lidí

Dodáváme a ručíme za celé systémy. Inženýry po kusech nepronajímáme.

Jeden příklad

Obchodní analytika pro energetický trh.

Přístup je nezávislý na doméně; systémy ne. Takhle vypadá aplikovaný na jednu z nich.

Ve vývoji

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

Analytická a obchodní platforma pro energetické trhy: průběžný příjem tržních a provozních dat, výpočet křivek, signálů a predikcí nad nimi a doručení výsledku lidem, kteří s ním pracují.

Každý krok je malá služba na Kubernetes s verzovaným kontraktem. Za poslední čtvrtletí systém čtyři služby získal a jednu ztratil, bez jediného porušeného kontraktu — což je celý argument z grafu výše, v praxi.

  • Roste přidáváním — predikční služba a chatový notifikátor přibyly měsíce po spuštění, aniž se sáhlo na cokoli jiného.
  • Nezávislé škálování — příjem, výpočty i doručení škálují podle vlastních signálů a také samostatně selhávají.
  • Odpovědi tam, kde jsou lidé — výsledky jdou do chatu, ve kterém tým žije, ne do dashboardu, na který si musí vzpomenout.
  • Provozovatelný malým týmem — jeden pohled odpoví „je systém zdravý?“ a každý alert vede na runbook.
Klient
hodie.cz · elrnd.com
Trh
Energetika
Doména
Obchodní analytika
Stav
Aktivní vývoj
Runtime
Kubernetes
Architektura
Mikroslužby
Role
Architektura, vývoj a provoz

Nepotřebujete zadání, abyste začali.

Řekněte nám zhruba, co váš byznys dělá a kde to bolí. Otázky jsou naše práce — po prvním rozhovoru budete mít jasno o rozsahu, rizicích a podobě první fáze.