Hoe updates en upgrades ervoor zorgen dat je software langer mee gaat

Bij de lancering van je nieuwe website of webapplicatie komt meer kijken dan alleen het feestelijke moment dat de champagne kurken ploppen en confettikanonnen afgaan. Voorafgaand aan de livegang is er – als het goed is – eerst nagedacht over de inrichting van de server en de software waar je oplossing mee gebouwd is. Je hebt geïnvesteerd in iets nieuws en dit moet natuurlijk de komende jaren mee kunnen. Zie het als je nieuwe auto, die je trots bij de garage op mag komen halen.

Bij Netvlies zeggen we altijd: “De livegang is pas de start”. Hiermee doelen we niet alleen op het feit dat je vanaf de livegang effort moet blijven steken in je website om deze maximaal te laten presteren. Je website of webapplicatie is nooit “af” en deze is – net als je auto – ook aan onderhoud onderhevig. Het juiste onderhoud, in de vorm van updates en upgrades, voorkomt problemen, zoals een beveiligingslek. In dit blog leg ik uit wat updates en upgrades inhouden en hoe we dit bij Netvlies voor onze klanten aanpakken.

Update of upgrade: wat is het verschil?
Er is een wezenlijk verschil tussen een update en een upgrade. In het kort zou je het verschil als volgt kunnen omschrijven: een update is letterlijk vertaald een wijziging, bijvoorbeeld het herstellen van een foutje in de code, het inspelen op een nieuwe browser of het dichten van een nieuw ontdekt beveiligingslek. Bij een upgrade daarentegen spreek je van een wezenlijke verbetering van je software met bijvoorbeeld een uitbreiding in functionaliteit, aangepast framework, nieuwe workflows en schermen of geheel nieuwe processen. Lang verhaal kort: een update is doorgaans kleiner dan een upgrade. Afhankelijk van de aard van de wijziging spreek je over een update of een upgrade.

Open source frameworks en support
Voor al onze oplossingen gebruiken we open source frameworks. We kunnen gebruik maken van standaard bouwblokken en functionaliteiten die in het framework aanwezig zijn en hiermee in korte tijd veel realiseren. Zo kunnen we meer tijd steken in het maatwerk dat écht het verschil gaat maken voor onze klanten.

De open source frameworks worden doorontwikkeld en onderhouden door een grote community van developers, zijn continu aan verandering onderhevig en worden regelmatig geupdate en geupgrade. Oneindig support op oude versies is niet mogelijk, omdat deze gewoonweg niet meer voldoen aan de huidige technologische standaarden. Stel je eens voor dat je huidige PC nog op Windows 95 (20 jaar oud!) zou draaien…

Updates en upgrades volgens releaseschema
Gelukkig verlopen updates en upgrades, en daarmee ook het mogelijk eindigen van support, vrijwel altijd via een vooraf bepaald releaseschema. Zo weet iedereen wanneer de support voor zijn versie eindigt en kan men tijdig stappen ondernemen in het onderhoud. Onderstaand een voorbeeld van een releaseschema van het Symfony framework.

Zoals je kunt zien wordt van het framework alleen versie 3.4 nog ondersteund. Versies 2, 3 en 4 zijn majors. Er komen vanaf major versie 3 nog maar maximaal 4 minors (3.1 t/m 3.4) waarbij de laatste versie “long term support” heeft. Daar kun je dus een aantal jaar mee vooruit.

Bij Netvlies spelen wij hierop in door bij de opzet van het project voor de op dat moment meest actuele en stabiele minor versie van frameworks te kiezen. Daarnaast reserveren we een vast aantal uren per kwartaal om pro-actief – zonder dat we daar onze klant mee lastig hoeven vallen – minor updates en patches uit te kunnen voeren. De software blijft zo in ieder geval gezond en up-to-date.

Bij een major upgrade komt meer kijken. Dit doen wij dan ook altijd in overleg. Doordat we vooraf weten wanneer de support voor de gekozen versie eindigt, kunnen we ook de benodigde upgrades naar een nieuwe versie – bijvoorbeeld van Symfony versie 3 naar versie 4 – al in de roadmap opnemen. Zo kunnen we met een vooruitziende blik tijd en budget reserveren.

Bovenstaand een voorbeeld van een roadmap voor het Symfony framework. Uiteraard heb je ook bij een corporate WordPress of Drupal website te maken met updates en upgrades.

Daarnaast draait een website of webapplicatie ook altijd op een server, bijvoorbeeld Apache of NGINX. De serversoftware en het operating system krijgen ook updates en upgrades die je moet bijhouden. Gelukkig hoef je je daar als klant van Netvlies geen zorgen over te maken. Onze DevOps engineers zorgen er binnen het onderhoudscontract voor dat de omgeving veilig en up-to-date blijft.

Zijn er ook redenen om NIET te upgraden?
Zoals gezegd zorgen we ervoor dat je website of webapplicatie altijd minimaal de laatste minor updates en patches krijgt. Wanneer een nieuwe major versie van je framework beschikbaar komt zijn er verschillende afwegingen die je moet maken. Stel jezelf de volgende vragen:

  • voldoet de webapplicatie nog aan de huidige technische standaarden;
  • wordt de webapplicatie voldoende gebruikt;
  • sluit de webapplicatie nog aan op je interne processen;
  • en zijn er plannen om de webapplicatie te doorontwikkelen?

Als je één of meer vragen met NEE kunt beantwoorden, dan is het wellicht niet nodig of verstandig om de upgrade uit te voeren. We zijn kritisch en denken hierin graag mee met onze klanten. Je wilt natuurlijk alleen ontwikkelbudget steken in zaken die echt van toegevoegde waarde zijn. Als je toch van plan bent om binnenkort afscheid te nemen van je website of webapplicatie, dan gaan we niet meer updaten of upgraden, maar kijken we liever samen naar een nieuwe oplossing.

Een continu proces van upgraden en up-to-date houden
Er komt best wat bij kijken om een website of webapplicatie veilig en up-to-date te houden. Het lijkt veel werk, maar door het als een continu proces te zien en hier ook voldoende tijd voor te reserveren weet je zeker dat je webapplicatie langer meegaat, veilig is en gezond blijft. Door goed en gepland onderhoud kun je daarnaast hoge kostenposten voorkomen.

Plannen om je eigen website of webapplicatie onder de loep te nemen? Aarzel dan niet om contact op te nemen. We denken graag met je mee!

Backend Developer Rudy den Otter

Symfony is voor Rudy geen probleem en hij bijt zich dan ook graag vast in complexere vraagstukken. Ook is Rudy een graag geziene sparringspartner binnen scrum trajecten met projectteam en klant. Verder blijft hij goed op de hoogte vaan de laatste ontwikkelingen binnen development.

Over Rudy den Otter

Bedankt!

We hebben je emailadres ontvangen, we kunnen je nog beter van dienst zijn als we je nog wat beter leren kennen.
  • Dit veld is bedoeld voor validatiedoeleinden en moet niet worden gewijzigd.