One Shoe logo

Je Drupal website upgraden naar Drupal 8 of Drupal 9?

Sinds de release van Drupal 8 en de bekendmaking van Dries Buytaert dat Drupal 9 in 2020 wordt verwacht, kun je tegen twee belangrijke vragen aan lopen als je een Drupal 7 website hebt. De eerste vraag is: ‘Wat is een goed moment om te upgraden?’. En de tweede vraag is: ‘Upgrade ik eerst naar Drupal 8 en dan naar 9 of niet?’ In dit artikel geven we antwoord op deze twee vragen en geven we je enkele handvatten om voor jezelf te bepalen wat de beste keuze is voor jouw situatie en jouw Drupal website.

Tibor Uittenbogaard | 22 apr 2019

Voordelen van Drupal

Het is geen geheim dat we bij One Shoe fans zijn van Drupal. Al sinds 2006 doen we kleine, grote en supergrote website, portal en webapplicatie projecten met het Drupal framework. Drupal is een extreem veelzijdig Content Management System (CMS) en geschikt voor talloze typen websites en webapplicaties. Dankzij het ruime aanbod van modules kun je eindeloos combineren en configureren om zo nieuwe functionaliteiten en toepassingen mogelijk te maken. Drupal is ook open source software, dus gratis en licentievrij. Er is geen permissie nodig van wie dan ook om de open source code (verder) aan te passen of te ontwikkelen om precies dat te doen wat jouw project of bedrijf nodig heeft. En met dank aan Drupal’s grote en actieve community en het security team is Drupal super veilig en up to date, om je te beschermen tegen beveiligingslekken, hackers en andere risico’s.

'Wat is het goede moment om je Drupal 7 website te upgraden?'

Zoals aangegeven wordt de nieuwste versie van Drupal - Drupal 9 - naar verwachting vrijgegeven in 2020. Dit impliceert tegelijk ook dat vanaf één jaar daarna, vanaf november 2021, de officiële support voor zowel Drupal 7 als 8 ophoudt of uitfaseert. Zit je al op Drupal 8? Dan kun je vloeiend mee naar 9. Maar als je een Drupal 7 website hebt komt voor jou het moment dichterbij dat je een upgrade moet gaan overwegen.

Het is altijd een goede best practice om up to date te zijn met software en als je al op de nieuwste versie van Drupal zit ben je al bij. Maar in onze optiek moeten niet alle Drupal projecten die op de nieuwste versie zitten meteen upgraden. Een upgrade van je Drupal website uitstellen kan voor jouw situatie een betere optie zijn als:

  1. De kosten van het upgraden van je Drupal 7 website nu vergelijkbaar zijn als de kosten van upgraden naar Drupal 9 in de toekomst. Dat is aannemelijk het geval als je situatie het toestaat om de ontwikkeling van nieuwe functionaliteiten en (grote) aanpassingen van je Drupal 7 website uit te sluiten of uit te stellen. Immers is het upgraden van je huidige- of een vergelijkbare situatie in de toekomst, kostentechnisch aannemelijk min of meer hetzelfde als wanneer je nu de upgrade doet. Je haalt dus eigenlijk een (des)investering naar voren in de tijd.
  2. Je twijfelt of je project aansluit bij het Drupal ontwikkel- en upgrade pad qua tijdsljin of architectuur. Dat kan bijvoorbeeld het geval zijn als jouw project een heel unieke implementatie betreft waarin zodanige aanpassingen zitten dat dit moeilijk te voorspellen wordt, of als in je Drupal 7 CMS bij een upgrade zodanig moet worden geleund op Drupal 8 code die in Drupal 9 mogelijk wordt uitgefaseerd dat grote refactoring (en dus dubbele investering) waarschijnlijk wordt.

Als je op basis van je persoonlijke situatie toch besluit dat upgraden voor jou wenselijk is komen we op de tweede vraag van dit artikel.

‘Upgrade ik naar Drupal 8 of wacht ik op Drupal 9?’

