aankondigingen:2019:c2019d01-uitfaseren-java-8

Differences

This shows you the differences between two versions of the page.


Previous revision
aankondigingen:2019:c2019d01-uitfaseren-java-8 [2024/03/07 17:08] (current) – external edit 127.0.0.1
Line 1: Line 1:
 +~~META:
 +title = C2019D01: Uitfaseren Java 1.8
 +~~
 +====== C2019D01: Uitfaseren Java 1.8 ======
 +
 +====== Aankondigingen ======
 +===== Aankondiging: Java gebruik in de hosting omgeving na januari 2019 ivm EOL Oracle java 1.8 =====
 +Beste klant / collega,
 +
 +(Is dit bericht niet goed leesbaar? Bekijk dan [[.:c2019d01-uitfaseren-java-8|hier]] de online versie.) 
 +
 +in de NPO hosting omgeving draaien een aantal belangrijke java
 +gebaseerde applicaties, zoals Elasticsearch, Solr en Confluence.
 +Ook POMS is voor een groot deel op java gebaseerd.
 +Om een java programma te draaien is een Java Virtual Machine (JVM) nodig
 +en die is weer onderdeel van een Java Development Kit (JDK) of Java
 +Runtime Environment (JRE). Na de overname van Sun Microsystems
 +door Oracle is ook Java in handen van Oracle gekomen en zijn zij lange
 +tijd de belangrijkste maker van JVM's geweest. Tot recent was dat
 +een vrij abstract verhaal, maar nu de huidige java versie (8) bijna
 +end-of-life is en Oracle de licentie van de nieuwe versie (11)
 +ingrijpend gewijzigd heeft betekent dat, dat we in de toekomst geen
 +Oracle versie van Java meer kunnen gebruiken. Gelukkig is Java ook als
 +Open Source product beschikbaar en hebben we dus alternatieven.
 +
 +Er spelen nu dus twee dingen tegelijkertijd:
 +  - Java 8 is vanaf januari 2019 end-of-life. De opvolger is [[https://openjdk.java.net/projects/jdk/11/|JDK 11]].
 +  - Vanaf januari kunnen we vanwege licentie kwesties geen Oracle JRE of JDK meer gebruiken. We stappen over naar een alternatief.
 +
 +Omdat de overstap van Java 8 naar 11 tamelijk groot is verwachten we
 +niet dat die in een paar weken gemaakt kan zijn en dus zijn we op zoek
 +gegaan naar een alternatief. Dit menen
 +we gevonden te hebben in de vorm van [[https://adoptopenjdk.net/|AdoptOpenJDK]],
 +wat een drop-in replacement voor de Oracle java 1.8 versie levert en na
 +januari 2019 nog wel gesupport wordt. Dit zou
 +redelijk eenvoudig moeten zijn omdat ze beiden gebaseerd zijn op
 +dezelfde onderliggende java versie (8 of 1.8 in de Oracle nummering))
 +
 +We willen vrij snel de Oracle versie vervangen door AdoptOpenJDK(8). Dat
 +geeft tijd om later in 2019 Java 8 te vervangen door JDK 11, in de vorm
 +van AdoptOpenJDK(11).
 +Bepaalde diensten zoals ElasticSearch kunnen nu al met JDK 11
 +werken. Voor andere zaken is wellicht een upgrade van de omliggende
 +software. Het kan ook nodig zijn om de
 +applicatie te (laten) updaten om samen te werken met JDK 11.
 +
 +Dat betekent dat een deel van het werk (migratie Oracle jre1.8 ->
 +AdoptOpenJDK(8) -> JDK 11) door het Hosting team gedaan kan worden, maar
 +als de applicatie het niet doet onder een nieuwere java versie is er
 +inspanning van de applicatie eigenaar (danwel software developers)
 +nodig.
 +
 +De reden om aan te dringen op de upgrade AdoptOpenJDK(8) -> JDK 11 is
 +dat er op dit moment geen duidelijkheid is hoe lang AdoptOpenJDK(8) nog
 +gesupport zal blijven. De verwachting is dat RedHat in het gat springt
 +dat Oracle achterlaat en gedurende enige tijd backports voor Java 8 zal
 +blijven maken. Maar hoe lang dat is weet niemand, vandaar dat wij het
 +verstandig achten om alles
 +naar JDK 11 te upgraden. De verwachting nu is dat JDK 11 tot
 +september 2022 gesupport zal blijven.
 +Zoals het zich nu laat aanzien zullen we bij JDK 11 ook kiezen voor de
 +AdoptOpenJDK(11) variant en niet voor de [[https://jdk.java.net/11/|door Oracle geleverde]] GPL
 +variant.
 +
 +Daarnaast draaien er nog een paar hele oude jre1.7 instanties. Die
 +worden allang niet meer gesupport en we grijpen deze gelegenheid aan om
 +tegelijk met jre1.8 afscheid van jre1.7 te nemen. Dit betreft oude SOLR
 +en Confluence versies. Deze versies werken niet onder java 8,
 +dus het is zaak om deze applicaties voor 31 maart gechikt te maken
 +voor java 8, danwel uit te faseren.
 +
 +Het tijdschema ziet er als volgt uit:
 +^ periode ^ actie ^
 +| januari 2019 | In de testomgeving alle Oracle jre1.8 instanties vervangen door AdoptOpenJDK(8) |
 +| februari 2019 | Alle instanties waarvan de testomgeving het goed doet onder AdoptOpenJDK(8) ook in productie vervangen hierdoor |
 +| januari--maart 2019 | Eventuele instanties die het nog niet goed doen onder AdoptOpenJDK(8) geschikt laten maken hiervoor. Echter, dat kunnen wij niet. Dat vereist dan aanpassingen van uw software leverancier hiervoor. We verwachten echter dat alles of bijna alles zonder aanpassingen wel gaat werken onder AdoptOpenJDK. M.u.v. de instanties die nu nog jre1.7 draaien. |
 +| **31 maart 2019** | Einde van beschikbaarheid van Oracle jre1.7 en jre1.8 instanties in de NPO hosting omgeving. Instanties die dan nog afhankelijk zijn van de Oracle jre's zullen niet meer werken na deze datum |
 +| april--december 2019 | Stapsgewijs ombouwen van AdoptOpenJDK(8) naar JDK 11. Alles wat werkt onder JDK 11 is meegenomen. Zaken die dat nog niet doen moeten door uw software leverancier aangepast te worden |
 +| **31 december 2019** | Einde van beschikbaarheid van AdoptOpenJDK(8) in de NPO hosting omgeving. |
 +