Beste Klant / collega,
Bij deze vragen we aandacht voor het volgende:
Het NPO-ICT webhosting platform bestaat uit een veelheid van software componenten; denk aan webservers als apache en nginx; programmeertalen als php, java, ruby en python; databases als mysql, mariadb, postgresql, redis en couchdb. Vaak maakt deze software gebruik van externe programmabibliotheken om specifieke taken uit te voeren. Denk aan openssl voor encryptie of imagemagick voor image processing.
Van al deze tientallen tot honderden componenten komen regelmatig nieuwe versies uit en omdat de developers ervan niet alles kunnen ondersteunen worden oude versies vaak op enig moment tot not-supported verklaard.
Vaak kunnen wij software van een oude naar een nieuwe versie updaten zonder dat dat enige impact op de werking van een website of een applicatie heeft. Helaas is dat echter niet altijd mogelijk. Van tijd tot tijd komen er nieuwe zogeheten “major releases” uit, die niet 100% backwards compatible met oudere versies zijn. Het gevolg hiervan is dat als we zo'n upgrade toch zouden uitvoeren er een grote kans bestaat dat een website of applicatie na afloop niet meer werkt. Bij zo'n major upgrade zijn vaak aanpassingen in de code van de website of applicatie nodig om deze weer te laten werken met de nieuwere software versie. En daar is dus actie van de ontwikkelaars van de website voor nodig.
In het verleden is het regelmatig gebeurd dat dit soort major upgrades (te) lang uitgesteld zijn, waardoor er nu op een aantal plekken (te) oude, niet meer gesupporte software draait. Dit is een security risico, wat weer een impact op privacy kan hebben. Denk aan een datalek als gevolg van een oude website die verouderde software draait.
Vanwege de strengere wetgeving t.a.v. privacy en informatiebeveiliging is bij de NPO een project gestart om aan een ISO norm op dat gebied te gaan voldoen (ISO 27001). Gevolg hiervan is dat we op termijn van alle niet meer gesupporte software af willen en dat we in de nabije toekomst onze klanten dus vaker en met meer nadruk zullen vragen om voor ons software updates mogelijk te maken door de websites en applicaties geschikt te maken voor de nieuwere versies. Waarbij uiteindelijk de keuze tussen upgraden of uitzetten gemaakt zal moeten worden.
Omdat het over vrij veel componenten gaat doen we de upgrades gespreid in de tijd. Afgelopen jaar is bijvoorbeeld al met betrokkenen contact opgenomen over het upgraden van oude php-, mysql- en java versies.
Bij deze willen we aandacht vragen voor de volgende componenten:
De komende maanden zullen we ook aandacht gaan vragen voor activemq, elasticsearch, couchdb, ffmpeg, gearman, graylog, junction, kibana, node-js, mongodb, redis, resin en ruby. Graag willen we deze componenten upgraden naar nieuwe supporte versies. Wij denken dat een termijn van een 3-6 maanden tussen aankondiging en uitfasering redelijk zou moeten zijn om applicaties met de nieuwe versies te laten werken, maar zijn ook benieuwd wat jullie daarvan denken.
Naast de major upgrades zijn er ook de minor updates. In de periode van 24–26 september zullen we onderstaande updates doorvoeren:
| wat | van | naar | changelog |
|---|---|---|---|
| nginx | 1.15.2 | 1.15.3 | 1 |
| php 5.6 | 5.6.37 | 5.6.38 | 1 |
| php 7.1 | 7.1.20 | 7.1.22 | 1 2 |
| php 7.2 | 7.2.8 | 7.2.10 | 1 2 |
| passenger 5 | 5.0.21 | 5.3.4 | 1 |
| tomcat 8 | 8.0.15 / 8.0.30 | 8.5.33 | 1 |
| ImageMagick 6 | 6.7.2.7 / 6.9.7-5 | 6.9.10-11 | 1 |
| ImageMagick 7 | 7.0.4-5 | 7.0.8-11 | 1 |
| postgresql 9.4 | 9.4.5 | 9.4.19 | 1 |
| postgresql 9.6 | 9.6.4 | 9.6.10 | 1 |
| openssh | 7.7 | 7.8 | 1 |
De updates worden voor 19 september op het testcluster doorgevoerd, zodat er gelegenheid is om de nieuwe versies te testen.
In deze ronde zijn een paar aanpassingen die speciale aandacht vragen:
Het schema voor de productie clusters is als volgt:
| wat | actie | impact | wanneer |
|---|---|---|---|
| nginx | herstart webservers | geen | 24 september 8:00 – 12:00 |
| php | herstart applicatieservers | geen | 24 september 8:00 – 12:00 |
| passenger | herstart Ruby-on-Rails applicaties | geen | 24 september 8:00 – 12:00 |
| ImageMagick | nieuwe versie wordt actief | geen | 24 september 8:00 – 12:00 |
| openssh | herstart openssh | geen, bestaande sessies blijven bestaan | 25 september 8:00 – 12:00 |
| postgresql | herstart databases | 1 korte onderbreking naar de database instanties | 26 september 1:00 – 5:00 |
| tomcat | herstart java applicaties | ongeveer 1-5 min downtime per instantie | 26 september 1:00 – 5:00 |