Sobes.tech
Middle

Wat is Blue-Green deployment?

sobes.tech AI

Antwoord van AI

Blue-Green implementatie is een strategie voor het uitrollen van nieuwe functies met minimale downtime, gebaseerd op het onderhouden van twee identieke omgevingen: "blauw" (de huidige, werkende versie) en "groen" (de nieuwe versie).

Algoritme:

  1. Er is een actieve "blauwe" omgeving die al het verkeer afhandelt.
  2. De nieuwe versie van de applicatie wordt uitgerold in een volledig identieke, maar inactieve "groene" omgeving.
  3. Na succesvolle tests in de "groene" omgeving, wordt het verkeer daarop overgeschakeld.
  4. De "blauwe" omgeving wordt behouden voor snelle rollback of kan worden gebruikt voor toekomstige uitrols.

Belangrijke voordelen:

  • Minimale downtime: Het overschakelen van verkeer gebeurt bijna onmiddellijk.
  • Eenvoudige rollback: Bij problemen met de nieuwe versie kan het verkeer gemakkelijk worden teruggeleid naar de "blauwe" omgeving.
  • Minder risico: De nieuwe versie wordt getest in een geïsoleerde omgeving voordat het verkeer wordt overgeschakeld.

Nadelen:

  • Dubbelen resources: Er zijn resources nodig om twee volledige omgevingen te onderhouden.
  • Statusbeheer: Het kan moeilijk zijn om de status van de applicatie te beheren als deze een database met constante veranderingen gebruikt.

Voorbeeld van verkeer overschakelen met behulp van een load balancer:

// Configuratie van de load balancer (vereenvoudigd)
{
  "listeners": [
    {
      "port": 80,
      "protocol": "HTTP",
      "default_actions": [
        {
          "type": "forward",
          "target_group_arn": "arn:aws:elasticloadbalancing:..." // ARN van de doelgroep van de "blauwe" omgeving
        }
      ]
    }
  ]
}
# Commando om verkeer naar de "groene" omgeving te schakelen
# (voorbeeld voor AWS CLI, ervan uitgaande dat de ARN van de nieuwe doelgroep beschikbaar is)
aws elbv2 modify-listener --listener-arn "arn:aws:elasticloadbalancing:..." --default-actions Type=forward,TargetGroupArn="arn:aws:elasticloadbalancing:..." // ARN van de doelgroep van de "groene" omgeving