C2019D10: Software updates april 2019

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:

  1. Elastic Search upgrades
  2. Nieuwe tools
  3. Einde van PHP-5.3, Oracle java-7 en tomcat 6
  4. 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:

  • goacces: real time web log analyzer
  • gzip: data compression program

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

1)
was in de oorspronkelijke aankondiging 1.15.9, maar een dag daarna is 1.15.10 uitgekomen, die nemen we nog even mee
2)
draait alleen in test, nog niet in productie
  • aankondigingen/2019/c2019d10-software-updates-201904.txt
  • Last modified: 2019/09/21 22:57
  • (external edit)