Wdrożenia in-place i blue/green
Automatyzacja wdrożeń na AWS
Dunieski Otano
Amazon Web Services Solutions Architect
Awaria o drugiej w nocy
Wdrożenie wszystkiego naraz idzie źle
Każdy serwer działa na wadliwej wersji
Klienci widzą błędy przez godzinę
Cofnięcie zmian wymaga kolejnego pełnego wdrożenia
Dlaczego strategia wdrożenia ma znaczenie
Nieudane wydanie może
wyłączyć
cały serwis
Wszystko naraz =
najszybciej, ale najryzykowniej
Stopniowe wdrożenie =
wolniej, ale bezpieczniej
Strategia decyduje o
zasięgu awarii
w razie błędu
Wdrożenia in-place
Wdrażasz na
tych samych instancjach
, które obsługują ruch
Jedna
partia naraz
: połowa, potem reszta; albo po kolei
Sprawdzasz stan każdej partii,
zanim przejdziesz dalej
Tanie; nie wymaga dodatkowej infrastruktury
Wdrożenia blue/green
Blue
= obecna flota produkcyjna
Green
= zupełnie nowa flota z nową wersją
Load balancer
przełącza ruch
z blue na green
Stara flota
zostaje dostępna
na wypadek szybkiego cofnięcia zmian
Lambda i ECS są blue/green od podstaw
Lambda: ruch przełącza się przez
wskaźnik aliasu wersji
ECS: ruch przełącza się przez
zastępczy zestaw zadań
Nie trzeba duplikować floty jak przy EC2
Nadal
wybierasz konfigurację wdrożenia
In-place czy blue/green?
Napięty budżet,
niskie ryzyko poprawki
→ in-place
Potrzebujesz
zerowego przestoju
lub natychmiastowego cofnięcia zmian → blue/green
Pojedynczy stary serwer →
in-place
to jedyna opcja
Lambda lub ECS →
blue/green wbudowane w usługę
Cofanie zmian w CodeDeploy
Cofnięcie zmian =
ponowne wdrożenie ostatniej udanej wersji
Uruchamia się automatycznie po
nieudanym wdrożeniu
Uruchamia się automatycznie po
alarmie CloudWatch
Cofnięcie w blue/green:
przełączenie load balancera z powrotem
Czas na praktykę!
Automatyzacja wdrożeń na AWS
Preparing Video For Download...