DevOps-bootcamp · Les

Blue/Green-deployments

Stel Blue/Green-deploymentstrategieën in met GitHub Actions om downtime te minimaliseren en snelle rollbacks mogelijk te maken.

Les 1 van 412 stappen

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:

  1. Implementeer je nieuwe applicatieversie in de Green-omgeving (de inactieve omgeving).
  2. Test de nieuwe versie grondig in Green.
  3. Schakel, zodra je vertrouwen hebt in de versie, al het gebruikersverkeer van Blue naar Green.
  4. 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 namespace

Het 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.yaml

Direct 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!
Gratis beginnen

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

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