Skip to main content

Strategii de deployment - sinteză

În Laboratorul 2 am realizat un rolling update și un rollback. Strategiile de mai jos rămân relevante, dar nu le repetăm ca patru exerciții separate cu alte aplicații.

StrategieCum funcționeazăAvantaj principalCost sau risc
Recreateoprește versiunea veche înainte de pornirea celei noisimplu și potrivit când versiunile nu pot coexistadowntime
Rolling updateînlocuiește gradual Pod-uriledisponibilitate în timpul actualizăriicoexistă temporar două versiuni
Blue-greenmenține două medii și mută traficul între elerollback foarte rapidconsum suplimentar de resurse
Canaryexpune gradual versiunea nouă unei părți din traficlimitează impactul unei versiuni defectenecesită rutare și observabilitate mai avansate

Legătura cu starea​

Strategia API-ului și evoluția schemei bazei de date trebuie gândite împreună. În timpul unui rolling update pot exista simultan replici cu versiuni diferite, dar toate accesează aceeași bază.

O schimbare incompatibilă a schemei poate defecta fie versiunea veche, fie versiunea nouă. În practică, migrarea bazei este de obicei realizată în pași compatibili:

  1. se adaugă noua structură fără eliminarea celei vechi
  2. aplicația este actualizată gradual
  3. structura veche este eliminată numai după ce nu mai este utilizată.
note

Deployment oferă direct strategiile RollingUpdate și Recreate. Blue-green și canary se construiesc folosind mai multe obiecte Kubernetes, reguli de rutare sau instrumente dedicate de progressive delivery.