PYTHON

ELEGANTNÝ. FLEXIBILNÝ. VÝKONNÝ.

AKÉ BUDE TOTEMOVÉ
ZVIERA VÁŠHO
BACKENDU?

Budujeme robustné backendové systémy – bezpečné, škálovateľné a navrhnuté pre maximálny výkon.

RUST

BEZPEČNÝ. RÝCHLY. SÚBEŽNÝ.

01 Dva jazyky. Nie päť.

Jeden stack, vybraný zámerne.

Polyglotné agentúry znejú skvele v prezentácii. V praxi však znamenajú tri systémy zostavovania, štyri varianty null a cintorín polozanedbaných služieb. Vybrali sme dva jazyky, ktoré pokrývajú 95 % skutočných pracovných úloh — a v oboch sme sa stali veľmi, veľmi dobrými.

Hot path · systémy · bezpečnosť

Rust

9,6 vnitřní skóre

Bezpečný pre pamäť bez garbage collectora. Bez dátových konfliktov už v čase kompilácie. Najprísnejší recenzent kódu, akého kedy budete mať — a keď vás raz pustí ďalej, vaša služba vás v nedeľu nezobudí.

Keď po ňom siahneme

  • Platobné kanály a všetko, čo sa týka peňazí alebo osobných údajov
  • Vysoko vyťažené API brány s SLA na úrovni 99,999 %
  • Porovnávacie motory s nízkou latenciou, obchodovanie, v reálnom čase
  • Moduly WebAssembly odoslané do prehliadača
  • Nástroje CLI a démony, ktoré sa musia spustiť v priebehu milisekúnd

Kompromisy, ktoré nebudeme ignorovať

  • Zaškolenie nových zamestnancov: ~2–4 týždne do produktivity
  • Časy kompilácie na obrovských pracovných priestoroch (riešime pomocou sccache)
  • Mladší ekosystém ako Java — vyspelý tam, kde na tom záleží
Lepidlo · dáta · ML · rýchlosť

Python

9,3 skóre vnútornej zhody

Najrýchlejšia cesta od tabule k fungujúcemu systému. Najbohatší ekosystém na Zemi pre dáta, strojové učenie a automatizáciu. Moderný Python — 3.12, uv, ruff, pydantic, FastAPI — je presný, typizovaný a dostatočne rýchly jazyk pre väčšinu toho, čo potrebujete.

Keď po ňom siahneme

  • Interné nástroje, prehľadové panely, administrátorské panely
  • ETL, dátové potrubia, Airflow / Dagster / Prefect
  • ML — trénovanie, poskytovanie, vyhodnocovanie
  • Automatizácie a integrácie s API dodávateľov
  • MVP, ktoré sa dodávajú v tomto štvrťroku, nie až budúci rok

Kompromisy, ktoré nebudeme ignorovať

  • Priepustnosť jedného jadra je 20–50× pomalšia ako v Rust
  • Vyššia pamäť na požiadavku — pre niektoré pracovné zaťaženia fatálne
  • Dynamické typovanie spôsobuje problémy bez prísneho mypy / pydantic
Rust, kde je chyba drahá. Python, kde je pomalé dodanie drahé. Jeden tím. Žiadne dogmy.
02 Od → K

Čo sa mení pri migrácii.

Vyberte východiskový jazyk. Sledujte dopad prechodu na Rust alebo Python. Čísla sú mediány z našich posledných 40 migračných projektov — bez marketingových rečí.

Rust vs Python vs C / C++

Reálne inžinierske výsledky v porovnaní s vybraným zdrojovým stackom.

Rust Python C / C++ baseline

Signály na úrovni stacku

Kvalitatívne inžinierske faktory, ktoré sú dôležité nad rámec čísel výkonu.

Sivá prerušovaná čiara zobrazuje vybraný zdrojový stack. Rust a Python sú merané voči tomuto základu — nie navzájom.

Ako tieto čísla meráme

Mediány z 40 dokončených migrácií v rokoch 2023 až 2026. Priepustnosť meraná na aplikačnej vrstve (end-to-end p50 pri realistickom zaťažení, nie mikrobenchmarky). Pamäť je RSS v ustálenom stave. Náklady sú mesačné výpočty na vyžiadanie na AWS/GCP, za inak rovnakých podmienok. Individuálne výsledky sa líšia — na vyžiadanie zverejňujeme aj tie, ktoré nešli podľa plánu.

03 Čísla bez hviezdičiek

Požiadaviek za sekundu pod reálnou záťažou.

