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.
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: userIdNoodschakelaars
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.
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
- Blue/Green-deployments
- Canary-releases met Actions
- Rollbacks en disaster recovery
- Feature flags en progressieve rollouts