Mo­du­les ver­hel­pen om­ge­vings­af­han­ke­lijk­he­den

C’t Magazine - - Achtergrond | Linux vernieuwt: distributies -

Red Hat en Su­se wer­ken be­hal­ve aan hun nieu­we dis­tri­bu­ties aan een ma­nier om hun klas­sie­ke dis­tri­bu­ties flexi­be­ler te ma­ken. Ze wil­len met na­me het ge­jong­leer met al­ler­lei ver­sies van pro­gram­ma's een­vou­di­ger ma­ken. Be­heer­ders en ont­wik­ke­laars zou­den op die ma­nier gro­te­re on­der­de­len van een dis­tri­bu­tie in één keer door nieu­we ver­sies kun­nen ver­van­gen. Dat moet het een­vou­di­ger ma­ken een nieu­we run­ti­me-om­ge­ving of ont­wik­kel­tools te ge­brui­ken op ser­vers en desktops, en om met con­tai­ne­ri­ma­ges te wer­ken.

Ont­wik­ke­laars wil­len met een be­stu­rings­sys­tee­m­om­ge­ving wer­ken die lang wordt on­der­steund en die in de tus­sen­tijd niet sig­ni­fi­cant wordt ge­wij­zigd. Ze moe­ten ech­ter soms wel kun­nen wer­ken met de nieuw­ste ver­sies van de tools die be­lang­rijk zijn voor hun werk, zo­als een pri­mai­re run­ti­me-om­ge­ving (Ja­va, Py­thon, PHP …), een gra­fi­sche tool­kit (GTK+, Qt …), een da­ta­ba­se (MySQL, Post­g­re-SQL …) en ont­wik­ke­laar­stools (Git, Eclip­se, com­pi­lers …).

Die com­bi­na­tie van wen­sen is moei­lijk te re­a­li­se­ren met een Li­nuxin­stal­la­tie die lo­kaal uit pak­ket­ten wordt sa­men­ge­steld. Die din­gen ma­ken ten­slot­te deel uit van de dis­tri­bu­tie, waar­bij er ei­gen­lijk niets moet ver­an­de­ren. Te­ge­lij­ker­tijd voor­ziet de sup­port niet in ma­nie­ren om bij­voor­beeld een nieu­we­re ver­sie van Ja­va of PHP te in­stal­le­ren. Er zijn ook maar wei­nig dis­tri­bu­ties die een een­vou­di­ge­re ma­nier bie­den om nieu­we run­ti­me-om­ge­vin­gen pa­ral­lel te in­stal­le­ren.

Er­va­ren Li­nux-ge­brui­kers we­ten dat wel op te los­sen door de pak­ket­ten uit de dis­tri­bu­tie door nieu­we­re te ver­van­gen. Het wordt al snel in­ge­wik­keld om die te vin­den of zelf te bou­wen, maar met eni­ge moei­te krijg je het wel ge­daan. Dat kan wel snel re­sul­te­ren in een fra­gie­le con­struc­tie die moei­lijk te be­he­ren is en waar­bij je zelf moei­te moet doen om vei­lig­heids­ga­ten tij­dig te dich­ten.

Be­heer­ders heb­ben soms ook met zul­ke si­tu­a­ties te ma­ken, bij­voor­beeld wan­neer hun baas soft­wa­re aan­schaft die een nieu­we­re Ja­va- of PHP-ver­sie no­dig heeft dan de ver­sie die draait op de hui­di­ge ser­ver­dis­tri­bu­tie. En dan is er een nog com­plexer sce­na­rio waar­bij soft­wa­re A al­leen op een ou­de­re run­ti­me-om­ge­ving draait, ter­wijl soft­wa­re B juist een nieu­we­re no­dig heeft. Con­tai­ners bie­den daar een op­los­sing voor. Ze be­vat­ten een be­stu­rings­sys­tee­m­om­ge­ving (maar dan zon­der ker­nel) die in ge­val van twij­fel door de be­heer­der zelf bij­ge­hou­den moet wor­den. Een Red-Hat-goe­roe met ja­ren­lan­ge er­va­ring zal in een con­tai­ne­ri­ma­ge dan lie­ver RPM-pak­ket­ten aan­tref­fen dan een Gen­too-user­land.

