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.
| Strategie | Cum funcționează | Avantaj principal | Cost sau risc |
|---|---|---|---|
| Recreate | oprește versiunea veche înainte de pornirea celei noi | simplu și potrivit când versiunile nu pot coexista | downtime |
| Rolling update | înlocuiește gradual Pod-urile | disponibilitate în timpul actualizării | coexistă temporar două versiuni |
| Blue-green | menține două medii și mută traficul între ele | rollback foarte rapid | consum suplimentar de resurse |
| Canary | expune gradual versiunea nouă unei părți din trafic | limitează impactul unei versiuni defecte | necesită 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:
- se adaugă noua structură fără eliminarea celei vechi
- aplicația este actualizată gradual
- 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.