CentOS 8 end-of-life komt dichterbij. Wat nu?

Eind 2021 stopt de ondersteuning voor CentOS 8. Een samenvatting van een bewogen jaar en een bespreking van een aantal opties.

CentOS 8 end-of-life komt dichterbij. Wat nu?

We zijn aangekomen in het vierde kwartaal van 2021. Dit jaar is dit niet alleen het kwartaal van Sinterklaas, de eindejaarsfeesten met bijhorende glühwein op allerlei gezellige kerstmarkten, maar ook het kwartaal dat de ondersteuning voor CentOS 8 stopt. Wat is er veranderd sinds de aangekondigde 'focus shift' en wat zijn je opties?

De aankondiging op 8 december 2020 sloeg bij veel systeembeheerders in als een bom. Niet enkel het nieuws dat CentOS niet meer zou verder bestaan als 1:1 binary kloon van Red Hat Enterprise Linux (RHEL), maar ook dat de ondersteuning voor CentOS 8 al op 31 december 2021 gestaakt zou worden. 8 jaar eerder dan voorzien. Veel organisaties hadden nog maar pas een migratie van CentOS 7 naar 8 achter de kiezen. Hoewel CentOS gratis software is, kost een migratie / upgrade een organisatie altijd (pakken) geld. Niet in de vorm van de aankoop van licenties, maar in de kost van werkuren om een migratie voor te bereiden en uit te voeren. En net wanneer zo een migratie afgerond is, komt zulk nieuws aan als "merci voor de moeite, maar dit was werk voor niets".

Uw auteur van dit artikel had nog maar net een upgrade van een Ceph cluster draaiende op CentOS 7 naar 8 achter de rug toen hij in de vroege ochtend van 9 december 2020 met een tas warme koffie vol ongeloof de aankondiging las. Andere websites berichten er ook over, dus het was echt. De koffie smaakte plots bitter.

CentOS Stream

CentOS Stream is het nieuwe CentOS, maar in een heel andere vorm. Waar vroeger de volgorde van updates 'Fedora > RHEL > CentOS' was, werd dit nu 'Fedora > CentOS Stream > RHEL'. RHEL benadrukte meermaals dat de stabiliteit van CentOS Stream hier niet onder ging lijden en dat Fedora de distributie blijft waarin men 'testen' blijft doen. En hoewel ik dat graag wil geloven en hun gedachtegang begrijp, blijft CentOS Stream voor RHEL staan en is het de distributie waar de 'final tests' in worden gedaan alvorens de wijzigingen in RHEL op te nemen. Noem het Continuous Integration of beta, het proces blijft hetzelfde. Waar CentOS een kloon was van het stabiele RHEL, is het nu de laatste testfase voor wijzigingen die in RHEL zullen landen. CentOS is 'stabiel', maar niet van het niveau 'RHEL stabiel'.

Wat was de aanleiding voor deze focus shift?

Red Hat nam begin 2014 het CentOS project over. Was het lot van CentOS toen al beslecht? Misschien. Of was dat eerder het geval toen IBM in 2019 Red Hat inlijfde? Misschien. Daar hebben beide bedrijven nooit uitspraak over gedaan. Red Hat heeft open source software altijd gesteund, dat is een feit. En IBM is een bedrijf dat winst wilt maken; ook dat is een feit. En als je een bedrijf overneemt dat actief de gratis "kopie" van je eigen software ondersteunt, welke richting ga je dan uit als IBM zijnde om betere verkoopcijfers te krijgen?

Heeft IBM / Red Hat deze 'focus shift' goed aangepakt? De meningen zijn verdeeld. Als Red Hat aangekondigd had dat CentOS 8 de laatste CentOS in die vorm zou zijn, maar de ondersteuning - zoals beloofd - had laten doorlopen tot 2029, dan had deze 'focus shift' heel anders onthaald geweest. Dan hadden organisaties voldoende tijd om een beslissing te nemen over de distributie die zij daarna zouden gaan gebruiken en zelfs in gesprek gaan met Red Hat voor een eventuele migratie naar het betalende RHEL. Maar nu kregen deze organisaties het mes op de keel gezet. Dat is niet Red Hat's stijl.

