Ciągłe wdrażanie
1) Czym jest CD i czym różni się od CI/CD
Continuous Deployment (CD) to praktyka automatycznego uruchamiania każdej zweryfikowanej zmiany na prod, bez ręcznych pociągów uwalniających. "CD różni się od CI (automatyczne zespoły i testy w commits) tym, że kończy łańcuch: kod → artefakt → weryfikacja → produkcja. W regulowanych branżach płyty CD są często połączone z postępującą dostawą.
Cele CD:- Skrócenie czasu na rynek i zmiana kosztów.
- Zmniejsz ryzyko dużych wydań: małe partie → łatwiej znaleźć powód i cofnąć.
- Aby zapewnić wysokiej jakości dyscypliny: „Każde zobowiązanie jest potencjalnie na sprzedaż”.
2) Podstawowe zasady
Małe przyrosty. Krótkie kartoteki, szybkie recenzje, agresywne merjing.
Determinacja montażu. Powtarzalne środowiska budowlane, pliki blokady, hermetyczne budowle.
Zmiana lewej jakości. Lintery, analiza statyczna, testy jednostkowe/kontraktowe przed integracją.
Środowiska podobne do produkcji. Identyczne konfiguracje, sekrety poprzez skarbiec, dane - syntetyczne/bezosobowe.
Zautomatyzuj całą podróż. Od zaangażowania do ruchu drogowego i odwrócenia.
Domyślna obserwacja. Mierniki, kłody, ślady, wpisy - w ramach Definicji Wykonanej.
Bezpieczeństwo z osobna. SAST/DAST, SCA, podpisane artefakty, walidacja polityki.
3) Architektura referencyjna rurociągu CD
1. Wyzwalacz - zdarzenie w systemie VCS (push/merge) oznaczone jako „prod-eligible”.
2. Budowa: budowa artefaktu (obraz, pakiet), SBOM, podpis (Sigstore/Cosign).
3. Test Fast: lint/unit/contract; szybkie informacje zwrotne (<5-10 min).
4. Test Deep (równolegle): integracja, E2E, obciążenie „na profilu”, próbki chaosu na etapie.
5. Brama bezpieczeństwa: SAST/DAST/SCA, sprawdzanie tajemnic, sprawdzanie zasad (OPA/Conftest/Kyverno).
6. Brama zgodności: SoD/4-eyes w razie potrzeby, identyfikowalność wymagań, listy kontrolne.
7. Promocja: promocja artefaktu jako jednego i tego samego budowania poprzez środowiska (dev → etap → prod).
8. Strategia wdrożenia: niebiesko-zielone/kanaryjskie/progresywne + flagi funkcji.
9. Weryfikacja po wdrożeniu: auto-zdrowie, SLO/SLA, alerty, auto-rollback podczas degradacji.
10. Audyt i dowody: artefakty, dzienniki, protokoły weryfikacji - w niezmienionym magazynie.
4) Strategie uwolnienia
Blue-Green: dwa stoiska produkcyjne (niebieski = prąd, zielony = nowy), atomowe przełączanie tras. Plus - natychmiastowy zwrot. Minusem jest podwójna infrastruktura.
Kanaryjski: początek partii ruchu (1% → 5% → 25% → 100%) z automatycznymi bramkami SLO.
Progresywna dostawa: kohorty docelowe (region, dostawca, segment VIP), limit promienia uszkodzeń.
Flagi funkcji: kod zasilania „wyłączony”, włączony przez użytkowników/kohorty. Obowiązkowe: polityka dotycząca cyklu życia flagi.
5) Testowanie i jakość
Testy kontraktowe i umowy konsumenckie na niezależne wydania mikroservice.
Profile obciążenia według rzeczywistych wzorów (RPS, p95/p99, modele otwarte/zamknięte).
Testy migracji baz danych: bezpośrednie/odwracalne, kompatybilność dwóch wersji (rozwiń → kontrakt).
Próbki chaosu/odporności: wyłączanie zależności, opóźnienia sieci, ograniczenia zasobów.
Weryfikacja po zwolnieniu (dym + syntetyczny) z punktów blisko użytkownika.
6) Bezpieczeństwo i zgodność w CD
Podpis artefaktowy, pochodzenie, SBOM. Śledzimy pochodzenie, wykluczamy ryzyko związane z łańcuchem dostaw.
Policy-as-Code: zezwalamy tylko na zdjęcia z zaufanego rejestru, z przejściem skanowania.
Sekrety: krótkotrwałe żetony, klucze obrotowe, KMS; zakazanie tajemnic w gicie.
Segregacja ceł (SoD): dostęp do usług rozwojowych i produkcyjnych; wszystkie operacje przez rurociąg.
Ścieżka audytu: niezmienne dzienniki uwolnienia, kto/co/kiedy; magazynowanie N lat zgodnie z wymogami regulacyjnymi.
7) Zarządzanie zmianami i kontrola ryzyka
Zmiana typów: standardowe (w pełni automatyczne), normalne (auto + homologacja), awaryjne (przyspieszone okno + pośmiertne).
Minimalizm CAB: CAB dla zmienionych zagrożeń i aktualizacji infrastruktury „łamanie”, reszta - poprzez automatyczne bramy jakości.
Matryca ryzyka: wpływ × prawdopodobieństwo → wybór strategii (głębszy kanaryjski, flagi, dodatkowy monitoring).
Runbooks & Playbooks: Wyczyść instrukcje dla każdego typu wydania i rolki.
8) Obserwowalność, SLO i auto-rollback
Złote sygnały: opóźnienie, błędy, nasycenie, ruch; wskaźniki biznesowe (konwersja, depozyt, sukces płatniczy).
Szyny ochronne: jeśli p95> próg, szybkość błędu, metrika biznesowa - auto-stop/rollback.
Zwolnij Deski rozdzielcze: widżety: versiya → metriki → flagi → kanareyechnyye udział ruchu.
Alerty: poziomy redukcji hałasu, rotacje dyżurów, komunikacja z zarządzaniem incydentami.
9) CD Metrics
Wskaźniki DORA: wskaźnik uszczuplenia, czas realizacji zmian, MTTR, udział nieudanych wydań.
Wskaźnik awarii zmian w kohortach (według dostawcy, regionu, urządzenia).
Czas przejścia bramy: gdzie są „wąskie gardła” (skan bezpieczeństwa, testy integracyjne).
Cost-to-Release: koszt za minutę okna, znacznik infrastruktury strategii (niebiesko-zielony vs kanarka).
10) Wzory wsteczne i kompatybilność
Auto-rollback: na poziomie trasy (przełącznik ruchu) i/lub wersji (K8s rollout cofnąć).
Migracje w bazie danych: strategia rozszerzania umowy o migrację, flagi funkcji ukrywają niedostępne pola.
Idempotence & Dokładnie jak raz: dla kolejek/płatności - klucze idempotencji, deduplication.
Ciśnienie wsteczne i wdzięczna degradacja: jeśli zdegradowane, wyłączyć funkcje niefunkcjonalne.
11) Praktyczny model środowiska
Podejście GitOps: stan docelowy jest przechowywany w git, kontroler stosuje manifesty.
Środowiska: "dev" (szybki i brudny), "etap" (prod-like, chaos-próbki), "prod-A/B" (niebiesko-zielony) lub "prod' z basenami kanaryjskimi.
Izolacja danych: konfiguracje jako dane, tajemnice poza obrazem, indywidualne konta/limity.
12) Procesy i role
RACI: Architekt (Polityka), Zespół Platformy (Rurociąg, Klastry), Zespoły Produktów (Testy/Flagi), Bezpieczeństwo (Polityki/Skany), SRE (SLO/Niezawodność).
ChatOps: wydania z botów PR, widoczność statusów, „/promować „, „/rollback ”.
SOP: listy kontrolne wydania, przegląd po zwolnieniu, kontrola flag starzenia.
13) Cechy domen wysoko regulowanych (np. iGaming/fintech)
Identyfikowalność - Audyt trebovaniye → tiket → PR → bild → artefakt → sreda → log.
Geo-release: według kraju/jurysdykcji, z lokalną konfiguracją płatności/LCC.
Silniki przeciwdziałające oszustwom/ryzyku: kanaryjskie puli ruchu, fałszywie pozytywne/negatywne monitorowanie.
KYC/AML/odpowiedzialna gra: funkcje uwalniania poprzez flagi z obowiązkowym monitorowaniem wpływu użytkownika.
14) Częste anty-wzory
Ręczne kroki pomiędzy etapami („przyniósł artefakt ręcznie”).
„Szare flagi” bez właściciela i życia.
Jeden wspólny test integracji „tłuszczu” zamiast umów.
Brak odwracalnych migracji baz danych.
Skanowanie bezpieczeństwa po wdrożeniu, nie wcześniej.
15) Lista kontrolna gotowości Mini CD
- Budowa jest deterministyczna; artefakt podpisany; Jest SBOM.
- Testy kontraktowe i ustalenia dotyczące E2E.
- Bramki bezpieczeństwa/zgodności jako kod; sekrety - przez skarbiec.
- Obserwowalność: dzienniki/mierniki/tory, deski rozdzielcze, bramki SLO.
- Strategia wydania: kanaryjski/niebiesko-zielony + auto-rollback.
- Procedury migracji DB (rozszerzenie/umowa).
- Flagi funkcji z utwórz → użyj → usuń politykę.
- Integracja RACI/Runbooks/ChatOps.
16) Przykładowy przepływ (scenariusz)
1. Połączenie w 'głównej' linii spustowej.
2. Zestaw kontenerów, podpis, SBOM.
3. Lint/unit/contracts → passed.
4. SAST/SCA/tajny skan → „zielony”.
5. Autopromo w etapie: E2E + chaos + obciążenie profilem.
6. Kanaryjski 1% na prod, kontrola błędów/opóźnień/mierników biznesowych.
7. Eskalacja do 25 %/50 %/100% z zielonymi bramami.
8. Automatycznie zamknij flagę „rollout-guard”, zapisz artefakty audytu.
9. Przegląd po zwolnieniu, usuwanie tymczasowych flag.
17) Sedno sprawy
CD to nie „przycisk wdrożenia”, ale kultura małych, bezpiecznych i obserwowalnych zmian. Dzięki odpowiedniej polityce i automatyzacji płyta CD zmniejsza ryzyko, przyspiesza dostarczanie wartości i sprawia, że wydaje rutynowe, a nie zdarzenie. Dla wysoce obciążonych i regulowanych systemów, kluczem do sukcesu są surowe bramy jakości, stopniowe wałkowanie, flagi funkcji, obserwowalność i odtwarzalność każdego kroku.