Sobes.tech
Middle

Co je to nasazení Blue-Green?

sobes.tech AI

Odpověď od AI

Implementace Blue-Green je strategie nasazení nových funkcí s minimální dobou výpadku, založená na udržování dvou identických prostředí: "modré" (aktuální, funkční verze) a "zelené" (nová verze).

Algoritmus:

  1. Existuje aktivní "modré" prostředí, které obsluhuje veškerý provoz.
  2. Nová verze aplikace je nasazena do zcela identického, ale neaktivního "zeleného" prostředí.
  3. Po úspěšném otestování "zeleného" prostředí je provoz přepnut na něj.
  4. "Modré" prostředí je zachováno pro rychlý rollback nebo může být použito pro další nasazení.

Klíčové výhody:

  • Minimální doba výpadku: Přepnutí provozu je téměř okamžité.
  • Jednoduchý rollback: V případě problémů s novou verzí lze provoz snadno vrátit zpět na "modré" prostředí.
  • Menší riziko: Nová verze je testována v izolovaném prostředí před změnou provozu.

Nevýhody:

  • Dvojité zdroje: Je potřeba zdrojů pro udržování dvou plných prostředí.
  • Správa stavu: Může být složité spravovat stav aplikace, pokud používá databázi s neustálými změnami.

Příklad změny provozu pomocí load balanceru:

// Konfigurace load balanceru (zjednodušená)
{
  "listeners": [
    {
      "port": 80,
      "protocol": "HTTP",
      "default_actions": [
        {
          "type": "forward",
          "target_group_arn": "arn:aws:elasticloadbalancing:..." // ARN cílové skupiny "modrého" prostředí
        }
      ]
    }
  ]
}
# Příkaz pro změnu provozu na "zelené" prostředí
# (příklad pro AWS CLI, předpokládá se dostupnost ARN nové cílové skupiny)
aws elbv2 modify-listener --listener-arn "arn:aws:elasticloadbalancing:..." --default-actions Type=forward,TargetGroupArn="arn:aws:elasticloadbalancing:..." // ARN cílové skupiny "zeleného" prostředí