Tot en met Drupal 7 was het upgraden van Drupal naar een volgende major versie niet zo simpel als het implementeren van een update zoals wel het geval is bij minor versie updates. Een upgrade van een major versie - bijvoorbeeld van Drupal 6 naar Drupal 7 of van Drupal 7 naar Drupal 8 - betekende een rebuild van het Drupal CMS en de content typen, en een contentmigratie. Iedere nieuwe major versie was tot Drupal 8 uitkwam gebaseerd op een volledig nieuwe architectuur en ontwikkelvisie. Als gevolg daarvan is het upgrade path voor alle Drupal versies tot en met Drupal 7 altijd uitdagend geweest.

Hoe kwam dat zo? Waarom was het upgraden van Drupal niet zo simpel als een klik op een update knop zoals bijvoorbeeld Wordpress al jaren doet? De beste verklaring die ik daarvoor kan geven is dat de Drupal community de bewuste keuze maakte om legacy en historie de ontwikkeling van Drupal niet te laten belemmeren. En deze strategische aanpak heeft in mijn optiek en grote mate bijgedragen aan het succes van Drupal als één van de meest relevante CMS oplossingen ter wereld.

Een andere reden voor het succes van Drupal is het omarmen van grote en vooruitstevende veranderingen. Die attitude en ambitie heeft er tegelijk echter ook vaak voor gezorgd dat sommige major releases niet exact volgens planning verliepen. De upgrade van Drupal 7 naar Drupal 8 was één van de zwaarste bevallingen in de historie van Drupal. En misschien ook wel daarom een reden dat de Drupal Community sinds Drupal 8 vastberaden is geworden te gaan zorgen voor een vloeiend upgrade path voor nieuwe Drupal versies.

Vloeiend Drupal 8 upgraden naar Drupal 9

Om het naadloze upgraden van Drupal 8 naar Drupal 9 mogelijk te maken zullen nieuwe features en wijzigingen met behoud van compatibiliteit doorlopend worden uitgebracht als onderdeel van Drupal 8 updates. In dat proces worden specifieke oudere systemen uitgefaseerd. De oudere systemen blijven echter wel aanwezig in Drupal 8, zodat de maintainters van modules de tijd hebben om hun modules aan te passen naar compatibiliteit met de nieuwere systemen. Deze doorlopende innovatie maakt dat op een gegeven moment de hoeveelheid oude systemen in Drupal 8 een kantelpunt bereikt. Op dat moment worden de oude systemen uitgefaseerd en wordt Drupal 9 uitgebracht met enkel nog de nieuwe systemen.

Drupal 7 naar Drupal 8 upgraden

Op basis van het door de Drupal community geplande upgrade path van Drupal 8 zou Drupal 9.0 bijna identiek moeten zijn aan de laatste Drupal 8 release. Daarom, zo bekeken, kan het aantrekkelijk zijn om nu al je Drupal 7 website te upgraden naar Drupal 8 en later naar Drupal 9, simpelweg omdat van 8 naar 9 gaan makkelijk zou moeten zijn. Er zijn ook zeker (business) cases voor een upgrade van Drupal 7 naar Drupal 8 op dit moment. Maar als we een businesscase bekijken als een strikt economische overweging zou je je zelf het volgende moeten afvragen:

‘Hoeveel desinvestering verwacht ik te maken bij een investering op dit moment, en hoe verhoudt dat zich tot de potentiële desinvestering in de toekomst. En hoe verhoudt dat zich tot de baten?’

De onderliggende gedachte hierbij is dat upgraden kosten met zich meebrengt. En hoe langer je het maken van die kosten kunt uitstellen, hoe langer je return on investment (ROI) ziet van de investering die je al in je Drupal 7 website hebt gedaan. Tegelijk geldt echter ook: meer investeren in je huidige Drupal 7 project betekent meer desinvesteren bij een upgrade in de nabije toekomst.

Een business case voor het upgraden van Drupal 7 naar Drupal 8

Om het voorgaande te illustreren schetsen we de volgende fictieve situatie:

Je beschikt over een Drupal 7 website of CMS en moet een nieuwe feature implementeren, of een deel van het CMS aanpassen. In deze situatie heb je de keuze tussen het implementeren van de aanpassing in je Drupal 7 CMS (een relatief kleine investering) of eerst upgraden naar Drupal 8 en de aanpassing meenemen in de upgrade (een relatief grote investering).

