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.
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.
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.
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.
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éž.
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.
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.
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.
Čá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.
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.
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éž.
Deploymenty, joby a pipeline úloh drží proud v pohybu — pod zátěží, s backpressure, bez tichých ztrát.
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.
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.
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.
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:
Jednoduché otázky, které rozhodnou, čím systém musí být — klademe je my, odpovídáte vy.
Tvar celé věci: služby, datový tok, rozhraní — nakreslený dřív, než existuje.
Kubernetes postavený a nakonfigurovaný na tolika strojích, kolik zátěž potřebuje.
Každá služba včetně ML modelů — rychlá, stabilní, v jazyce, který jí sedí.
Napojení na vaše nástroje a stávající produkty — včetně AI a chatovacích botů.
Kontrakty, toky i zátěž — ověřené před spuštěním a hlídané v CI po něm.
Systém předaný kompletní a opečovávaný i potom — tak dlouho, jak chcete.
Celá metoda je na stránce Přístup. Poctivá verze se vejde do čtyř vět.
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.
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.
Služby a modely přibývají jako malé kontejnery — testované na kontraktech, nasazené napříč clusterem, sledované od prvního dne.
Kompletní systém předáme. Podpora potom, pokud ji chcete — nikdy proto, že jste u nás uvízli.
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.
Odkud dnes tohle číslo pochází a kdo se ho dotkne, než je finální?
Ráno přijde z burzy, analytik ručně opraví dvě pole a pak jde do reportu.
Jak zlé je, když se opozdí o hodinu? A jak zlé, když je špatně?
Hodina zpoždění se přežít dá. Chyba ne — obchodovali bychom podle ní.
Kdo ho potřebuje vidět a kde ti lidé jsou, když ho potřebují?
Čtyři lidé. A upřímně — žijí ve firemním chatu, ne v dashboardech.
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.
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í.
Kubernetes na libovolném počtu strojů, propojený do jednoho clusteru, popsaný v kódu.
Hranice služeb, kontrakty a datový tok, který je spojuje.
Služby, které dělají skutečnou práci — každá v jazyce, který jí sedí nejlépe.
Kontrakty, toky i zátěž — ověřené před spuštěním a hlídané v CI po něm.
Deploymenty, plánované joby, pipeline úloh, komunikace mezi službami, stálá propustnost.
Navržené, ne jen poskládané — tam, kde ho produkt potřebuje, vždy jako součást systému.
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í.
Metriky, logy a alerty, které vzbudí člověka dřív, než si problému všimne zákazník.
Systémy, které už provozujete, napojíme — nenahrazujeme je pro nic za nic.
Cluster předáváme kompletní a váš. Další podpora je možnost, nikdy nutnost.
Nebereme webové ani UI projekty odtržené od systému, který stavíme.
Firmware a nativní mobilní aplikace jsou jiné řemeslo — ne naše.
Dodáváme a ručíme za celé systémy. Inženýry po kusech nepronajímáme.
Přístup je nezávislý na doméně; systémy ne. Takhle vypadá aplikovaný na jednu z nich.
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.
Ř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.