In-place a blue/green nasazení
Automatizace deploymentů na AWS
Dunieski Otano
Amazon Web Services Solutions Architect
Výpadek ve dvě ráno
Nasazení najednou se pokazí
Na každém serveru běží nefunkční verze
Zákazníci vidí chyby celou hodinu
Rollback vyžaduje další úplné nasazení
Proč záleží na strategii nasazení
Špatný release může službu
vyřadit z provozu
Nasazení najednou =
nejrychlejší, nejrizikovější
Postupné nasazení =
pomalejší, bezpečnější
Strategie určuje
rozsah dopadu
při selhání
In-place nasazení
Nasazení na
stejné instance
, které obsluhují provoz
Postupně
po dávkách
: polovina, pak druhá; nebo jedna po druhé
Než pokročíš dál,
zkontroluj stav
každé dávky
Levné, nevyžaduje žádnou další infrastrukturu
Blue/green nasazení
Blue
= aktuální produkční flotila
Green
= nová flotila s novou verzí
Load balancer
přesouvá provoz
z blue na green
Stará flotila
zůstává dostupná
pro rychlý rollback
Lambda a ECS jsou blue/green ze své podstaty
Lambda: provoz se přesouvá pomocí
alias version pointeru
ECS: provoz se přesouvá pomocí
náhradního task setu
Není potřeba duplikovat flotilu jako u EC2
Stejně
vybíráš konfiguraci nasazení
Volba mezi in-place a blue/green
Omezený rozpočet,
nízkoriziková oprava
→ in-place
Potřebuješ
nulový výpadek
nebo okamžitý rollback → blue/green
Jediný starší server → jedinou možností je
in-place
Lambda nebo ECS →
blue/green je vestavěné
Rollback v CodeDeploy
Rollback =
nové nasazení poslední úspěšné revize
Spustí se automaticky při
selhání nasazení
Spustí se automaticky při
CloudWatch alarmu
Blue/green rollback:
přepnutí load balanceru zpět
Pojďme cvičit!
Automatizace deploymentů na AWS
Preparing Video For Download...