Een bewogen jaar

De Linux community kennende, lieten zij zich niet in een hoekje duwen. Het duurde dan ook niet lang voordat er plannen gesmeed werden om een "nieuwe CentOS" te bouwen. De timing "niet lang" was een kleine 2 uur na Red Hat's aankondiging. Gregory Kurtzer, de oprichter van CentOS in 2002, gaf in een reactie op de aankondiging aan een nieuwe rebuild te overwegen.

I am considering creating another rebuild of RHEL and may even be able to hire some people for this effort. If you are interested in helping, please join the HPCng slack (link on the website hpcng.org).
- Gregory Kurtzer

Dat was de aanzet van een nieuw project wat leidde tot Rocky Linux. Een nieuwe Linux distributie als 1:1 binary kloon van RHEL, zoals CentOS altijd geweest was.

Thinking back to early CentOS days... My cofounder was Rocky McGaugh. He is no longer with us, so as a H/T to him, who never got to see the success that CentOS came to be, I introduce to you...Rocky Linux
- Gregory Kurtzer

Ook CloudLinux - van de gelijknamige Linux distributie gericht op webhosting - kondigde een "RHEL kloon" aan als vervanger van CentOS. Dit werd Alma Linux (neen, er is geen link met de Belgische keten Alma studenten restaurant's en ook niet met de Belgische warenhuisketen ALMA). De CloudLinux distributie zelf is ook een afgeleide van RHEL, maar is enkel te gebruiken met een abonnement. Zij hebben dus al lange tijd ervaring met het bouwen van een RHEL kloon.

Rocky Linux en Alma Linux hebben hetzelfde doel: een 1:1 bug-for-bug kloon van RHEL leveren; net zoals CentOS dat de voorbije decennia gedaan heeft. Waar Rocky Linux startte als een community project, startte Alma Linux met de financiële ondersteuning van CloudLinux. Die financiële steun werd door veel ontwikkelaars vergeleken met de Red Hat situatie.

Wat zijn de opties?

Organisaties hebben nog tot eind 2021 om een keuze te maken. Daarna stopt de ondersteuning voor CentOS 8. Organisaties die nog op CentOS 7 draaien hebben nog tot 2024 de tijd. Dat komt inderdaad vreemd over. Een oudere versie wordt langer ondersteunt dan de nieuwere. Maar misschien zijn organisaties die nog geen tijd (en dus nog geen geld) in een migratie naar CentOS 8 gestoken hebben nog beter te overhalen om een RHEL licentie af te nemen dan organisaties die het gevoel hebben om met de rug tegen de muur gezet te zijn?

Binnen de Red Hat familie

Wanneer een organisatie zijn software afgestemd heeft op een bepaalde distributie, of bij uitbreiding een familie zoals de rpm-familie, dan is het vaak moeilijk (lees: tijdrovend en bijgevolg kostelijk) om alle software en processen aan te passen wanneer men naar een andere familie zou migreren. Voor veel organisaties is het misschien het overwegen waard om in gesprek te gaan met Red Hat om RHEL licenties af te nemen. Deze organisaties zullen in de afgelopen budgetteringsperiode voor 2022 een enorme toename in de kostenpost 'softwarelicenties' gezien hebben - waar dat afgelopen jaren nihil was voor wat betreft het besturingssysteem.

Red Hat Enterprise Linux

Voor veel organisaties is het geen optie om RHEL licenties aan te schaffen. Dat kan een financiële reden hebben (een enkele RHEL Server licentie zonder ondersteuning begint momenteel bij $349; een licentie met ondersteuning begint bij $799). Maar de reden kan ook zijn vanwege een verloren vertrouwen in Red Hat - en dus in IBM.

We recognize that not every workload belongs on RHEL; however, in our opinion, every production workload is best supported on RHEL. If you’re using CentOS Linux in a commercial deployment, we suggest you look at moving to RHEL for the added management technologies, security, and support that are an integral part of the RHEL subscription.
- Red Hat blog

Oracle Linux

Deze organisaties zullen kijken naar rpm-alternatieven, zoals het eerder besproken Rocky Linux en Alma Linux. Maar ook Oracle Linux kan bekeken worden. Oracle Linux is - net zoals Rocky en Alma Linux - een 1:1 kloon van RHEL. En uiteraard ontwikkeld en onderhouden door Oracle. Oracle Linux is niet ontstaan in de naspeel van Red Hat's aankondiging, maar is een project wat al bestaat sinds 2006. Oracle Linux is gratis te gebruiken, maar daarnaast biedt Oracle ook betaalde ondersteuning aan. Hoewel dit een alternatief voor CentOS kan zijn, staan veel systeembeheerders sceptisch tegenover deze keuze. Oracle kan - als eigenaar van Oracle Linux - ook op ieder moment een 'focus shift' aankondigen - al beloven zij met de hand op het hart van dat niet te doen. Maar Oracle is en blijft Oracle.

Rocky Linux en Alma Linux

Zowel Rocky als Alma Linux hebben in de afgelopen maanden hard getimmerd aan hun CentOS alternatief. Beiden hebben ondertussen een stabiel OS uitgebracht, 1:1 bug-for-bug compatibel met RHEL. De migratie om een CentOS 8 server naar een van deze distributies te migreren houdt niet veel meer in dan het uitvoeren van een klein bash script. Doodsimpel. Voor veel organisaties zal de keuze tussen beide distributies vooral een ethische keuze zijn: kiezen voor een distributie die volledig leunt op de community of voor een distributie die financiële ondersteuning krijgt.

CentOS Stream

Is CentOS Stream nog een optie? Op FOSDEM 2021, presenteerde Michel Salim (Production Engineer bij Facebook) dat zij aan hun medewerkers altijd Ubuntu LTS aanbeveelde als Desktop OS. Maar doordat zij CentOS op hun servers gebruikte, zijn hun aanbevelingen voor de desktop gewijzigd naar Fedora. Daar kwam nu ook CentOS Stream als optie bij, gezien als 'stable rolling release'. Ook in een presentatie van Davide Cavalca (Production Engineer bij Facebook) werd duidelijk dat Facebook ging overstappen van CentOS 7 naar CentOS Stream.

CentOS Stream is zeker niet dood en is nog altijd een alternatief voor CentOS - maar dan zonder de zekere stabiliteit van RHEL. Grote organisaties zoals Facebook hebben misschien meer (financiële) mogelijkheden dan kleinere organisaties om technische problemen te ondervangen.

CentOS Stream isn’t a replacement for CentOS Linux; rather, it’s a natural, inevitable next step intended to fulfill the project’s goal of furthering enterprise Linux innovation.
- Chris Wright, Red Hat blog

De keuze voor CentOS Stream zal ook afhangen van de applicaties wat organisaties op hun servers gebruiken. Wanneer een applicatie ontwikkelaar aangeeft om CentOS Stream niet te ondersteunen, dan zal hij zijn handen terugtrekken als je een probleem met zijn software ervaart op een CentOS Stream server. Kijk bijvoorbeeld naar het controlepaneel cPanel. Zij gaven al aan om CentOS Stream niet te zullen ondersteunen.

Note that cPanel will not support CentOS Stream.
- cPanel blog

Het controlepaneel Plesk twijfelt nog steeds op moment van schrijven:

Plesk is aware of this announcement, and the plans regarding the CentOS Stream support are currently discussed by the R&D team.
- Plesk support

Buiten de Red Hat familie

Organisaties die niet gebonden zijn aan de rpm-familie, kunnen overwegen om over te stappen naar de Debian familie, met de meest gekende distributies Debian en Ubuntu.

Ubuntu

Debian, de oer-distributie, is gekend voor zijn stabiliteit en dient als basis voor veel andere distributies - zoals Ubuntu. Debian leunt volledig op zijn community, waar Ubuntu financiële ondersteuning heeft - en eigendom is - van Canonical. Deze financiële ondersteuning maakt Ubuntu opnieuw afhankelijk, maar zorgt er ook voor dat ontwikkelaars ingehuurd en betaald worden. Ubuntu brengt iedere twee jaar een Long Term Support (LTS) versie uit, wat ze voor 5 jaar ondersteunen, optioneel gevolgd door nog eens 5 jaar betalende ondersteuning als Extended Security Maintenance (ESM).

Ubuntu LTS ondersteuning

In tegenstelling tot CentOS biedt Ubuntu "slechts" 5 jaar gratis updates aan. Dat is 5 jaar minder dan CentOS (en RHEL, Oracle Linux, Rocky Linux en Alma Linux).

Organisaties wat veel gebruik maken (of maakten) van fysieke, bare metal, servers, stemmen hun investeringen vaak af op deze release cycle. Een Ubuntu LTS versie wordt 5 jaar lang ondersteunt, zowat dezelfde tijd als een boekhoudkundige afschrijf periode voor hardware. Zij plannen de vernieuwing van hun hardware dan samen met de upgrade van het OS. In een RHEL organisatie is dat ook mogelijk, maar servers gaan vaak niet de volle 10 jaar mee. Maar het geeft wat meer ademruimte.

Ubuntu staat ook bekend om hun 'oudere' LTS versies te voorzien van een recente Linux kernel en firmware updates. Dat heeft als voordeel dat nieuwigheden in de kernel ook op oudere installaties zullen werken en dat oudere Ubuntu versies ook op nieuwe hardware zullen werken om zo het besturingssysteem op alle servers, oude en nieuwe, hetzelfde te houden. Maar de vele updates van de kernel brengen ook met zich mee dat het vaak noodzakelijk is om de herstart van een server in te plannen. Ubuntu heeft vast geplande momenten om een nieuwe versie vrij te geven. Klaar of niet klaar, de beloofde versie zal er zijn. En uiteraard, sporadisch komt het voor dat er bugs in sluipen.

Uw auteur van dit artikel is al vaker het probleem tegengekomen dat in een Ubuntu LTS versie een nieuwe kernel geïnstalleerd werd, maar dat de server nadien niet meer wilde opstarten door een 'kernel panic'. Of dat een bug in een update van Apache ervoor zorgde dat gehoste websites op een Plesk server onbereikbaar werden.

Debian

Debian, een rots in de branding. Debian brengt iedere paar jaar een nieuwe 'stable' versie van zijn OS uit. Veel systeembeheerders zweren trouw aan Debian omwille van zijn stabiliteit. Een nieuwe versie zal enkel vrijgegeven worden "wanneer hij klaar is", niet "wanneer hij gepland staat". Zo werden Debian releases al vaker uitgesteld omdat men tijdens de laatste testen nog op een of meerdere bugs stootte.

Die stabiliteit brengt met zich mee dat Debian vaak voorzien is van oudere software. Of dat een probleem is, daarover zijn de meningen verdeeld. Iedere organisatie moet voor zich uitmaken wat voor hun prioriteit heeft: recente software wat ten koste gaat van stabiliteit of extreme stabiliteit wat ten koste gaat van nieuwe features.

Een 'stable' Debian versie zal gedurende de ondersteuningsperiode van 5 jaar nooit nieuwe software versies krijgen. Software wordt enkel bijgewerkt om bugs of security problemen op te lossen, maar niet om nieuwe features te introduceren.

In tegenstelling tot Ubuntu, leunt Debian sinds zijn eerste release in 1993 volledig op de community; al bijna 30 jaar.

Wat is de beste keuze?

Uiteraard zijn er nog tal van andere distributies het vernoemen waard. Ook zijn er firma's die abonnementen aangekondigd hebben om een bestaande CentOS 8 versie te blijven ondersteunen tot 2029. Maar dat zou ons te ver leiden.

Wat voor jou en jouw organisatie de beste keuze is, daar kan je enkel zelf een antwoord op definiëren. Leunen de gebruikte applicaties sterk op de rpm-familie? Overweeg dan een alternatief zoals RHEL, Rocky Linux of Alma Linux. Is je software flexibel en heb je de tijd om de Debian familie te bekijken - en vooral: zien je systeembeheerders het zitten om zich om te scholen? Dan is dat ook zeker het overwegen waard. Misschien het ideale moment om je onafhankelijk te maken van een Linux distributie om een nieuwe lock-in in de toekomst te vermijden?

Er is geen foute keuze.