C2019D10: Software updates april 2019
Aankondigingen
Aankondiging: Software onderhoud hosting omgeving
Beste Klant / collega
(Is dit bericht niet goed leesbaar? Bekijk dan hier de online versie.)
Bij deze vragen we aandacht voor het volgende:
-
Elastic Search upgrades
-
Nieuwe tools
-
Einde van PHP-5.3, Oracle java-7 en tomcat 6
-
Rectificatie t.a.v. Couchdb
Elastic Search upgrades
Op het hosting platorm worden meer dan 20(!) verschillende versies van Elastic Search gebruikt, waarvan velen niet meer gesupport. Ons streven is om dit uiteindelijk terug te brengen naar één, wél gesupporte versie. Dat doen we door daar nu een tussenstap in te maken, namelijk te standaardiseren op 4 versies: 1.7 en 2.4 (niet meer gesupport, bedoeld voor de hele oude zaken), 5.6 (net uit support) en 6.6 voor moderne instanties. We zullen de upgrades uitvoeren volgens onderstaande matrix:
huidige versie | gaat naar | impact |
---|---|---|
0.9.x | 1.7.x | cluster herstart |
1.x | 1.7.x | rolling upgrade |
2.x | 2.4.x | rolling upgrade |
5.5.x | 5.6.x | rolling upgrade |
6.1.x | 6.6.x | rolling upgrade |
Bij een “cluster herstart” wordt het hele elastic search cluster even stilgezet om de upgrade te doen en is ongeveer een minuut niet beschikbaar. Bij een “rolling upgrade” kunnen de cluster nodes stuk voor stuk ge-upgrade worden en blijft het cluster als geheel beschikbaar. De configuratie aan de client kant hoeft in principe niet gewijzigd te worden, maar omdat de functionaliteit tussen met name versie 0.9.x/1.x en 2.4.x niet 100% identiek is, is het aan te raden om na de upgrade in de testomgeving te checken of alles nog werkt zoals verwacht.
In een latere ronde gaan we kijken wat er nodig is om alle elastic search clusters naar de nieuwste software versie te tillen. De verwachting is dat daar aan de applicatiekant wijzigingen voor nodig gaan zijn, omdat er tussen de resterende versie (1.7, 2.4, 5.6 en 6.6) een aantal "breaking changes" hebben gezeten.
Nieuwe tools
In deze ronde worden er twee nieuwe tools (of versies van tools) beschikbaar gesteld:
Gzip is natuurlijk al zo oud als de weg naar Rome, alleen staat
er nu een nieuwe versie op het platform die de –keep
vlag
honoreert, welke handig is om van files zowel een compressed
als een non-compressed variant neer te zetten. Dit wordt gebruikt
bij het versturen precompressed bestanden, bijvoorbeeld in
nginx.
Einde van PHP-5.3, Oracle java-7 en tomcat-6
Zoals in de End Of Life kalender te lezen valt houden we per 31 maart 2019 op met het aanbieden van php-5.3, java-7 en tomcat-6. Er draaien inmiddels geen php-5.3 sites meer, dus de impact daarvan is enkel dat de php-5.3 binaries van de systemen verwijderd worden. Er is nog 1 site die op java-7/tomcat-6 draait. Als deze niet ge-upgrade is voor die datum zal de site op zwart gaan.
Rectificatie t.a.v. Couchdb
In de vorige ronde gaven we aan dat couchdb en de onderliggende engine daarvan (erlang) ge-upgrade zou worden. In de tussentijd is gebleken dat alleen POMS hier gebruik van maakt én dat het gebruik van Couchdb door POMS later dit jaar afgebouwd wordt. Daarom hebben wij ervoor gekozen geen Couchdb upgrade meer door te voeren en te wachten tot dit uitgezet kan worden.
Reguliere software updates
In de periode van 1–4 april worden de volgende updates doorgevoerd:
wat | van | naar | changelog |
---|---|---|---|
icecast | 2.4.0-kh10 | 2.4.0-kh11 | 1 |
nginx | 1.15.8 | 1.15.101) | 1 |
php 5.6 | 5.6.40 | 5.6.40 | updates op onderliggende componenten |
php 7.1 | 7.1.26 | 7.1.27 | 1 |
php 7.2 | 7.2.15 | 7.2.16 | 1 |
passenger 6 | 6.0.1 | 6.0.2 | 1 |
python | 2.7.15 | 2.7.16 | 1 |
tomcat 9 | 9.0.14 | 9.0.16 | 12) |
newrelic-java | 4.1.0 | 4.11.0 | 1 |
Elastic Search 0.x | 0.90.3 | 1.7.6 | 1 |
Elastic Search 1.x | 1.0.1/1.1.0/1.2.1/1.3.2/1.7.0/1.7.5 | 1.7.6 | 1 |
Elastic Search 5.x | 5.5.3 | 5.6.15 | 1 |
Elastic Search 6.x | 6.1.3 | 6.6.2 | 1 |
redis | 4.0.12 | 4.0.14 | 1 |
goaccess | - | 1.3 | 1 |
gzip | - | 1.10 | 1 |
postfix | 3.3.2 | 3.4.4 | 1 2 3 4 |
bind | 9.11.5-P4 | 9.11.6 | 1 |
unbound | 1.9.0 | 1.9.1 | 1 |
De updates worden voor 25 maart op het testcluster doorgevoerd. zodat er gelegenheid is om de nieuwe versies te testen.
Het schema voor de productie clusters is als volgt:
wat | actie | impact | wanneer |
---|---|---|---|
nginx | herstart webservers | geen | 1 april 8:00 – 12:00 |
php | herstart applicatieservers | geen | 1 april 8:00 – 12:00 |
passenger | herstart Ruby-on-Rails applicaties | geen | 1 april 8:00 – 12:00 |
python | herstart applicatieservers | geen | 1 april 8:00 – 12:00 |
redis | herstart databases | 1 korte onderbreking naar de database instanties | 1 april 8:00 – 12:00 |
goaccess | nieuwe versie wordt actief | geen | 1 april 8:00 – 12:00 |
gzip | nieuwe versie wordt actief | geen | 1 april 8:00 – 12:00 |
postfix | herstart mailservers | geen | 2 april 8:00 – 12:00 |
bind | herstart nameservers | geen | 2 april 8:00 – 12:00 |
unbound | herstart dns-resolvers | geen | 2 april 8:00 – 12:00 |
newrelic-java | herstart java | ongeveer 1-5 min downtime per instantie | 3 april 1:00 – 6:00 |
mariadb | herstart databases | 2 korte onderbrekingen naar de database instanties | 3 april 1:00 – 6:00 |
mongodb | herstart databases | 1 korte onderbreking naar de database instanties | 3 april 1:00 – 6:00 |
Elastic Search | herstart java | geen | 3 april 13:00 – 17:00 |
icecast | herstart streamservers | geen | 1–4 april 13:00 – 17:00 |