Identická záťaž — validácia JSON → dotaz na Postgres → vykreslenie — meraná na jednom stroji AMD Ryzen 7. Nejde o mikrobenchmarky. Zdroj & metodika ↓

  1. 1 Rust · Axum
    21,030 req/s
  2. 2 C# .NET · ASP.NET Core
    14,707 req/s
  3. 3 Node.js · Fastify
    9,340 req/s
  4. 4 C++ · Drogon
    7,200 req/s
  5. 5 Go · Gin
    3,546 req/s
  6. 6 Python · FastAPI (Uvicorn)
    1,185 req/s
  7. 7 PHP · Laravel
    299 req/s

Čítajte to správne: Python je blízko dna tohto grafu — a to je v poriadku. FastAPI nepoužívame na horúcej ceste. Používame ho tam, kde 1 185 požiadaviek/s je už ~10× viac, ako záťaž potrebuje, a inžinierske hodiny sú cennejšie ako cykly CPU. Metodika: AMD Ryzen 7, Linux, Docker, jedna inštancia, jeden populárny framework na jazyk. Čísla sú priemery z viacerých behov.

05 Skutočné náklady na nefunkčný kód

Koľko vás vlastne stojí výpadok.

„Päť deviatok“ nie je marketing. Nižšie je uvedené, koľko stojí jedna hodina neplánovaného výpadku, podľa odvetvia — so zdrojmi. Vytvárame Rust tam, kde sa tieto čísla nachádzajú.

Náklady, ktoré vznikli od otvorenia tejto sekcie
Financie / zdravotníctvo 0 ~83 000 $/min · 5 miliónov $/hod
Automobilový priemysel 0 ~38 000 $/min · 2,3 mil. $/hod
Veľké podniky 0 23 750 $/min · 1,4 mil. $/hod.
Stredný podnik 0 ~5 000 $/min · 300 000 $/hod
Financie a zdravotníctvo 5 miliónov USD a viac za hodinu

Vertikálne trhy s najvyššou stávkou. Obchodné platformy, zúčtovacie systémy a klinické systémy môžu počas vážneho výpadku prekročiť 5 miliónov USD za hodinu — a to ešte pred započítaním akýchkoľvek nákladov na reguláciu alebo súdne spory.

Zdroj: Štúdia Gartner 2024 Fortune 500; ITIC 2024 Hodinové náklady na výpadok.
Výroba automobilov 2,3 milióna USD za hodinu

Zastavená výrobná linka spôsobuje stratu približne 640 USD za sekundu. Výpadok spoločnosti CrowdStrike v júli 2024 stál len spoločnosť Delta Air Lines 380 miliónov USD za päť dní.

Zdroj: Rozpis odvetví Erwood Group 2025; Postmortem Antithesis CrowdStrike.
Veľké podniky (priemer) 1,4 milióna USD za hodinu

Údaj spoločnosti BigPanda za rok 2024 pre veľké podniky: 23 750 USD za minútu. ITIC uvádza, že 41 % veľkých podnikov stráca medzi 1 a 5 miliónmi USD za hodinu výpadku.

Zdroj: Výskum spoločnosti BigPanda z roku 2024; 11. výročná správa ITIC o hodinových nákladoch na výpadok.
Global 2000 (Oxford Economics) 400 mld. USD/rok

Celkové skryté náklady na neplánované výpadky v 2 000 najväčších spoločnostiach sveta, podľa štúdie Oxford Economics z roku 2024 – v priemere 200 miliónov USD na spoločnosť, ak sa spočítajú tržby, produktivita a náklady na nápravu.

Zdroj: Oxford Economics 2024, „The Hidden Costs of Downtime“ (Skryté náklady výpadkov).
Stredné a veľké podniky (typická hodina) 300 000 USD a viac / hodina

Prieskum ITIC z roku 2024: viac ako 90 % stredných a veľkých podnikov v súčasnosti považuje jednu hodinu neplánovaného výpadku za prekročenie tejto hranice — bez započítania právnych, občianskoprávnych alebo regulačných sankcií.

Zdroj: Správa ITIC o hodinových nákladoch na výpadky z roku 2024.
Malé a stredné podniky (SMB) 25 000 – 150 000 USD/hodina

Spoločná štúdia ITIC / Calyptix z roku 2025 zistila, že mnohé malé a stredné podniky strácajú toľko za hodinu; spoločnosť Siemens uvádza, že malé a stredné podniky postihnuté výpadkami môžu zaznamenať straty až 150 000 USD/hod. Priemerná dĺžka výpadku je 87 minút.

Zdroj: ITIC + Calyptix 2025; Siemens True Cost of Downtime 2024.
06 Vybrané projekty

Tri projekty. Tri rôzne problémy.

