Terug naar overzicht
Techblogs

Je infrastructuur is ook gewoon code. Zo krijg je meer grip met GitOps.

Handmatige wijzigingen, losse scripts en directe toegang tot productie maken infrastructuur al snel lastig beheersbaar. GitOps brengt daar structuur in. Je legt wijzigingen vast in Git, laat ze reviewen en automatiseert de uitrol. Zo krijg je meer grip op je infrastructuur en weet je beter wat er daadwerkelijk draait. Lees hier alles over in onderstaande blog en meld je aan voor het webinar 'GitOps in de praktijk: van SSH naar pull request' op 1 oktober om GitOps ook in de praktijk te zien.

Door:
Peter Bult, Sales Lead Consultant
Meld je aan

Veel infrastructuur is door de jaren heen steeds verder geautomatiseerd. Toch gebeurt er achter de schermen nog verrassend veel handmatig: een beheerder logt via SSH in op een productieserver. Een configuratie wordt rechtstreeks aangepast. Een script draait vanaf een lokale laptop. Het werkt. Tot een paar weken later niemand meer precies weet wat er is veranderd en waarom.

GitOps pakt dat anders aan. Het uitgangspunt is eenvoudig: behandel je infrastructuur zoals je softwarecode behandelt. Leg wijzigingen vast, laat ze beoordelen, automatiseer de uitrol en zorg dat je altijd kunt terugvinden wat er is gebeurd. Dat geeft teams niet alleen meer controle. Het maakt deployments ook voorspelbaarder, veiliger en eenvoudiger te herstellen.

Handmatig werkt, totdat het niet meer werkt

Directe servertoegang en losse scripts zijn niet per definitie verkeerd. Zeker in kleinere omgevingen kunnen ze lange tijd prima werken. Het probleem ontstaat wanneer de omgeving groeit: meer applicaties, servers, engineers en wijzigingen. Dan wordt het steeds lastiger om overzicht te houden. De configuratie op productie wijkt af van staging, documentatie loopt achter en soms zit cruciale kennis vooral in het hoofd van degene die de omgeving het beste kent. Dat maakt een infrastructuur kwetsbaar en moeilijk reproduceerbaar.

https://s3.eu-central-1.amazonaws.com/previder-2021/media/Blogs/Tradioneel-beheer-naar-GitOps.png

Git als centrale bron van waarheid

Het principe achter GitOps is overzichtelijk: configuraties, deployments en infrastructuurregels leg je vast in een Git repository. Daar beschrijf je de gewenste situatie. Een GitOps tool controleert vervolgens continu of de werkelijke omgeving daarmee overeenkomt. Wijkt de omgeving af, dan kan het systeem die afwijking signaleren of automatisch corrigeren. Je kunt het vergelijken met een thermostaat: je stelt niet iedere minuut zelf de verwarming bij. Je bepaalt de gewenste temperatuur en het systeem zorgt dat die wordt bereikt en behouden.

Bij GitOps beschrijft Git de gewenste situatie. Tools zoals ArgoCD en Flux zorgen ervoor dat de daadwerkelijke omgeving daarmee blijft overeenkomen. Dat verschuift de manier waarop je infrastructuur beheert. Niet langer: wat draait er nu eigenlijk? Maar: dit hebben we vastgelegd, dus dit hoort er te draaien.

Wat levert GitOps op?

GitOps levert vooral winst op in controle, snelheid en voorspelbaarheid. Concreet betekent dat:

  • Volledige audittrail: iedere wijziging staat in Git. Je ziet wie iets heeft aangepast, wanneer dat is gebeurd en waarom. Dat maakt wijzigingen beter controleerbaar en eenvoudiger te onderzoeken.
  • Sneller terugdraaien: gaat een wijziging niet goed, dan kun je eenvoudig terug naar een eerdere versie. Omdat de configuratie is vastgelegd, hoef je niet eerst uit te zoeken welke handmatige stappen opnieuw uitgevoerd moeten worden.
  • Reproduceerbare omgevingen: dezelfde configuratie vormt steeds opnieuw de basis voor dezelfde omgeving. Zo verklein je verschillen tussen development, test, staging en productie.
  • Minder directe toegang tot productie: Engineers hoeven minder vaak rechtstreeks wijzigingen op productie uit te voeren. Wijzigingen lopen via Git, review en automatisering. Dat maakt het proces beter beheersbaar en verkleint de kans op ongecontroleerde aanpassingen.
  • Meer vertrouwen in deployments: doordat wijzigingen worden vastgelegd, beoordeeld en gecontroleerd uitgerold, kunnen teams vaker en met meer zekerheid deployen. Dat geeft meer controle én meer ruimte om door te ontwikkelen.

GitOps vraagt meer dan alleen tooling

GitOps klinkt eenvoudig, maar de invoering vraagt wel om goede keuzes. Niet ieder gegeven hoort bijvoorbeeld in een Git repository thuis, secrets en andere gevoelige informatie vragen om een eigen aanpak. Ook de manier waarop je team werkt verandert. Engineers die gewend zijn rechtstreeks op servers te werken, moeten hun wijzigingen voortaan via Git uitvoeren. Daarnaast speelt de technische omgeving een rol. GitOps wordt veel toegepast in combinatie met Kubernetes, maar dat betekent niet dat iedere situatie automatisch geschikt is voor dezelfde aanpak. Juist daarom is het belangrijk om niet alleen naar de tooling te kijken. De echte vraag is: hoe richt je een GitOps werkwijze zo in dat die past bij jouw infrastructuur, je team en de manier waarop je wilt ontwikkelen?