Laten we deze hypothetische situatie omzetten in een fictieve financiële analyse;

Aan de analyse hierboven lagen de volgende aannames ten grondslag;

  • We nemen aan dat de nieuwe features (iets) minder kosten om te ontwikkelen als ze worden meegenomen in een upgrade project, dan ze zouden kosten als losstaand project van het aanpassen van een bestaande Drupal 7 omgeving. Dit omdat het theoretisch simpeler is om iets in één keer goed te ontwikkelen dan om iets bestaands aan te passen;
  • Een upgrade van Drupal 7 naar Drupal 8 nu is goedkoper dan een upgrade van Drupal 7 later upgraden naar Drupal 9, omdat je de €40k investeringen in nieuwe features in de huidige situatie niet mee hoeft te nemen in de upgrade nu, maar in 2021 wel;
  • We nemen aan dat er dwingende bedrijfskundige overwegingen zijn die maken dat de nieuwe features en ontwikkelkosten daarvan gerechtvaardigd of noodzakelijk zijn. Ze kunnen dus niet worden uitgesteld tot na 2021;
  • We nemen aan dat onderhoud een doorlopend proces is en qua kosten vergelijkbaar, ongeacht de Drupal versie, en;
  • We nemen aan dat het upgraden van Drupal 8 naar Drupal 9 vergelijkbaar zal zijn qua inspanning en kosten als een grote onderhoudsronde.

De conclusie: nu Drupal 7 upgraden naar Drupal 8 (en in 2020 of 2021 naar Drupal 9) is financieel een goed idee als je significante investeringen plant of moet doen in je Drupal 7 project, of voorziet dat je doorlopend blijft ontwikkelen en investeren in je Drupal CMS in de komende jaren.

Een upgrade op dit moment betekent dan je laatste significante investering in een Drupal upgrade op dit moment, en significant minder desinvestering van alle opvolgende investeringen in de toekomst. Anders gezegd heeft in deze situatie iedere investering na de upgrade van Drupal 7 naar Drupal 8 nu een lange(re) levensduur dan investeringen die je anders zou doen in nieuwe features of aanpassingen van je Drupal 7 project.

Een business case voor het upgraden van Drupal 7 naar Drupal 9

Zoals we hiervoor een business case schetsen voor een upgrade van Drupal 7 naar Drupal 8 nu, is er ook een case te maken voor het wachten op Drupal 9. Bijvoorbeeld als nieuwe features, functionaliteiten of aanpassingen niet direct noodzakelijk zijn.

Laten we deze hypothetische situatie omzetten in een fictieve financiële analyse;

Aan de analyse hierboven lagen ten grondslag de aannames dat er door het ontbreken van een directe wijzigingsbehoefte geen investeringen hoeven te worden gedaan op basis van Drupal 7, anders dan onderhoud, tot de upgrade in 2021. Zou er nu geïnvesteerd worden in de upgrade naar Drupal 8 dan is er direct sprake van een desinvestering in Drupal 7, en komt een kleine upgrade investering in 2021 daar bovenop.

Alhoewel het misschien niet realistisch is te verwachten dat een project in een tijd van 1, 2 á 3 jaar geen nieuwe feature implementaties of wijzigingen doormaakt houdt de case wel stand tot deze features zich daadwerkelijk aandienen. De conclusie is hier dus dat upgraden om te upgraden financieel geen goede business case vormt, en dat de reeds gedane Drupal 7 investering kan blijven renderen, tot de Drupal 7 situatie vraagt om significante wijziging.

Checklist om te besluiten of je Drupal 7 nu moet upgraden

We hebben de ideeën achter dit artikel omgezet in deze handige flowchart die tegelijk ook een stappenplan en checklist is, die je kunt toepassen voor de besluitvorming rondom jouw Drupal 7 upgrade vraagstuk.

About the author

Tibor Uittenbogaard is Digital Consultant bij One Shoe sinds januari 2010. Tibor begeleidt organisaties bij het ontwikkelen van doelgerichte strategieën en optimale werkwijzen voor projectsamenwerking, softwareontwikkeling en digitale communicatiestrategieën.