Enterprise case: TCO scénáře pro Java runtime (Oracle vs OpenJDK/Azul) na typické organizaci
Tento článek ukazuje modelový enterprise příklad a metodiku výpočtu, aby bylo zřejmé, jak se skládá TCO (Total Cost of Ownership) při rozhodování mezi:
- Scénář A: Oracle Java subscription (Oracle-only)
- Scénář B: Standardizace na OpenJDK distribuci (např. Azul/Temurin) + enterprise support
- Scénář C: Hybrid (Oracle jen pro vybrané systémy, zbytek OpenJDK)
Cílem není tvrdit „jediné správné číslo“, ale ukázat strukturu nákladů, co do nich patří a jak scénáře porovnávat ve stejném rámci.
TL;DR (modelové výsledky)
- TCO rok 1: A = 11 220 000 Kč, B = 5 400 000 Kč, C = 8 044 000 Kč
- TCO rok 2+: A = 9 924 000 Kč, B = 4 104 000 Kč, C = 6 424 000 Kč
1) Modelová organizace (typický enterprise profil)
Základní parametry
- Zaměstnanci: E = 2 000
- IT / vývojové týmy: T = 12
- Produkční Java workloady: J = 180
(mikroslužby, integrační služby, batch joby, pár monolitů) - CI/build agenti: B = 60
(Jenkins/Gitea/GitHub/… + build farm) - Aktuální Java verze v prostředí:
- Oracle JDK 8: 40 workloadů
- Java 11: 90 workloadů
- Java 17: 50 workloadů
- Kontejnery: většina workloadů běží v kontejnerech; část na VM.
Interní nákladové konstanty (zjednodušené)
- Průměrná interní cena práce: H = 1 200 Kč / hod
(mzda + odvody + režie + nástroje; orientačně) - Patch cadence: měsíční (security) + kvartální stabilizační okno
2) Co do TCO zahrnujeme (minimální sada)
Aby porovnání dávalo smysl, počítáme:
- Subscription / support (vendor)
- Patch management (testování + rollout + incidentní rezerva)
- Governance a standardizace (runtime policy, CI/CD, image policy, dokumentace)
- Riziko auditu / compliance (modelovaný očekávaný dopad)
- Migrace (jednorázové náklady – pilot + rollout)
3) Výpočetní šablona (přenositelné do reality)
Budeme používat položky:
C_support= náklady na subscription/support (roční)C_patch= interní náklady patchování (roční)C_gov= interní governance náklady (roční)C_risk= očekávaná roční hodnota rizika (Expected Loss)C_mig= jednorázové migrační náklady (v roce 1)
Výsledné vzorce:
- TCO (rok 1) =
C_support + C_patch + C_gov + C_risk + C_mig - TCO (rok 2+) =
C_support + C_patch + C_gov + C_risk
4) Patch management: ukázkový výpočet
Předpoklady (model)
- Měsíčně 1 release okno (security update)
- Pro každé okno:
- příprava a validace: 10 hodin
- testy + staging: 30 hodin
- rollout + ověření: 20 hodin
- Celkem: 60 hodin / měsíc pro „runtime program“
Pokud je prostředí roztříštěné (více vendorů/verzí), čas roste. Zavedeme koeficient složitosti:
K_complexity = 1.0(standardizované prostředí)K_complexity = 1.5(hybrid)K_complexity = 2.0(roztříštěné, mnoho výjimek)
Výpočet:
C_patch = 12 * 60h * H * K_complexity
Pro H = 1 200 Kč:
- Standard:
12 * 60 * 1200 * 1.0 = 864 000 Kč / rok - Hybrid:
12 * 60 * 1200 * 1.5 = 1 296 000 Kč / rok - Roztříštěné:
12 * 60 * 1200 * 2.0 = 1 728 000 Kč / rok
5) Governance: ukázkový výpočet (policy, CI/CD, image governance)
Minimální governance program (roční provoz)
- Runtime standard (approved list, pravidla): 60 h / rok
- CI/CD hardening (build images, pinned digests, SBOM): 120 h / rok
- Evidence + auditní podklady + reporting: 80 h / rok
- Interní školení a komunikace: 40 h / rok
Celkem: 300 h / rok
C_gov = 300h * H = 360 000 Kč / rok
U hybridu přidejme 30 % (více výjimek):
C_gov_hybrid = 468 000 Kč / rok
6) Riziko auditu / compliance: jednoduchý model Expected Loss
Zavedeme:
P_audit= pravděpodobnost auditu (ročně)Impact= očekávaný dopad (právní + finanční + interní náklady)
Modelový enterprise odhad:
Impact = 4 000 000 Kč
(interní kapacity, právní podpora, přerušení práce, narovnání)
Pravděpodobnosti:
- Scénář A (Oracle-only, formálně pokryté):
P_audit = 5 % - Scénář B (OpenJDK standard, eliminace Oracle instalací):
P_audit = 2 % - Scénář C (Hybrid, riziko výjimek):
P_audit = 4 %
Výpočet:
C_risk = P_audit * Impact
Výsledky:
- A:
0.05 * 4 000 000 = 200 000 Kč / rok - B:
0.02 * 4 000 000 = 80 000 Kč / rok - C:
0.04 * 4 000 000 = 160 000 Kč / rok
V reálu se
ImpactiP_auditliší. Smysl je porovnat scénáře v jednom konzistentním rámci.
7) Support/subscription: demonstrace bez reálných ceníků
Ceníky a metriky se mění, proto použijeme modelové (demonstrativní) částky.
Předpoklad modelových ročních nákladů:
- Scénář A (Oracle Java subscription):
C_support_A = 8 500 000 Kč / rok - Scénář B (OpenJDK + enterprise support):
C_support_B = 2 800 000 Kč / rok - Scénář C (Hybrid):
C_support_C = 4 500 000 Kč / rok
V praxi se částky odvíjí od licenční metriky, rozsahu podpory, SLA a vyjednaných podmínek.
8) Migrace (rok 1): pilot + rollout
Jednorázový program (model):
- Discovery + klasifikace: 120 h
- Pilot (3 aplikace): 240 h
- Rollout ve vlnách (180 workloadů): 600 h
- Stabilizace + runbooky: 120 h
Celkem: 1 080 h
C_mig = 1 080h * 1 200 Kč = 1 296 000 Kč
U hybridu bývá složitější (více výjimek): +25 %
C_mig_hybrid = 1 620 000 Kč
9) Shrnutí: TCO tabulka (modelový příklad)
Roční provozní položky
C_patch:- A (Oracle-only): 864 000
- B (OpenJDK): 864 000
- C (Hybrid): 1 296 000
C_gov:- A: 360 000
- B: 360 000
- C: 468 000
C_risk:- A: 200 000
- B: 80 000
- C: 160 000
C_support:- A: 8 500 000
- B: 2 800 000
- C: 4 500 000
Výpočet TCO
TCO (rok 1) = support + patch + gov + risk + migrace
-
A (Oracle-only)
- rok 1: 8 500 000 + 864 000 + 360 000 + 200 000 + 1 296 000
= 11 220 000 Kč - rok 2+: 8 500 000 + 864 000 + 360 000 + 200 000
= 9 924 000 Kč
- rok 1: 8 500 000 + 864 000 + 360 000 + 200 000 + 1 296 000
-
B (OpenJDK standard)
- rok 1: 2 800 000 + 864 000 + 360 000 + 80 000 + 1 296 000
= 5 400 000 Kč - rok 2+: 2 800 000 + 864 000 + 360 000 + 80 000
= 4 104 000 Kč
- rok 1: 2 800 000 + 864 000 + 360 000 + 80 000 + 1 296 000
-
C (Hybrid)
- rok 1: 4 500 000 + 1 296 000 + 468 000 + 160 000 + 1 620 000
= 8 044 000 Kč - rok 2+: 4 500 000 + 1 296 000 + 468 000 + 160 000
= 6 424 000 Kč
- rok 1: 4 500 000 + 1 296 000 + 468 000 + 160 000 + 1 620 000
10) Interpretace výsledků
- OpenJDK standard (B) má nejnižší TCO dlouhodobě a nejrychlejší návratnost migrace.
- Hybrid (C) je kompromis: dražší než čistý OpenJDK standard, ale realistický při legacy závazcích.
- Oracle-only (A) je nejdražší, ale může dávat smysl, pokud máte specifické smluvní důvody nebo velmi silně vyjednané podmínky.
11) Doporučený postup pro reálnou firmu (checklist)
- Discovery: zjistit, kde reálně běží Oracle JDK vs OpenJDK
- Klasifikace: produkce / CI / desktop / test
- Návrh scénářů: A/B/C + metriky a výjimky
- Pilot: 3 aplikace různého typu
- Standardizace: LTS verze + runtime policy + CI hardening
- Rollout: vlny podle kritičnosti
- Provoz: patch cadence + reporting + auditní připravenost
