Wdrożenie blue-green
Dwa identyczne środowiska produkcyjne: nowa wersja trafia do nieużywanego, potem ruch się przełącza, a przy problemie wraca.
Niebieskie obsługuje użytkowników, a zielone dostaje nowe wydanie i jest testowane na miejscu. Przełączenie routera wysyła wszystkich na zielone; wycofanie to przełączenie z powrotem, w sekundy. Trudna część to baza: obie wersje muszą działać na tym samym schemacie w trakcie przełączenia, więc zmiany schematu wychodzą najpierw w zgodnych krokach. Wydanie canary to wersja stopniowa: najpierw mały odsetek ruchu, potem wszyscy.
Powiązane hasła
- CI/CD: Ciągła integracja i ciągłe dostarczanie: każda zmiana jest automatycznie budowana i testowana i może wyjść w dowolnej chwili.
- Flagi funkcji (feature flags): Przełączniki w kodzie, które włączają albo wyłączają funkcję dla części lub wszystkich użytkowników bez nowego wdrożenia.
- Wzorzec strangler fig: Zastępowanie starego systemu kawałek po kawałku, kierując po jednej funkcji do nowego kodu, aż stary system da się wyłączyć.
- Expand and contract (migracje bez przestoju): Zmiana schematu bazy w krokach zgodnych wstecz: dodaj nowy kształt, przenieś kod i dane, a stary kształt usuń dopiero później.
- Wydanie kanarkowe (canary release): Skierowanie nowej wersji najpierw do małej części ruchu, obserwowanie błędów i opóźnień i poszerzanie wdrożenia tylko wtedy, gdy wersja się trzyma.
