Čím nahradit Oracle Java Runtime Environment

 

Oracle Java už dávno není jedinou možností pro provoz Java aplikací. Mezi nejznámější bezplatné alternativy založené na OpenJDK patří Eclipse Temurin, Amazon Corretto, Microsoft Build of OpenJDK a Azul Zulu. Podívejme se, jaké jsou mezi nimi rozdíly a čím lze dnes nahradit klasické Oracle Java Runtime Environment.

Java Runtime Environment (JRE) bylo dlouhé roky prakticky synonymem pro prostředí Oracle Java nainstalované v počítači. Dnes je ale situace výrazně odlišná. Java je postavena na otevřeném projektu OpenJDK a vlastní kompatibilní distribuce Javy nabízí několik velkých společností a organizací.

Navíc se postupně změnil i samotný způsob distribuce Javy. Oracle od Java 11 již nenabízí samostatný JRE ke stažení a u moderních verzí se proto častěji setkáme s instalací celého JDK nebo s runtime prostředím vytvořeným přímo pro konkrétní aplikaci. Označení „JRE“ se přesto stále běžně používá pro prostředí potřebné ke spuštění Java aplikací.

Eclipse Temurin

Eclipse Temurin patří mezi nejrozšířenější obecné distribuce OpenJDK. Vzniká v rámci projektu Eclipse Adoptium pod Eclipse Foundation a navazuje na dřívější projekt AdoptOpenJDK.

Temurin je zdarma, open source a dostupný pro Windows, Linux i macOS. Distribuce prochází testováním kompatibility Java SE a je vhodná jak pro pracovní stanice, tak pro servery a podnikové aplikace. K dispozici jsou mimo jiné dlouhodobě podporované verze Java 8, 11, 17, 21 a 25.

Pokud není důvod preferovat konkrétního výrobce, je Temurin velmi univerzální náhradou za Oracle Java.

 

 

Amazon Corretto

Amazon Corretto je distribuce OpenJDK vytvářená společností Amazon. Je zdarma a Amazon ji používá také ve velkém množství svých vlastních produkčních služeb.

Corretto je určeno pro Windows, Linux a macOS a Amazon pro podporované verze poskytuje bezpečnostní opravy a další aktualizace. K dispozici jsou například Java 8, 11, 17, 21 a 25.

Přestože je Corretto spojeno především s AWS, jeho použití není na Amazon Web Services nijak vázáno. Bez problémů jej lze používat na běžných serverech, pracovních stanicích nebo v jiných cloudových prostředích.

Microsoft Build of OpenJDK

Také Microsoft má vlastní distribuci nazvanou Microsoft Build of OpenJDK. Jde o bezplatnou a open-source distribuci OpenJDK určenou pro Windows, Linux i macOS.

Microsoft používá Javu ve velkém množství svých produktů a cloudových služeb a jeho distribuce je zároveň přirozenou volbou pro organizace provozující Java aplikace v prostředí Microsoft Azure nebo na Windows Serveru.

Microsoft aktuálně nabízí mimo jiné LTS distribuce Java 8, 11, 17, 21 a 25. Microsoft Build of OpenJDK lze přitom použít jako náhradu jiné standardní distribuce OpenJDK.

Azul Zulu

Další dlouhodobě známou distribucí je Azul Zulu, kterou vytváří společnost Azul Systems. Také Zulu vychází z OpenJDK a jeho bezplatné Community Builds lze používat bez nutnosti pořizovat komerční licenci.

Jednou z výhod Zulu je velmi široká podpora operačních systémů, hardwarových architektur a verzí Javy. Vedle bezplatných distribucí nabízí Azul také placenou enterprise podporu a další produkty zaměřené na provoz rozsáhlých Java prostředí.

Kterou distribuci použít?

Pro většinu běžných aplikací jsou rozdíly mezi jednotlivými distribucemi poměrně malé. Všechny uvedené produkty vycházejí z OpenJDK a jejich cílem je kompatibilita se standardem Java SE.

V praxi tedy lze vybírat hlavně podle prostředí a způsobu správy. Eclipse Temurin je vhodná univerzální a vendor-neutral varianta, Amazon Corretto dává smysl zejména v prostředí AWS, Microsoft Build of OpenJDK dobře zapadá do infrastruktury Microsoftu a Azure a Azul Zulu nabízí velmi širokou podporu platforem a zajímavé možnosti pro organizace vyžadující komerční podporu.

Při nahrazování starého Oracle JRE je ale vhodné ověřit požadavky konkrétní aplikace. Zejména velmi staré aplikace mohou být závislé na konkrétní verzi Java 8, Java Web Start, Java pluginu nebo dalších technologiích, které již moderní verze Javy standardně neobsahují. Samotná výměna Oracle Java za jinou distribuci OpenJDK proto nemusí být u každé starší aplikace zcela automatická.

 

 

Ověření kompatibility aplikací s OpenJDK

Přestože jsou distribuce OpenJDK navrženy s důrazem na kompatibilitu se standardem Java SE, před ostrým nasazením náhrady za Oracle Java je vhodné konkrétní aplikaci důkladně otestovat. Nestačí pouze ověřit, že se aplikace spustí. Je potřeba prakticky prověřit všechny její důležité funkce a ověřit, že se v novém prostředí chovají stejně jako při použití původní distribuce Java.

U kritických nebo složitějších aplikací je vhodné provést také delší paralelní testování, například několik týdnů porovnávat chování aplikace v produkčním prostředí s Oracle Java a v testovacím prostředí s vybranou distribucí OpenJDK. Obě prostředí by měla být pokud možno konfiguračně shodná a měla by být testována stejnými scénáři.

Teprve takové praktické ověření poskytne dostatečnou jistotu, že je aplikace s novou distribucí OpenJDK skutečně kompatibilní a že její přechod nebude mít negativní vliv na funkčnost nebo provoz.

 

Michal Zobec

Michal Zobec Senior IT Consultant, Project Manager ZOBEC Consulting

Nechte vzkaz