CI/CD met GitHub Actions en DevOps-pijplijnen · Les

Feature flags en progressieve rollouts

Maak deployment en release los van elkaar met feature flags, stel nieuwe functionaliteit vervolgens geleidelijk beschikbaar en schakel deze direct uit als er iets misgaat.

Les 4 van 413 stappen

Feature flags en progressieve rollouts is een gratis CI/CD met GitHub Actions en DevOps-pijplijnen-les op CoddyKit. Dit is les 4 van 4. Je kunt de volledige les hieronder gratis lezen en daarna in de browser praktisch oefenen met een ingebouwde code-editor en een AI-begeleider die 24/7 beschikbaar is. Deze les maakt deel uit van het leertraject CI/CD met GitHub Actions en DevOps-pijplijnen. Je voortgang wordt gesynchroniseerd op het web en in de CoddyKit-app. De cursus CI/CD met GitHub Actions en DevOps-pijplijnen bevat in totaal 4 lessen.

Implementeren versus releasen

Een belangrijk idee bij geavanceerde levering: code implementeren en een functie releasen zijn niet hetzelfde.

Met functievlaggen kun je code naar productie brengen, maar een functie uitgeschakeld houden totdat je besluit deze voor sommige of alle gebruikers in te schakelen.

Wat is een functievlag

Een functievlag (of schakelaar) is een voorwaardelijke controle in je code die een configuratiewaarde controleert om te bepalen of een codepad wordt uitgevoerd.

if (flags.isEnabled('new-checkout')) {
  renderNewCheckout();
} else {
  renderOldCheckout();
}

Waarom vlaggen beter zijn dan vertakkingen

Langdurige functiebranches leiden tot pijnlijke samenvoegingen. Met vlaggen kun je kleine wijzigingen voortdurend naar main samenvoegen terwijl de functie verborgen blijft.

  • Kleinere, veiligere pull requests
  • Trunk-based development
  • Direct in- en uitschakelen zonder opnieuw te implementeren

Soorten vlaggen

Vlaggen dienen verschillende doelen:

  • Releasevlaggen — onvoltooid werk verbergen
  • Operationele vlaggen — noodschakelaars voor risicovolle systemen
  • Experimentvlaggen — A/B-tests
  • Toestemmingsvlaggen — premiumgebruikers toegang geven

Als je het type kent, kun je de levensduur ervan bepalen.

Doelgroepregels

Met vlagplatforms kun je bepalen wie een functie ziet: op basis van gebruikers-ID, groep, regio of een percentage.

Dit maakt een geleidelijke uitrol mogelijk die door configuratie wordt gestuurd in plaats van door nieuwe infrastructuur te implementeren.

Uitrollen per percentage

Een veelgebruikt patroon is om een vlag eerst voor een klein percentage gebruikers in te schakelen en dit daarna op te voeren: 1%, vervolgens 10%, 50% en uiteindelijk 100%.

In tegenstelling tot een canary, die verkeer op infrastructuurniveau opsplitst, is dit een logische uitrol die in de codeconfiguratie wordt beheerd.

// Pseudo targeting config
flag: new-checkout
rollout:
  percentage: 10
  attribute: userId

Noodschakelaars

Het grootste operationele voordeel: als een functie met een vlag zich misdraagt, schakel je deze direct uit zonder een rollback-implementatie.

Dit verkort de gemiddelde hersteltijd aanzienlijk ten opzichte van code terugzetten en opnieuw implementeren.

Vlaggen in de pijplijn

Je kunt wijzigingen aan vlaggen integreren in CI/CD. Zo kan een workflowstap een vlag na een geslaagde implementatie inschakelen of een geleidelijke uitbreiding plannen.

  - name: Enable feature
    run: |
      curl -X PATCH https://flags.example.com/api/flags/new-checkout \
        -H "Authorization: Bearer ${{ secrets.FLAG_TOKEN }}" \
        -d '{"enabled": true}'

Standaard uit en veilig

Ontwerp vlaggen altijd zo dat ze veilig falen: als de vlagservice niet bereikbaar is, moet de code terugvallen op de bekende veilige standaardwaarde (meestal uit).

Een functievlag mag nooit een single point of failure worden.

