Wij hebben onze Composer repository vernieuwd!

Tom Ketels

June 14, 2024

4 min lezen

Bij Bigbridge staat kwaliteit en innovatie hoog in het vaandel. We zijn continu bezig om processen te optimaliseren en systemen te vernieuwen. Zo blijven wij altijd voorop lopen als het gaat om technologische ontwikkelingen. Ditmaal was onze Composer repository (afgekort "repo") aan de beurt. In dit artikel lees je wat we precies hebben verbeterd en waarom dit voor jou belangrijk is!

Wat is een Composer repository?

We beginnen bij het begin. Mocht je een developer zijn of al over deze technische kennis beschikken, dan kun je de komende twee alinea’s overslaan ;)

Jouw Magento 2 webshop bestaat uit allerlei verschillende componenten. Denk bijvoorbeeld aan verschillende extensies, thema’s en modules die onderdeel zijn van jouw shop. Deze componenten, ofwel packages, worden afzonderlijk beheerd door Composer en opgeslagen in Composer repositories (afgekort repo’s). De repositories fungeren als het ware als de bronnen waaruit Composer alle benodigde bestanden voor de componenten van jouw shop downloadt en installeert. Wanneer er nieuwe versies beschikbaar komen, speelt Composer ook een belangrijke rol bij het afhandelen van updates.

Losse repositories vs. een eigen repository

Het is belangrijk om te weten dat er verschillende repositories zijn, waarbij wij het onderscheid maken tussen losse repositories en een eigen repository. Losse repositories zijn individuele opslagplaatsen die afzonderlijk worden beheerd en verspreid zijn over verschillende locaties. Deze kunnen openbaar zijn, waarbij vaak wordt verwezen naar een publiek toegankelijke repository zoals Git. Dit wordt vaak gebruikt om code en projecten te kunnen delen met anderen.

Een eigen repository is een centrale opslagplaats waarin alle (Magento) projecten of bestanden van een organisatie worden gehost. Hierdoor kunnen teams efficiënt samenwerken aan verschillende projecten binnen dezelfde omgeving, wat resulteert in een betere coördinatie en beheer van broncode en bestanden.

De Bigbridge Composer Repo

Vaak als wij Magento projecten overnemen, zien wij dat er gebruik wordt gemaakt van allerlei losse repositories. Dit betekent dus dat iedere extensie, thema of module een eigen repository gebruikt.

Jaren geleden hebben wij voor een eigen Bigbridge Composer Repo gekozen omdat dit een aantal grote voordelen met zich meebrengt. Samengevat, maakt het Magento development makkelijker, veiliger en sneller. Hier plukken onze klanten direct de vruchten van!

Voordelen van de Bigbridge Composer repository

Zoals hierboven genoemd, zitten er verschillende voordelen aan het hebben van een eigen Composer repository. Deze hebben wij hieronder uiteengezet op het gebied van stabiliteit, veiligheid en snelheid (performance).

Stabiliteit

  1. Het risico op downtime als gevolg van externe repository-uitval wordt geminimaliseerd doordat je lokaal toegang hebt tot alle packages. Hierdoor kunnen we blijven werken, zelfs als externe bronnen tijdelijk niet beschikbaar zijn.
  2. De betrouwbaarheid van build processen / Magento ontwikkeling wordt verhoogd, aangezien we alle packages lokaal kunnen ophalen. Dit zorgt ervoor dat onze development workflow niet wordt beïnvloed, zelfs als externe repo’s tijdelijk niet beschikbaar zijn.
  3. Doordat we de packages lokaal hebben draaien, zijn ze altijd benaderbaar, ook als de uitgever ermee besluit te stoppen. Dit garandeert de continue beschikbaarheid van de benodigde packages voor onze Magento projecten.

Veiligheid

  1. Een eigen Composer-repository biedt ons volledige controle over wie toegang heeft tot de repository. Dit versterkt de beveiliging door de zichtbaarheid van interne code te beperken. Bovendien biedt het volledige controle over welke packages beschikbaar zijn en wie toegang heeft, waardoor Bigbridge maximale veiligheid en privacy behoudt.
  2. Het systeem is beschermd tegen beveiligingsrisico's die kunnen ontstaan door externe repository-uitval of wijzigingen. We kunnen de controle behouden over de veiligheid van onze code, zelfs in onvoorziene omstandigheden.
  3. Als voorzorgsmaatregel hebben we een externe backup van onze Composer-repository voor noodgevallen. Dit waarborgt dat we altijd kunnen herstellen, zelfs in onverwachte omstandigheden.
  4. Alle aangekochte licenties zijn veilig centraal opgeslagen in onze Composer-repository, waardoor we gemakkelijk licentiebeheer kunnen uitvoeren en onze software op elk gewenst moment kunnen valideren.
  5. Beveiligingskeys hoeven alleen bewaard te worden op de desbetreffende repository, waardoor we de controle en veiligheid van onze keys kunnen waarborgen zonder verspreiding over meerdere locaties.

Snelheid/Performance

  1. Het lokaal hosten van pakketten maakt snellere downloads mogelijk in vergelijking met het ophalen van gegevens van externe bronnen. Hierdoor verbeteren we de ontwikkelingssnelheid en optimaliseren we de prestaties van onze systemen.
  2. Dit minimaliseert vertragingen die kunnen optreden als gevolg van de latency van externe repositories. Door lokaal toegang te hebben tot packages, verhogen we de efficiëntie van ons ontwikkelproces en verminderen we wachttijden bij het ophalen van benodigde code.

Dit hebben we vernieuwd

Allereerst hebben we onze Composer repository op een nieuwe, externe server geplaatst. Daarnaast hebben we als extra beveiligingsmaatregel Single Sign-On (SSO) geïmplementeerd. Met SSO hoeven gebruikers slechts één set inloggegevens te beheren, waardoor het risico op zwakke wachtwoorden of hergebruik van wachtwoorden aanzienlijk wordt verminderd.

Deze aanpak maakt het mogelijk om gebruikersaccounts centraal te beheren via een enkelvoudig beheerplatform, wat op zijn beurt het proces van toevoegen, wijzigen en verwijderen van gebruikers en hun toegangsrechten voor de Composer-repo vereenvoudigt.

Daarnaast verschaft SSO meer controle over de toegangsrechten en beveiligingsbeleid, wat aanzienlijk bijdraagt aan het naleven van regelgeving en compliance-vereisten met betrekking tot gegevensbescherming en toegangscontrole.

Heb je vragen over dit artikel of onze Composer repository? Neem dan contact met ons op! We helpen je graag.

Hebben wij jouw
interesse gewekt?

Laten we er eens over kletsen, onder het genot van een goede kop koffie!

neem contact op