Anonymizované tam, kde to vyžaduje dohoda o mlčanlivosti, konkrétne tam, kde to vyžadujú výsledky. Toto sú projekty, na ktoré by sme technického nákupcu upozornili ako prvé.

  1. Prípad 01 Python Databáza Kryptomeny GDPR

    Fintech dátový trezor: 4× menší, 5,5× rýchlejší, globálne kompatibilný.

    Klient prevádzkoval 1,8 TB Postgres cluster preplnený starými stĺpcami, nefunkčnými indexmi a inline šifrovanými BLOBmi, ktoré narastali sedem rokov. Kryptografia bežala na zastaranej knižnici, na ktorú upozornili tri samostatné audity. Riziko porušenia regulácií bolo reálne; audítori krúžili okolo.

    Čo sme urobili

    • Úplný audit schémy a využitia, odstránenie nepoužívaných stĺpcov a indexov, zavedenie správneho rozdelenia.
    • Migrácia kryptografického potrubia zo staršej knižnice na moderný, auditovaný AEAD stack s rotujúcimi kľúčmi.
    • Previesť šifrovanie BLOB-inline na šifrovanie s odkazom na obálku + vyhradený KMS.
    • Zosúladenie uchovávania údajov a tokov prístupu subjektov s GDPR, CCPA a APPI.
    Výsledok

    Rovnaké dáta, štvrtina nákladov na úložisko, 5,5-násobná priepustnosť a čistý zdravotný certifikát pre ďalšieho regulátora, ktorý zaklopal na dvere.

  2. Prípad 02 Rust C++ → Rust Bezpečnosť Ukladanie

    Služba v C++ prepísaná v Rust: viac ako 100 chýb triedy CVE odstránených za 9 týždňov.

    Služba na spracovanie súborov pre používateľov v C++, ktorá sa zrútila každých 4–5 dní a bola vždy opravená na mieste. Náš audit odhalil viac ako 100 skutočných chýb: cesty k odmietnutiu služby , pretečenie vyrovnávacej pamäte, neobmedzené spracovanie požiadaviek. Chyby 503 v špičke boli týždenným rituálom. Pokiaľ ide o úložisko, nahrané súbory používateľov sa nahromadili do močiaru duplicitných súborov, ktoré zapĺňali úložisko.

    Čo sme urobili

    • Kompletné prepísanie v Rust (axum + tokio) s prísnou validáciou vstupov a obmedzenými limitmi zdrojov.
    • Testy založené na vlastnostiach + cargo-fuzz nad každým parserom a hranicou formátu prenosu.
    • Úložná vrstva adresovaná podľa obsahu s deduplikáciou v čase zápisu.
    • Modro-zelené nasadenie v rámci 4-hodinového integračného okna, bez výpadkov.
    Výsledok

    Služba sa zmenila z „krehkej a týždenne opravovanej“ na „prestali sme sledovať pager“. Náklady na úložisko klesli vďaka deduplikácii, žiadosti o podporu týkajúce sa chýb a 503-iek vyschli a prepis sa zaplatil sám za štvrťrok.

  3. Prípad 03 Rust Python eBPF / XDP CRM · 4 000 používateľov

    Enterprise CRM, prestavané: 18 serverov → 5, zníženie nákladov o viac ako 60 %.

    Interný CRM slúži viac ako 4 000 používateľom v oblastiach IAM, SOC, centralizovaného protokolovania, chatu, zdieľania súborov, VoIP a end-to-end šifrovaných dát. Osemnásť serverov, Cloudflare na vrchole a účet za cloud, ktorý neustále rástol bez ohľadu na počet zamestnancov. Prebudovali sme hot path v Rust, ponechali Python na integračnej a reportovacej vrstve a umiestnili eBPF/XDP filter priamo pred vstup.

    Čo sme urobili

    • Služby Rust pre autentizáciu (IAM), zasielanie správ v reálnom čase, VoIP signalizáciu, prenos súborov.
    • Python pre administrátorské rozhrania, reporting, koreláciu udalostí SOC, integráciu s API dodávateľov.
    • Filtrovanie botov a zneužívania pomocou eBPF/XDP v jadre – nahradilo Cloudflare pre túto pracovnú záťaž.
    • Prepracovaný potrubie štruktúrovaného protokolovania na základe schémy zero-copy.
    Výsledok

    O trinásť serverov menej, žiadna položka Cloudflare, tím SOC vidí čistejší signál cez protokolovacie potrubie a finančný riaditeľ prestal klásť nepríjemné otázky o rozpočte na infraštruktúru.

07 Ako skutočne pracujeme

Nastavte parametre. Sledujte, ako sa mení plán.

