Sobes.tech
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:

  1. Existuje aktívne "modré" prostredie, ktoré spravuje celý tok prevádzky.
  2. Nová verzia aplikácie je nasadená v úplne identickom, ale neaktívnom "zelenom" prostredí.
  3. Po úspešnom otestovaní "zeleného" prostredia je prevádzka presmerovaná na neho.
  4. "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