Middle
Čo je to nasadenie Blue-Green?
sobes.tech AI
Odpoveď od AI
Implementácia Blue-Green je stratégia nasadzovania nových funkcií s minimálnym časom výpadku, založená na udržiavaní dvoch identických prostredí: "modré" (aktuálna, funkčná verzia) a "zelené" (nová verzia).
Algoritmus:
- Existuje aktívne "modré" prostredie, ktoré spravuje celý tok prevádzky.
- Nová verzia aplikácie je nasadená v úplne identickom, ale neaktívnom "zelenom" prostredí.
- Po úspešnom otestovaní "zeleného" prostredia je prevádzka presmerovaná na neho.
- "Modré" prostredie sa zachová pre rýchly rollback alebo môže byť použité pre budúce nasadenia.
Kľúčové výhody:
- Minimálny čas výpadku: Prechod prevádzky je takmer okamžitý.
- Jednoduchý rollback: V prípade problémov s novou verziou je prevádzka ľahko presmerovaná späť na "modré" prostredie.
- Menšie riziko: Nová verzia je testovaná v izolovanom prostredí pred zmenou prevádzky.
Nevýhody:
- Dvojité zdroje: Sú potrebné zdroje na udržiavanie dvoch plných prostredí.
- Správa stavu: Môže byť ťažké spravovať stav aplikácie, ak používa databázu s neustálymi zmenami.
Príklad zmeny prevádzky pomocou load balanceru:
// Konfigurácia load balanceru (zjednodušená)
{
"listeners": [
{
"port": 80,
"protocol": "HTTP",
"default_actions": [
{
"type": "forward",
"target_group_arn": "arn:aws:elasticloadbalancing:..." // ARN skupiny cieľov "modrého" prostredia
}
]
}
]
}
# Príkaz na presmerovanie prevádzky na "zelené" prostredie
# (príklad pre AWS CLI, predpokladá sa dostupnosť ARN novej cieľovej skupiny)
aws elbv2 modify-listener --listener-arn "arn:aws:elasticloadbalancing:..." --default-actions Type=forward,TargetGroupArn="arn:aws:elasticloadbalancing:..." // ARN skupiny cieľov "zeleného" prostredia