Každý projekt vyvažuje rýchlosť, náklady a spoľahlivosť. Nižšie uvedený päťstupňový odhad je kalibrovaný podľa mediánov v odvetví (zistenie 2–6 týždňov, architektúra 1–4 týždne, implementácia 4–20 týždňov, zabezpečenie 2–8 týždňov, odovzdanie 1–2 týždne — podľa správy z rokov 2024–2026 od spoločností NIX United, Agilie, SOLTECH, OTG Lab). Posuňte posuvníky; plán sa prispôsobí v reálnom čase.

01

Objavovanie

3 týždne

Prečítajte si svoj kód, porozprávajte sa so svojimi operátormi, vymenujte neznáme faktory a vyberte jazyk pre každú komponentu.

  • Rozhovory s odborníkmi a audit kódu
  • Register rizík a ciele SLA
  • Rozhodnutie o jazyku pre každú službu
02

Architektúra

2 týždne

Zmluvy pred kódom. OpenAPI / protobuf, dátové modely, topológia nasadenia, kostry runbookov.

  • RFC pre každú verejnú zákazku
  • Dátový model + plán migrácie
  • Základná infraštruktúra ako kód
03

Implementácia

8 týždňov

Malé PR, CI zelená od prvého dňa, nasadenie pri každom zlúčení, kontrola druhým seniorom.

  • Rust: axum · tonic · sqlx
  • Python: FastAPI · Pydantic · SQLAlchemy
  • Týždenné ukážky + zoznam zmien
04

Zabezpečenie

3 týždne

Fuzzing, testy založené na vlastnostiach, záťažové testy s realistickým prevádzkovým zaťažením, model hrozieb.

  • cargo-fuzz · proptest · hypothesis
  • k6 záťažové testy viazané na SLO
  • Bezpečnostná kontrola a audit závislostí
05

Odovzdanie

1 týždeň

Runbooky, striedanie pohotovostných služieb, ADR a tím, ktorý to už raz dodal.

  • Runbooky + matica pohotovostných služieb
  • Protokol ADR a diagramy architektúry
  • 30-dňová podpora po spustení
08 Ten istý problém, dva jazyky

Ako vyzerá ten istý koncový bod v každom z nich.

Načítanie používateľa, overenie vstupu, uloženie do Postgresu, vrátenie JSON. Prepínanie medzi jazyky — oba sú skutočný kód, ktorý by sme skutočne dodali.

SQL_CREATE_USER = "insert into users(email,name) values(lower($1),$2) returning id,email,name"
Name = Annotated[str, StringConstraints(strip_whitespace=True, min_length=1, max_length=120)]

class UserIn(BaseModel):
    email: EmailStr
    name: Name

class UserOut(UserIn):
    id: int

@router.post("/users", response_model=UserOut, status_code=201)
async def create_user(u: UserIn) -> UserOut:
    try:
        row = await pool.fetchrow(SQL_CREATE_USER, str(u.email), u.name)
   except UniqueViolationError as exc:
        raise HTTPException(status_code=409, detail="email už existuje") from exc
    if row is None:
        raise HTTPException(status_code=500, detail="vloženie zlyhalo")
    return UserOut.model_validate(dict(row))
#[derive(Deserialize, Validate)]
#[serde(deny_unknown_fields)]
pub struct UserIn {
    #[validate(email)]
    pub email: String,
    #[validate(custom(function = "valid_name"))]
    pub name: String,
}

pub async fn create_user(
    State(pool): State<PgPool>,
    ValidatedJson(u): ValidatedJson<UserIn>,
) -> Result<(StatusCode, Json<UserOut>), ApiError> {
   let user = sqlx::query_as!(UserOut,
        "insert into users(email,name) values(lower($1),$2) returning id,email,name",
        u.email.as_str(),
        u.name.trim(),
    )
    .fetch_one(&pool)
    .await
    .map_err(ApiError::from_db)?;

    Ok((StatusCode::CREATED, Json(user)))
}
Počet riadkov kódu
16 22
Priepustnosť
1 185 požiadaviek/s 21 030 požiadaviek/s
Latentnosť p50
21,0 ms 1,6 ms
RAM v kľude
41,2 MB 8,5 MB
Odpovieme do 1 pracovného dňa. Bez žartov.

Prečítali ste celú stránku.
Pustime sa do toho.

Povedzte nám, čo vám na vašom staku nevyhovuje, alebo čo chcete vytvoriť od nuly. Dostanete skutočný technický názor – nie predajnú prezentáciu.

  • Žiadni začínajúci inžinieri. Žiadne offshoring.
  • Možnosti s pevnou cenou na ohraničené práce.
  • Podpísanie dohody o mlčanlivosti ešte predtým, ako vás o niečo požiadame.