Blue/Green-deployments
Stel Blue/Green-deploymentstrategieën in met GitHub Actions om downtime te minimaliseren en snelle rollbacks mogelijk te maken.
Blue/Green-deployments is een gratis DevOps-bootcamp-les op CoddyKit. Dit is les 1 van 4. Je kunt 3 lessen uit dit leerpad gratis volledig lezen — daarna ontgrendelt CoddyKit PRO alle lessen, plus praktische oefeningen met een ingebouwde code-editor en een AI-tutor die 24/7 beschikbaar is. Deze les maakt deel uit van het leertraject DevOps-bootcamp. Je voortgang wordt gesynchroniseerd op het web en in de CoddyKit-app. De cursus DevOps-bootcamp bevat in totaal 4 lessen.
Wat is blauw-groene implementatie?
Welkom! In deze les gaan we dieper in op blauw-groene implementaties, een krachtige strategie voor het uitbrengen van nieuwe software.
Deze strategie is ontworpen om uitvaltijd en risico's tijdens implementaties te beperken, zodat je gebruikers altijd een soepele ervaring hebben.
Blauw en groen begrijpen
Stel je voor dat je twee identieke productieomgevingen hebt: één met de naam "Blue" en één met de naam "Green".
- Blue: Dit is je huidige actieve omgeving die al het gebruikersverkeer verwerkt.
- Green: Dit is een inactieve, identieke omgeving die wordt gebruikt om nieuwe versies te implementeren en te testen.
Hoe blauw-groen werkt
Het proces is eenvoudig maar doeltreffend:
- Implementeer je nieuwe applicatieversie in de Green-omgeving (de inactieve omgeving).
- Test de nieuwe versie grondig in Green.
- Schakel, zodra je vertrouwen hebt in de versie, al het gebruikersverkeer van Blue naar Green.
- De oude Blue-omgeving is nu inactief en kan worden behouden voor snelle terugdraaiacties of updates.
Waarom blauw-groen gebruiken?
Deze strategie biedt belangrijke voordelen:
- Geen uitvaltijd: Gebruikers schakelen naadloos over naar de nieuwe versie zonder onderbreking.
- Direct terugdraaien: Als er problemen ontstaan, schakel je het verkeer eenvoudig terug naar de stabiele Blue-omgeving.
- Minder risico: Test nieuwe versies in een productieachtige omgeving voordat je ze actief maakt.
Wat je nodig hebt
Voor een blauw-groene implementatie heb je doorgaans het volgende nodig:
- Load balancer: Om verkeer naar de Blue- of Green-omgeving te sturen.
- Twee identieke omgevingen: Vaak gebaseerd op de cloud, zodat consistentie wordt gewaarborgd.
- Automatiseringstool: Zoals GitHub Actions, om implementaties en het omschakelen van verkeer te beheren.
Orkestreren met GitHub Actions
GitHub Actions kan elke stap van je blauw-groene implementatie automatiseren.
Je kunt workflows definiëren om:
- Te bouwen en te implementeren in de inactieve omgeving.
- Geautomatiseerde tests uit te voeren tegen de nieuwe implementatie.
- Het omschakelen van verkeer te activeren via de API van je load balancer of via een script.
De nieuwe versie implementeren
Hier zie je een vereenvoudigd GitHub Actions-fragment voor het implementeren van je nieuwe app-versie in de omgeving 'Green'. Let op het gebruik van een naam voor environment.
name: Deploy to Green
on:
push:
branches:
- main
jobs:
deploy-green:
runs-on: ubuntu-latest
environment: Green # Target the Green environment
steps:
- name: Checkout code
uses: actions/checkout@v4
- name: Deploy app to Green
run: |
echo "Deploying application version ${{ github.sha }} to Green environment..."
# Your actual deployment commands go here
# e.g., deploy to a specific AWS EC2 instance or Kubernetes namespaceHet verkeer omschakelen
Na een geslaagde implementatie en test is de laatste stap het omschakelen van het verkeer. Hierbij wordt vaak een load balancer of DNS-record bijgewerkt.
Hier volgt een conceptuele GitHub Actions-stap die deze omschakeling activeert:
name: Switch Traffic to Green
on:
workflow_dispatch: # Manual trigger for traffic switch
jobs:
switch-traffic:
runs-on: ubuntu-latest
steps:
- name: Update Load Balancer to Green
run: |
echo "Switching load balancer traffic to Green environment..."
# Call your load balancer's API or a script here
# e.g., aws elbv2 modify-target-group-attributes ...
# or kubectl apply -f green-ingress.yamlDirect terugdraaien
Wat gebeurt er als je het verkeer naar Green omschakelt en er een kritieke fout optreedt?
Met blauw-groen kun je de wijziging direct terugdraaien! Je schakelt het verkeer van de load balancer gewoon terug naar de oorspronkelijke, stabiele Blue-omgeving.
Dit beperkt de impact van incidenten en verkort de hersteltijd aanzienlijk.
Belangrijke aandachtspunten
Hoewel blauw-groen krachtig is, zijn er enkele aandachtspunten:
- Duplicatie van resources: Je gebruikt twee volledige omgevingen, waardoor de infrastructuurkosten kunnen verdubbelen.
- Databasemigraties: Het verwerken van wijzigingen in de database kan complex zijn, omdat zowel Blue als Green mogelijk toegang tot dezelfde gegevensopslag nodig hebben.
- Toepassingen met status: Voor toepassingen met persistente status is een zorgvuldige planning nodig.
Kennistoets over blauw-groene implementaties
Laten we je begrip van blauw-groene implementaties controleren.
Samenvatting van de les
Goed gedaan! Je hebt geleerd over blauw-groene implementaties.
- Hierbij worden twee identieke omgevingen (Blue en Green) gebruikt om nieuwe versies te implementeren.
- Deze aanpak biedt geen uitvaltijd en maakt direct terugdraaien mogelijk.
- GitHub Actions kan de implementatie en het omschakelen van verkeer automatiseren.
- Vergeet niet rekening te houden met resourcekosten en databasewijzigingen!
Leer DevOps-bootcamp 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
- 142
- Lessen
- 568
Veelgestelde vragen
Is de les “Blue/Green-deployments” gratis?
Ja — je kunt hier op het web alle 3 lessen van het leerpad DevOps-bootcamp, waaronder “Blue/Green-deployments”, gratis volledig lezen. Daarna ontgrendelt CoddyKit PRO alle lessen, plus interactieve oefeningen met een ingebouwde code-editor en een AI-tutor die 24/7 beschikbaar is. De cursus DevOps-bootcamp bevat in totaal 4 lessen.
Wat leer ik in “Blue/Green-deployments”?
Stel Blue/Green-deploymentstrategieën in met GitHub Actions om downtime te minimaliseren en snelle rollbacks mogelijk te maken. Je oefent met DevOps-bootcamp 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 DevOps-bootcamp te beginnen?
Ervaring vooraf is niet nodig. DevOps-bootcamp 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 1 van 4.
Hoe lang duurt de les “Blue/Green-deployments”?
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 DevOps-bootcamp?
Ja. Elke les over DevOps-bootcamp 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