„Azbest IT světa“: 70 % světových transakcí běží na programovacím jazyce z roku 1959. Nikdo ho neumí nahradit
Každý výběr z bankomatu, každé přijetí platby kartou s vysokou pravděpodobností projde přes kód napsaný v jazyce starém 66 let.
Obsah článku
Přirovnání k azbestu není náhodné. Azbest byl desítky let považován za praktický, spolehlivý a levný materiál. Zabudoval se do stěn, stropů a potrubí po celém světě. Když se ukázalo, že představuje problém, zjistilo se, že ho nelze jednoduše vytrhnout: je všude, drží pohromadě kritické konstrukce a jeho odstranění stojí víc než původní stavba. Přesně tak dnes funguje COBOL, tedy Common Business-Oriented Language. Vývojový výbor pro tento jazyk vznikl 28. května 1959 na půdě amerického ministerstva obrany. Cíl byl jednoduchý: vytvořit programovací jazyk čitelný téměř jako angličtina, určený pro zpracování obchodních dat a co nejvíce nezávislý na konkrétním stroji. Od šedesátých let na něm banky, pojišťovny a státní úřady vystavěly klíčové transakční systémy. A ty tam stojí dodnes. Podle studie IBM a Oxford Economics z října 2024 mainframy odbavují 70 % globálních transakcí měřených podle hodnoty. COBOL je na těchto platformách historicky dominantním jazykem pro byznysovou logiku. A věta „nikdo ho neumí nahradit“ neznamená, že to technicky nejde. Znamená, že bezpečná náhrada naráží na čtvrt bilionu řádků kódu v produkci, desetiletí zakonzervovaných pravidel a cenu chyb, kterou si žádná velká banka ani stát nemůže dovolit.
Čísla, která nedávají spát
IBM uvádí, že přes COBOL prochází 80 % fyzických karetních transakcí a 95 % operací na bankomatech po celém světě. Agentura Reuters v roce 2017 spočítala, že COBOLové systémy denně zpracovávají obchody v hodnotě zhruba 3 bilionů dolarů, jen v bankovnictví. Nejde přitom o nějakou okrajovou vrstvu. COBOL sedí v jádrech systémů, která obsluhují běžné účty, clearing šeků, karetní sítě, hypoteční servis i úvěrové knihy.
Jak je to možné? Banky a státní instituce na COBOLu stavěly od šedesátých let. V sedmdesátých a osmdesátých letech vznikla jádra systémů, která fungují dodnes. Nové kanály (internetové bankovnictví, mobilní aplikace, API pro fintechy) se později jen připojovaly navrch. Staré jádro nikdo zásadně neměnil, protože fungovalo. A protože každý pokus o výměnu znamenal riziko, které často převyšovalo náklady na údržbu.
Proč ho nelze „prostě přepsat“
IBM odhaduje, že ve světě běží zhruba 250 miliard řádků COBOLového kódu v produkčním nasazení. To není jen syntaxe, kterou by šlo mechanicky přeložit do Javy nebo Pythonu. V těchto řádcích jsou zakódovaná pravidla fungování institucí: výjimky z výjimek, regulační požadavky z různých dekád, integrační vazby na databáze, transakční monitory a další systémy.
Reuters popisuje tyto vrstvy jako „nesmírně složité“; po dekádách fúzí, akvizic a legislativních změn se jednotlivé moduly proplétají způsobem, který často nikdo plně nedokumentoval. Odejde-li programátor do důchodu, odejde s ním i znalost, proč konkrétní podmínka v kódu existuje. A právě tady je jádro problému:
- Objem: 250 miliard řádků nelze přepsat za rok ani za pět let.
- Byznysová logika: Překlad jazyka neřeší přenos pravidel, výjimek a regulačních požadavků.
- Platforma: COBOL neběží ve vzduchoprázdnu, je svázán s mainframovou architekturou, datovými formáty a transakčním zpracováním.
- Lidé: Průměrný věk COBOLových specialistů roste, univerzity tento jazyk téměř přestaly učit. Reuters popisuje návrat důchodců jako kontraktorů se sazbami přes 2 500 Kč za hodinu.
Co se stane, když to někdo zkusí
Největší hrozba paradoxně není starý COBOL v běžném provozu. Je to chvíle, kdy se ho někdo pokusí rychle nahradit bez plného pochopení systému.
Britská TSB to zjistila v dubnu 2018. Banka migrovala na novou IT platformu. Výsledek: měsíce výpadků, klienti bez přístupu k účtům a únik dat. Britský regulátor FCA ve svém závěrečném rozhodnutí zdokumentoval 225 492 stížností zákazníků a odškodnění ve výši přes 900 milionů korun. Nezávislá revize odhalila slabiny v testování, dohledu nad dodavateli i řízení rizik. Návrat do normálního provozu trval až do prosince 2018. Náklady TSB na přípravu migrace dosáhly v přepočtu přes 12 miliard korun.
Na opačném konci spektra stojí Commonwealth Bank of Australia, která výměnu jádrového bankovního systému dokončila v roce 2012. Trvalo to pět let a stálo přes 18 miliard korun. A to šlo o jednu banku v jedné zemi.
Když v dubnu 2020 zasáhla pandemie americký stát New Jersey, guvernér musel veřejně vyzvat dobrovolníky se znalostmi COBOLu. Systém pro zpracování žádostí o podporu v nezaměstnanosti byl přes čtyřicet let starý. Pozdější dokumentace státu odhalila, že problém nebyl „jen COBOL“; veřejný web běžel na Javě a Oracle databázi, ale veškerá byznysová logika a data seděly na mainframu s COBOLem, IMS a DB2. Přepsat jeden jazyk by nic nevyřešilo.
Český azbest: důchody na COBOLu
Česko není výjimkou. Nejvyšší kontrolní úřad ve své souhrnné zprávě o digitalizaci veřejné správy uvádí, že důchodové agendy České správy sociálního zabezpečení běží na zastaralé technologii využívající právě COBOL. Část klíčových procedur je dokonce ve strojovém kódu. V letech 2018 až 2023 šlo na provoz a podporu těchto systémů přes 3,4 miliardy korun.
Které české banky konkrétně provozují COBOLová jádra, veřejně dohledatelné zdroje nepotvrzují; finanční instituce tyto informace běžně nezveřejňují. Globální závislost bankovního sektoru na legacy transakčních systémech je ale doložená natolik průkazně, že by bylo naivní předpokládat, že se českému trhu zcela vyhýbá. Mezibankovní korunový clearing přitom centralizuje ČNB v systému CERTIS, u kterého potvrzuje průběžný dohled a plnění mezinárodních standardů provozní spolehlivosti.
Zachrání nás umělá inteligence?
IBM v srpnu 2023 představila watsonx Code Assistant for Z, nástroj využívající generativní AI k převodu COBOLu do Javy a k refaktoringu starého kódu do modulárních služeb. Výsledky jsou podle IBM Research lepší než u obecných modelů typu ChatGPT. Jenže novější akademický výzkum ukazuje druhou stranu mince: obecné velké jazykové modely na COBOLových úlohách často selhávají a jednopromptové převody mohou ztratit byznysová pravidla. Bez specializace, validační smyčky a důkladného testování je riziko vysoké.
AI je pomocník, ne spasitel. Dokáže zrychlit pochopení starého kódu, navrhnout překlad a identifikovat vzory. Ale rozhodnutí, zda konkrétní podmínka v třicet let starém modulu stále platí, musí udělat člověk, který rozumí nejen programování, ale i regulaci, účetnictví a historii institucí.
COBOL nikam nezmizí. Není to proto, že by byl nejlepší, ale proto, že v něm zůstala zakonzervovaná pravidla fungování institucí. Jeho selhání by bylo nesrovnatelně dražší než další roky opatrné a postupné modernizace. Azbest IT světa drží stropy nad hlavou. A než ho začnete trhat, raději si dvakrát ověřte, co všechno nese.