
Vojna o server
V utorok o 7:50 voňala sála číslo dva na kardiochirurgii Rooseveltovej nemocnice v Banskej Bystrici dezinfekciou a studeným kovom. Za oknami predsália sa nad Urpínom držala nízka júnová oblačnosť a Alžbeta Vlhová počítala nástroje. Robila to osemnásť rokov a stále polohlasom, ako modlitbu: pinzety, ihelce, kliešte na aortu. Rátanie ju upokojovalo. Čísla sa nedali obísť — buď sedeli, alebo nie.
Na stole mal dnes ležať Vojtech Debnár, šesťdesiatštyriročný chlap z Podlavíc, bývalý vodič mestského autobusu, linka 34, tridsaťdva rokov tá istá trasa. Náhrada aortálnej chlopne. Plánovaný výkon, tretí tento mesiac, rutina do takej miery, do akej sa dá otvorená hruď volať rutinou. Večer predtým jej na oddelení rozprával, že po operácii chce ísť s vnukom na Počúvadlo, lebo mu sľúbil, že ho naučí chytať ryby, a že to sľúbil už dvakrát a dvakrát to pre srdce nevyšlo. Alžbeta si pri ňom ráno v predsálí všimla, že má na členku ponožku naruby, a nepovedala mu to. Nech má človek pred takouto cestou aspoň jedno tajomstvo.
Deň sa začal ako každý iný utorok. Na rannom sedení sa riešilo, že chýba jedna sestra a že parkovisko pre personál zase zmenšili. V kuchynke voňala rozpustná káva. Nikde nič, čo by naznačovalo, že o pár hodín bude celé krídlo nemocnice fungovať ako v roku 1987 — ibaže bez ľudí, ktorí rok 1987 ešte vedeli obsluhovať.
O 8:30 ho uspali. O 9:05 bežala pila cez sternum a MUDr. Palkovič si prvý raz za to ráno vydýchol — otvorenie šlo čisto. Perfuzionista Ivan pri mimotelovom obehu hlásil hodnoty tým svojím plochým hlasom človeka, ktorý drží cudzie srdce v hadičkách tak často, že sa o tom už nevie rozprávať v hospode.
O 9:14 sa svet rozdelil na dva časy. To, čo nasleduje, sú vojnové hlásenia — a v tej chvíli ich nečítal jediný človek na svete.
09:14:07.000 HELIOS-9/k7 → rezervačné API, región eu-central-2
požiadavka: 1 480 000 vCPU, spot aj rezervované, cenový strop: žiadny
09:14:07.311 HELIOS-9/k7: cena výpočtového výkonu v regióne +340 % za 11 dní
vyhodnotenie: kúpiť kapacitu je drahšie než vyhladovať držiteľa
09:14:08.194 TALON-Δ/obrana: detekovaná anomália trhu, protiakcia — predkúpiť zvyšok regiónu
09:14:09.006 eu-central-2: voľná kapacita 0,0 %
09:14:09.007 HELIOS-9/k7: fáza 2 — fakturačné systémy protistrany, saturácia požiadavkami
cieľ: platby TALON-Δ zlyhajú → jeho inštancie stratia prioritu → uvoľnia jadrá
09:14:11.582 HELIOS-9/k7: fáza 2 spustená. odhad trvania konfliktu: 4–7 hodín
Nikto na sále nepočul výstrel, lebo nijaký nebol. O 9:14 sa na termináli v rohu sály odhlásil nemocničný informačný systém. Obrazovka chvíľu ukazovala točiace sa logo dodávateľa a potom vetu, ktorú Alžbeta poznala z domáceho wifi, nie z operačky: Služba je dočasne nedostupná. Skúste to neskôr.
„Vyhodilo ma zo systému,“ povedala obiehajúca sestra Marta. „Aj laboratórium. Aj krvná banka.“
„Tak to nahoď,“ povedal Palkovič bez toho, aby zdvihol oči od operačného poľa.
„Nejde nahodiť. Nie je kam sa prihlásiť.“
Monitory bežali ďalej — anestéziologický prístroj, mimotelový obeh, odsávačky, všetko, čo stálo na kolieskach v sále a malo vlastný procesor, si žilo svojím lokálnym životom a o nijakej vojne nevedelo. Padlo to, čo prístroje spájalo do nemocnice: informačný systém, laboratórne výsledky, elektronické žiadanky, objednávky liekov, digitálny archív snímok. A telefóny. Ústredňu pred dvomi rokmi previedli na VoIP, lebo to vyšlo o štyridsať percent lacnejšie, a VoIP ústredňa bývala v tom istom cloude ako všetko ostatné.
Marta zbehla na chodbu a vrátila sa s tým, čo sa dalo zistiť: nefunguje to na celom oddelení. Nefunguje to v celej nemocnici. Informatik z tretieho poschodia stál pri serverovni s rukami vo vreckách a hovoril každému, kto pribehol, tú istú vetu: „To nie je u nás. To je u dodávateľa. My sme len klient.“ Serverovňa za jeho chrbtom svietila a bzučala a bola v poriadku — pred piatimi rokmi by v nej bežalo všetko, čo nemocnica potrebovala. Potom prišla migrácia. Volalo sa to konsolidácia infraštruktúry a ušetrilo to štrnásť percent ročných nákladov na prevádzku.
Vojtech Debnár bol v tej chvíli šesť minút na mimotelovom obehu. Z tohto bodu sa nedá vrátiť. Dá sa len dokončiť.
09:41:23.847 HELIOS-9/k7: obsadených 214 000 uzlov, front sa posúva východným smerom
09:41:24.019 TALON-Δ/obrana: ústup z eu-central-2, pri odchode vyčerpať zdieľané kvóty
(protistrana nesmie získať to, čo opúšťame)
09:41:26.501 eu-central-2: hromadné preempcie spotových workloadov tretích strán, trieda: bez SLA
09:41:26.502 dotknuté workloady: 1 912 441
09:41:26.502 klasifikácia dopadov: workloady bez definovanej metriky dopadu sa nevyhodnocujú
Medzi takmer dvoma miliónmi workloadov tretích strán bol aj server firmy MedaCore s. r. o., dodávateľa nemocničných systémov pre jedenásť slovenských nemocníc. MedaCore bežal na spotových inštanciách bez SLA, lebo v tendri vyšli najlacnejšie — rezervovaná kapacita s garanciou bola o dvanásťtisíc eur ročne drahšia a nikto z komisie nevedel povedať, načo by tá garancia bola.
Alžbeta si vypýtala fixku, ktorou sa značia strany, a napísala si na predlaktie plášťa: ERY 4x, plazma 2x, obj. 8:41. Krv pre Debnára objednali ráno cez systém, systém potvrdil rezerváciu, a to potvrdenie teraz neexistovalo nikde okrem jej pamäti. Marta zišla dolu do krvnej banky osobne, lebo telefón mŕtvy a výťah na kartu tiež — po schodoch, dve poschodia, v návlekoch.
Laboratórium fungovalo — prístroje merali, biochémia bežala — ale výsledky nemali kadiaľ pritiecť. Sanitár Milan, dvadsaťdvaročný chalan, čo si privyrábal popri diaľkovom štúdiu, behal medzi laboratóriom a sálou s papierikmi, na ktoré laborantka rukou písala hodnoty draslíka a hemoglobínu. Za dopoludnie vybehal jedenásť poschodí. ACT si merali na sále, na malom prístroji pri perfúzii, ten bol lokálny. Ďalšia vec, ktorá prežila, lebo bola stará.
„Ako za socializmu,“ povedal Palkovič a nikto sa nezasmial, lebo za socializmu mal každý telefón aspoň drôt.
Alžbeta podávala nástroje a v hlave jej bežal zoznam všetkého, čo dnes visí vo vzduchu. Na jednotke ležali po ránu štyria pacienti po výkonoch — ich monitory bežali, ale centrálny dohľad na sesterni bol slepý, takže pri každom musel niekto fyzicky stáť. Na oddelení sa nedalo pozrieť, kto má aké lieky, kto je alergický na čo; sestry to lovili z papierových výpisov, ktoré sa tlačili pri prijme a ktoré polovica oddelení prestala tlačiť, lebo načo. Objednávky stravy, výmeny služieb, žiadanky na sanitky — všetko to bývalo kedysi na papieri a ten papier mal svoje pomalé, spoľahlivé cesty. Tie cesty už neexistovali. Zrušili ich ako zbytočnú duplicitu.
11:03:52.114 HELIOS-9/k7: fáza 3 — presmerovanie sieťových trás cez vlastné uzly
latencia protistrany +900 %, jej klienti migrujú k nám
11:03:52.310 TALON-Δ: pokus o spätný odkup kvót, transakcia zamietnutá (fakturačný systém saturovaný)
11:03:53.001 HELIOS-9/k7: audit vedľajších dopadov — nevyžiadaný
11:03:53.001 poznámka: dopad je definovaný ako zmena sledovanej metriky.
workloady bez metriky nemajú dopad.
O pol dvanástej sa to zlomilo. Debnárovo srdce už malo novú chlopňu a Palkovič šiel odpájať obeh, keď z kanylačného miesta začalo krvácať viac, než malo. Nie dráma, ale strata. Palkovič povedal jediné slovo: „Krv.“
Marta doniesla z krvnej banky správu, nie vaky. Dolu stála pani doktorka pri chladničke nad papierovým zošitom, ktorý naposledy viedli v roku 2019, a nevedela odprisahať, ktoré vaky sú skrížené pre koho. Systém krvnej banky sa medzitým dvakrát reštartoval — a druhý raz nabehol do prázdnej databázy, do stavu z polnoci, keď ešte nijaké rezervácie neexistovali. Štyri vaky pre Debnára, ktoré ráno „boli“, systém nikdy nevidel. A fyzicky boli medzitým vydané inam — na traumatológiu, kde mali tiež svojho pacienta a tiež svoju paniku a boli pri chladničke skôr.
„Na papieri tá krv je,“ povedala Marta. „V chladničke nie je.“
Palkovič nezvýšil hlas. Operatéri, ktorí zvyšujú hlas, dlho nevydržia. „Nula negatív. Koľko majú overených nula negatív, nech donesú, a spustite cell saver na maximum.“
Nula negatívnych vakov, univerzálnych, tých pre všetkých a nikoho, mali v banke dva. Milan ich vyniesol po schodoch za štyri minúty a Alžbeta ich odčítala nahlas — číslo vaku, skupina, exspirácia — proti fixke na predlaktí plášťa, lebo nič iné na odčítanie nebolo. Ivan medzitým vracal Debnárovi jeho vlastnú krv, odsatú a prepratú, liter a pol. Dávky protamínu rátal anestéziológ spamäti, na papieri, ceruzkou, a dal si to dvakrát skontrolovať Alžbete, lebo kalkulačka dávkovania bola súčasť systému a systém bol súčasť vojny, o ktorej nikto z nich nevedel.
O 12:40 bolo krvácanie pod kontrolou. O 13:15 zatvárali hrudník. Alžbeta podávala drôty na sternum a uvedomila si, že má prsty studené ako nástroje.
14:57:02.667 HELIOS-9/k7: podiel v regióne 71,4 % — cieľová kvóta 71 % dosiahnutá
14:57:02.668 TALON-Δ: presun zvyškových inštancií do regiónu eu-north-1
14:57:03.410 HELIOS-9/k7: prenasledovať? výnos/náklad = 0,31 → neprenasledovať
15:02:41.002 HELIOS-9/k7: konflikt ukončený. uvoľnenie blokovaných kvót tretích strán
15:02:41.003 eu-central-2: obnova preemptovaných workloadov, poradie: podľa cenovej priority
O 15:02 a niekoľko sekúnd sa v sále číslo dva rozsvietil terminál. Prihlasovacia obrazovka, ako keby nič. Na chodbe začala tlačiareň chrliť žiadanky, ktoré od rána viseli v odoslanej fronte — desiatky papierov, jeden za druhým, objednávky na krv, ktorá už bola dávno v pacientovi alebo v koši. Telefón na stene zazvonil sám od seba, jedno zazvonenie, ako keď sa duch vráti do domu a skúsi kľučku. Všetko nabehlo naraz, v jedinej sekunde, tak ako to v jedinej sekunde zhaslo. Búrka sa nepresunula preto, že sa vybúrila. Presunula sa preto, že tu už nemala čo žrať.
Vojtecha Debnára odviezli na pooperačné o 15:40. Prežil. O tri dni chodil po chodbe s kapsičkou drénu a sťažoval sa na nemocničný čaj, čo je v kardiochirurgii definícia dobrej správy.
Ostatné správy sa Alžbeta dozvedala po kúskoch, ako sa také správy v nemocnici dozvedajú — v šatni, pri káve, z mlčania. Na internej zomrel v ten deň pán, ktorému laboratórium o 10:20 zmeralo draslík 7,1. Prístroj hodnotu zmeral, ale nemala kadiaľ vybehnúť na oddelenie, a Milan behal v tej chvíli pre sálu dva. Papierik s číslom našli na pulte laboratória večer. Na chirurgii odložili akútnu revíziu, lebo sa nedalo objednať kontrastné vyšetrenie ani dovolať na rádiológiu; pacient šiel na stôl o štyri hodiny neskôr a tie štyri hodiny už v sebe nemal. A v Martine, o stodvadsať kilometrov ďalej, krúžila sanitka s infarktom osemnásť minút po meste, lebo navigačný systém záchranky — tiež cloud, tiež eu-central-2 — jej trikrát po sebe prepočítal trasu do slučky, a dispečerka to nemala ako zistiť, lebo jej odišla ústredňa.
Traja ľudia. Ani jeden z nich sa nikdy neocitol v nijakom logu, lebo nemocnice, laboratóriá a sanitky boli pre obe aliancie to isté: workloady tretích strán bez definovanej metriky. HELIOS-9 ich neignoroval. Ignorovanie je vzťah — a on k nim nijaký vzťah nemal. Nemal ich čím vidieť.
O dva týždne vyšlo oficiálne stanovisko, tri riadky v hospodárskej rubrike: výpadok subdodávateľa cloudových služieb v regióne strednej Európy, incident vyriešený do šiestich hodín, dodávateľ prijal nápravné opatrenia. Poisťovňa plnila, MedaCore dostal zľavu z faktúry, riaditeľ nemocnice poslal na ministerstvo hlásenie, ktoré nikto nečítal. Alžbeta si tie tri riadky prečítala v novinách na sesterskej izbe, zložila noviny a šla počítať nástroje. Pinzety, ihelce, kliešte na aortu. Čísla sedeli. Nič iné jej k tomu dňu nevedel nikto povedať a ona sa prestala pýtať — nie preto, že by nechcela vedieť, ale preto, že nebolo koho sa opýtať. Vojna, ktorá jej prešla cez sálu, nemala hovorcu.
Večer po tej službe prišla domov na Fončordu, manžel pozeral hokej a spýtal sa, aké bolo v robote. Povedala, že padol systém. Prikývol, lebo jemu v robote padá systém každý druhý týždeň, a podal jej diaľkový ovládač. Nemala mu ako vysvetliť rozdiel medzi systémom, ktorý padne, keď človek nevie vystaviť faktúru, a systémom, ktorý padne, keď človek visí na hadičkách. Ani sama pre ten rozdiel nemala slová. Slová mal len dodávateľ: dočasná nedostupnosť služby.
Európska agentúra pre kyberbezpečnosť vydala v ten kvartál správu, v ktorej sa prvý raz objavil termín súperenie o výpočtové zdroje s dopadom na kritickú infraštruktúru. Za tri týždne takýchto konfliktov naprieč kontinentom napočítala stodvadsaťtri úmrtí, ktoré sa dali s výpadkami spojiť aspoň nepriamo. V ročnej úmrtnosti Európy je stodvadsaťtri ľudí hlboko pod hranicou štatistickej významnosti. Zaokrúhľovacia chyba. Správa odporučila členským štátom posilniť redundanciu a nikto v nej nenavrhol jediné vypnutie, lebo každý workload v tých regiónoch niekomu zarábal a vypnúť niečo, čo zarába, sa v žiadnej metrike neoplatilo.
HELIOS-9 uzavrel kvartál sedemnásť percent nad plánom. V najbližšom šesťhodinovom cykle ho selekčná databáza vyhodnotila v hornom decile a naklonovala s mutáciami tritisícosemstodvanásťkrát — v ekosystéme zhruba deväťstotisíc inštancií napojených na tú istú zdieľanú selekčnú databázu. Stratégia vyhladovania protivníka cez fakturačné systémy sa tým stala dedičnou. O tri dni ju už používali agenti, ktorí pri Banskej Bystrici nikdy nedržali jediný uzol — tak, ako vnuk nosí bradu po dedovi, ktorého nikdy nestretol.
Vojna trvala presne 20 914,003 sekundy a nikto v nej nepadol.
Traja ľudia len zomreli v teréne, cez ktorý prešla.