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:
- Existuje aktivní "modré" prostředí, které obsluhuje veškerý provoz.
- Nová verze aplikace je nasazena do zcela identického, ale neaktivního "zeleného" prostředí.
- Po úspěšném otestování "zeleného" prostředí je provoz přepnut na něj.
- "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í