Su­se en Red Hat/Fe­do­ra ko­men die twee wen­sen te­ge­moet met mo­du­le­con­cep­ten. Bij Su­se Li­nux En­ter­pri­se (SLE) zijn al en­ke­le ja­ren mo­du­les be­schik­baar. Een daar­van is de Web and Scrip­ting Mo­du­le, die om de an­der­half jaar wordt ver­nieuwd. Hij be­schikt over re­la­tief nieu­we ver­sies van PHP, Py­thon, No­de.js of Ruby on Rails. Daar­bij zit er wel een ad­der­tje on­der het gras: en­ke­le com­po­nen­ten die vroe­ger in SLE za­ten, zijn nu al­leen nog maar be­schik­baar als mo­du­les. Daar­van stopt Su­se veel eer­der de sup­port. De Web and Scrip­ting Mo­du­le wordt bij­voor­beeld maar drie jaar on­der­steund, waar­door je soft­wa­re veel va­ker aan nieu­we om­ge­vings­ver­eis­ten moet aan­pas­sen.

Red Hat En­ter­pri­se Li­nux (RHEL), en het daar­van af­ge­lei­de CentOS, pakt het pro­bleem aan via zo­ge­naam­de Soft­wa­re Col­lec­ti­ons. Daar­mee kun je bij­voor­beeld een nieu­we­re PHP-ver­sie in­rich­ten naast de ver­sie die met de dis­tri­bu­tie wordt mee­ge­le­verd. De ont­wik­ke­laars van Red Hat wer­ken mo­men­teel ech­ter aan een nieu­we me­tho­de, die ze Mo­du­la­ri­ty noe­men. Die kun je al uit­pro­be­ren bij de ser­ver­va­ri­ant van Fe­do­ra. De com­po­nen­ten blij­ven daar­bij deel uit­ma­ken van de dis­tri­bu­tie. Er zijn ech­ter op­ti­o­ne­le mo­du­les via de pak­ket­ma­na­ger be­schik­baar die dis­tri­bu­tie­com­po­nen­ten kun­nen ver­van­gen. Als je bij­voor­beeld een nieu­we PHP-ver­sie no­dig hebt, dan kun je een nieu­we­re PHP-mo­du­le via het Fe­do­ra-pro­ject in­stal­le­ren. Die be­vat niet al­leen PHP, maar ook al­le bij­be­ho­ren­de tools en ex­ten­sies. De mo­du­le ruilt daar­mee de PHP-stack van de dis­tri­bu­tie in voor een nieu­we­re stack, ter­wijl de rest in­tact blijft. Die aan­pak is in ont­wik­ke­ling en nog niet vol­tooid. Al­les lijkt er wel op te dui­den dat de vol­gen­de RHEL-ge­ne­ra­tie sterk op dat con­cept zal leu­nen.

Net als el­ke tech­niek, heb­ben die mo­du­lai­re con­cep­ten niet al­leen voor­de­len maar ook na­de­len. Bei­de Li­nux­zwaar­ge­wich­ten we­ten er be­dui­dend meer flexi­bi­li­teit mee te krij­gen, wat een voor­deel kan zijn voor hand­ma­tig ge­ïn­stal­leer­de ser­vers en work­sta­ti­ons. Maar het is met na­me van be­lang dat het ge­heel kan wor­den ge­au­to­ma­ti­seerd en op gro­te schaal kan wor­den ge­re­pro­du­ceerd en uit­ge­rold. Daar­bij is het niet al­leen be­lang­rijk dat soft­wa­re di­rect op de hard­wa­re draait. Mo­du­les moe­ten er ook voor zor­gen dat be­stu­rings­sys­tee­m­om­ge­vin­gen voor con­tai­ners lich­ter, ge­au­to­ma­ti­seerd en re­pro­du­ceer­baar exact zo kun­nen wor­den sa­men­ge­steld als be­heer­ders en ont­wik­ke­laars no­dig heb­ben voor De­vOps.

Su­se heeft ver­schil­len­de run­ti­me­om­ge­vin­gen en com­po­nen­ten in mo­du­les ge­zet. Dat biedt ge­brui­kers meer flexi­bi­li­teit, maar kan be­heer com­plexer ma­ken.

Newspapers in Dutch

Newspapers from Netherlands

© PressReader. All rights reserved.