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.
Zmiana nazwy kolumny w jednym wdrożeniu psuje każdą działającą instancję starego kodu. Zamiast tego najpierw rozszerz: dodaj nową kolumnę i zapisuj do obu. Potem przenieś: uzupełnij stare wiersze i przełącz odczyty. Na końcu zwęź: gdy żaden działający kod nie używa starej kolumny, usuń ją. Każdy krok jest bezpieczny osobno, więc wdrożenia blue-green i kanarkowe mogą trzymać stary i nowy kod obok siebie, a każdy krok da się cofnąć.
Powiązane hasła
- Wdrożenie blue-green: Dwa identyczne środowiska produkcyjne: nowa wersja trafia do nieużywanego, potem ruch się przełącza, a przy problemie wraca.
- 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.
- 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.
