Sobes.tech
Middle

Ce este implementarea Blue-Green?

sobes.tech AI

Răspuns de la AI

Implementarea Blue-Green este o strategie de lansare a noilor funcționalități cu timp minim de nefuncționare, bazată pe menținerea a două medii identice: "albastru" (versiunea curentă, funcțională) și "verde" (noua versiune).

Algoritm:

  1. Există un mediu "albastru" activ care gestionează tot traficul.
  2. Noua versiune a aplicației este implementată într-un mediu "verde" complet identic, dar inactiv.
  3. După teste de succes în mediul "verde", traficul este redirecționat către acesta.
  4. Mediu "albastru" este păstrat pentru o revenire rapidă sau poate fi utilizat pentru implementări viitoare.

Avantaje cheie:

  • Timp minim de nefuncționare: Comutarea traficului are loc aproape instantaneu.
  • Rollback simplu: În caz de probleme cu noua versiune, traficul poate fi redirecționat cu ușurință înapoi către mediul "albastru".
  • Riscuri reduse: Noua versiune este testată într-un mediu izolat înainte de a schimba traficul.

Dezavantaje:

  • Resurse duble: Sunt necesare resurse pentru menținerea a două medii complete.
  • Gestionarea stării: Poate fi dificil să gestionezi starea aplicației dacă utilizează o bază de date cu modificări constante.

Exemplu de schimbare a traficului folosind un echilibrator de încărcare:

// Configurare echilibrator de încărcare (simplificată)
{
  "listeners": [
    {
      "port": 80,
      "protocol": "HTTP",
      "default_actions": [
        {
          "type": "forward",
          "target_group_arn": "arn:aws:elasticloadbalancing:..." // ARN-ul grupului de instanțe al mediului "albastru"
        }
      ]
    }
  ]
}
# Comandă pentru schimbarea traficului către mediul "verde"
# (exemplu pentru AWS CLI, presupunând că ARN-ul noului grup țintă este disponibil)
aws elbv2 modify-listener --listener-arn "arn:aws:elasticloadbalancing:..." --default-actions Type=forward,TargetGroupArn="arn:aws:elasticloadbalancing:..." // ARN-ul grupului de instanțe al mediului "verde"