Wdrożenia in-place i blue/green

Automatyzacja wdrożeń na AWS

Dunieski Otano

Amazon Web Services Solutions Architect

Awaria o drugiej w nocy

2.00

  • 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
Automatyzacja wdrożeń na AWS

Dlaczego strategia wdrożenia ma znaczenie

2.1

  • 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
Automatyzacja wdrożeń na AWS

Wdrożenia in-place

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
Automatyzacja wdrożeń na AWS

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

blue-green

Automatyzacja wdrożeń na AWS

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

ecs

Automatyzacja wdrożeń na AWS

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ę

decide

Automatyzacja wdrożeń na AWS

Cofanie zmian w CodeDeploy

rollback

  • 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
Automatyzacja wdrożeń na AWS

Czas na praktykę!

Automatyzacja wdrożeń na AWS

Preparing Video For Download...