const enabled = flags.isEnabled('new-checkout', { default: false });

Vlaggen opruimen

Vlaggen creëren vertakkende codepaden. Verouderde vlaggen worden technische schuld en brengen lezers in verwarring.

Verwijder een releasevlag en het oude codepad zodra de uitrol volledig is en stabiel werkt. Houd de levensduur van vlaggen bewust bij.

Vlaggen en implementatiepatronen

Functievlaggen vormen een aanvulling op blue/green- en canary-implementaties. Infrastructuurpatronen verschuiven verkeer; vlaggen verschuiven functionaliteit.

Door beide te gebruiken krijg je de veiligst mogelijke release: implementeer stilletjes, onthul daarna geleidelijk en schakel direct uit als dat nodig is.

Korte controle

Test je kennis van functievlaggen.

Samenvatting

Je hebt geleerd implementatie en release van elkaar te scheiden met functievlaggen.

  • Vlaggen verbergen code achter een voorwaardelijke controle die door configuratie wordt gestuurd
  • Doelgroepbepaling maakt geleidelijke uitrol per percentage mogelijk
  • Noodschakelaars zorgen voor direct herstel zonder opnieuw te implementeren
  • Ontwerp vlaggen zodat ze veilig falen en ruim ze op om schuld te voorkomen

In combinatie met blue/green en canary maken vlaggen je gereedschapskist voor geavanceerde levering compleet.

Gratis beginnen

Leer CI/CD met GitHub Actions en DevOps-pijplijnen met een AI-tutor — gratis

Schrijf echte code en voer die uit in je browser, krijg direct hulp van een AI-tutor die 24/7 beschikbaar is en ga verder waar je gebleven bent op het web of in de app.

Cursussen
12
Lessen
48

Veelgestelde vragen

Is de les “Feature flags en progressieve rollouts” gratis?

Ja — de volledige tekst van “Feature flags en progressieve rollouts” kun je hier gratis op het web lezen. Als je interactief wilt oefenen met een ingebouwde code-editor en een AI-begeleider die 24/7 beschikbaar is, en de rest van de cursus CI/CD met GitHub Actions en DevOps-pijplijnen wilt ontgrendelen, kun je upgraden naar CoddyKit PRO. De cursus CI/CD met GitHub Actions en DevOps-pijplijnen bevat in totaal 4 lessen.

Wat leer ik in “Feature flags en progressieve rollouts”?

Maak deployment en release los van elkaar met feature flags, stel nieuwe functionaliteit vervolgens geleidelijk beschikbaar en schakel deze direct uit als er iets misgaat. Je oefent met CI/CD met GitHub Actions en DevOps-pijplijnen door code rechtstreeks in de browser uit te voeren. Een AI-begeleider die 24/7 beschikbaar is beantwoordt je vragen terwijl je de les doorwerkt.

Heb ik ervaring nodig om met CI/CD met GitHub Actions en DevOps-pijplijnen te beginnen?

Ervaring vooraf is niet nodig. CI/CD met GitHub Actions en DevOps-pijplijnen op CoddyKit is opgebouwd voor beginners tot gevorderden, zodat je hier of bij het begin kunt starten en in je eigen tempo kunt leren. Dit is les 4 van 4.

Hoe lang duurt de les “Feature flags en progressieve rollouts”?

De meeste lessen van CoddyKit duren ongeveer 5–10 minuten. Elke les is kort en interactief, zodat je gestaag vooruitgaat en op het web en in de app precies verdergaat waar je was gebleven.

Kan ik code schrijven en uitvoeren in deze les over CI/CD met GitHub Actions en DevOps-pijplijnen?

Ja. Elke les over CI/CD met GitHub Actions en DevOps-pijplijnen bevat een ingebouwde code-editor, zodat je rechtstreeks in je browser echte code kunt schrijven en uitvoeren en direct feedback van AI krijgt — lokale installatie is niet nodig.

Alle lessen in deze cursus

  1. Blue/Green-deployments
  2. Canary-releases met Actions
  3. Rollbacks en disaster recovery
  4. Feature flags en progressieve rollouts
← Terug naar CI/CD met GitHub Actions en DevOps-pijplijnen