Cube vermindert de complexiteit van de toolchain en versnelt de levering van software met GitLab.

Trots waren we toen Gitlab ons vroeg of er een kennisartikel mocht worden gemaakt over de wijze waarop wij werken met onze opdrachtgevers in de software tool. Hierbij delen we graag de Nederlandse vertaling van het artikel op gitlab.com.

Mans Booijink

MansOperations Manager | Management

dsc04138.jpg

Bron (geschreven door Gitlab.com): https://about.gitlab.com/blog/2023/02/07/how-cube-uses-gitlab-to-increase-efficiency-and-productivity/

Zes jaar geleden worstelde Cube, een in Nederland gevestigd softwareontwikkelingsbedrijf, met een gefragmenteerde en geïsoleerde toolchain. Het bedrijf wilde ook een allesomvattende oplossing die ontwikkelings-, beveiligings- en operationele teams zou samenbrengen en een enkele bron van waarheid zou creëren voor een betere samenwerking met hun klanten. Dus kozen ze voor het DevSecOps-platform van GitLab.

Operations Manager Mans Booijink en Lead Developer Remi Buijvoets gingen bij GitLab zitten om te vertellen hoe de overstap naar een alles-in-één DevSecOps-platform een significant en positief verschil heeft gemaakt bij Cube - intern en bij opdrachtgevers - en waarom ze blij zijn met de verhuizing.

Voordat we in hun migratieverhaal duiken, is hier een momentopname van de verbeteringen die Cube heeft bereikt met GitLab:

  • Verbeterde leveringssnelheid van CI/CD

  • Verbeterde responstijd op serviceniveau (SLA).

  • 80% van de Cube-klanten werkt actief in GitLab

  • Single source of truth samenwerking

mans-booijink.jpg
remi-buijvoets.jpg

Waarom maakte Cube de overstap naar GitLab?

Voordat we de overstap maakten, gebruikten we een combinatie van Bitbucket, Trello en Jira. De combinatie veroorzaakte een gefragmenteerde, geïsoleerde toolchain. Er waren veel mogelijkheden om de efficiëntie te verbeteren. Dus begonnen we GitLab te gebruiken omdat we een DevOps-systeem wilden dat ticketbeheer, beveiliging en samenwerking met opdrachtgevers omvat. GitLab werkt niet alleen efficiënt, maar de acceptatie is ook snel en gemakkelijk. We hebben ons GitLab-gebruikersbestand de afgelopen drie jaar zelfs verdrievoudigd van 20 naar bijna 70. Nu maakt bijna de hele Cube-organisatie gebruik van GitLab. Onze opdrachtgevers en collega's (designers, developers en projectmanagers) kunnen eenvoudig communiceren door in dezelfde GitLab-omgeving te werken.

Heeft Cube nog iets anders geprobeerd vóór GitLab?

We hebben andere tools uitgeprobeerd voordat we naar GitLab verhuisden. Maar GitLab bood alles wat we nodig hadden: ticketbeheer, CI/CD, DevOps, versiebeheer, bestandsbeheer en beveiliging. Het duurde niet lang voordat we beseften dat GitLab perfect was, omdat we één tool wilden hebben waarin we allemaal samenwerken met onze opdrachtgevers en ons team.

Nu Cube GitLab gebruikt, hoe is uw toolchain veranderd?

GitLab heeft alles vereenvoudigd tot één bron van de gezamenlijke waarheid. De software draait bij ons op een private cloud in Nederland en we hebben Sentry geïntegreerd voor error monitoring. De volledige toolchain draait nu in Gitlab.

Hoe heeft GitLab CI/CD Cube geholpen?

GitLab CI helpt ons het softwareontwikkelingsproces te automatiseren door GitLab-pijplijnen en runners te gebruiken om onze code te implementeren. Binnen de pijplijnen voeren we linters uit om de kwaliteit van de code te controleren. Ook worden er unit- en functionele tests uitgevoerd om de werking van de applicatie te waarborgen. Wanneer er een fout optreedt of wanneer een test mislukt, zal de pijplijn mislukken. GitLab CI verbeterd de levenscyclus van onze software en helpt ons om de kwaliteit van onze software te bewaken, wat essentieel is.

GitLab CI helpt zeker bij de snelheid van levering, maar ook veel bij het vergemakkelijken van rollbacks wanneer een release per ongeluk een bug bevat. We gebruiken een releaseschema en GitLab helpt ons om het meeste werk te automatiseren, zodat we precies op tijd kunnen leveren.

GitLab CD verbetert de snelheid van onze code-implementaties. Wanneer de pijplijnen slagen, kunnen ontwikkelaars ervoor zorgen dat alles naar behoren werkt. Hierdoor kunnen ontwikkelaars zich meer richten op de ontwikkeling zelf en hoeven ze de focus niet te verliezen door mee te denken over de implementatie. We hebben ook een lokale machine geïntroduceerd die releases bouwt. De machine wordt on-premises gehost en heeft veel bronnen. Meerdere GitLab Runners gebruiken deze machine om releases te bouwen. Het gebruik van de GitLab Runners met een server op locatie was eenvoudig te configureren voor ons.

Hoe hebben de Agile-mogelijkheden van GitLab uw bedrijf geholpen efficiënter te worden?

Vóór GitLab gebruikten we verschillende communicatiekanalen met onze opdrachtgevers. Nu geeft GitLab ons een centrale, toegankelijke plek voor alle communicatie. We gebruiken GitLab ook voor Agile-ontwikkeling. We hebben onze epics om grotere ontwikkelingsprojecten te beheren, en we gebruiken ook milestones. We doen wekelijks vier tot zes releases per week en we beheren ze allemaal door milestones te creëren die voor alle betrokkenen zichtbaar zijn. We voorzien alle tickets van requirements, impact, betrokkenen etc. We gebruiken GitLab voor 90% van ons projectbeheer, Agile-beheer en werkende functionaliteiten, wat zeer effectief blijkt te zijn.

Hoe meet je het succes van je GitLab-migratie?

We meten de doorlooptijd van de levering. De resultaten van elke afzonderlijke fase in de oplevering worden nauwkeurig gelogd. Zo kunnen wij aantonen dat wij de gemaakte afspraken naar onze opdrachtgevers nakomen. Ook houden we bij hoe efficiënt de verschillende fasen tijdens het ontwikkelproces zijn, en of ze verbeteren ten opzichte van het verleden.

Omdat we GitLab integraal gebruiken gedurende het hele proces, is het een zeer waardevolle en bruikbare bron van informatie.

dsc04366.jpg