Implementări in-place și blue/green
Automatizarea implementărilor pe AWS
Dunieski Otano
Amazon Web Services Solutions Architect
Pana de la ora 2 noaptea
Implementarea simultană dă greș
Fiecare server rulează versiunea defectă
Clienții văd erori timp de o oră
Rollback-ul necesită o nouă implementare completă
De ce contează strategia de implementare
O lansare defectuoasă poate
bloca
un serviciu
Simultană =
cea mai rapidă, dar riscantă
Gradual =
mai lentă, dar sigură
Strategia controlează
impactul
în caz de eroare
Implementări in-place
Se implementează pe
aceleași instanțe
care servesc traficul
Câte un lot odată
: jumătate, apoi jumătate; sau una câte una
Verifici starea fiecărui lot
înainte de a continua
Economic; nu necesită infrastructură suplimentară
Implementări blue/green
Blue
= flota de producție curentă
Green
= flotă complet nouă, cu noua versiune
Load balancer-ul
transferă traficul
de la blue la green
Flota veche
rămâne disponibilă
pentru rollback rapid
Lambda și ECS sunt blue/green prin design
Lambda: traficul se transferă prin
pointer alias de versiune
ECS: traficul se transferă prin
set de task-uri de înlocuire
Nu necesită duplicarea flotei ca la EC2
Tot
alegi o configurație de implementare
Alegerea între in-place și blue/green
Buget redus,
patch cu risc mic
→ in-place
Ai nevoie de
zero downtime
sau rollback instant → blue/green
Server unic, legacy →
in-place
e singura opțiune
Lambda sau ECS →
blue/green e integrat
Rollback în CodeDeploy
Rollback =
redeployezi ultima revizie funcțională
Se declanșează automat la
eșecul implementării
Se declanșează automat la o
alarmă CloudWatch
Rollback blue/green:
readuci load balancer-ul la starea inițială
Hai să exersăm!
Automatizarea implementărilor pe AWS
Preparing Video For Download...