Eksplorowanie technik progresywnego narażenia
Zgodnie z opisem w pierwszej lekcji tego modułu ciągłe dostarczanie oferuje wiele korzyści, w tym przyspieszone cykle wydania, lepszą współpracę, efektywne wykorzystanie zasobów i zwiększoną odporność. Ostatnie z tych powiązań odnosi się do zdolności do dostarczania nowych wersji oprogramowania do ich zamierzonych odbiorców w sposób stopniowy, w pewnym stopniu. Pomaga to ograniczyć zakres negatywnego wpływu, jeśli występują niewykryte problemy z jakością kodu i zbierają opinie klientów, które mogą mieć wpływ na decyzję o kontynuowaniu dostarczania. Organizacja w przykładowym scenariuszu będzie mogła wykorzystać tę funkcję w celu wyeliminowania bieżących wyzwań operacyjnych. W tej lekcji poznasz różne progresywne techniki ekspozycji, które przyczyniają się do zwiększenia odporności.
Co to są techniki progresywnego narażenia?
Praktyki ciągłego dostarczania obejmują kilka wzorców dostarczania dla osiągnięcia stopniowej ekspozycji. Ich celem jest zminimalizowanie potencjalnych szkód spowodowanych przez błędy programistyczne, których analiza kodu oparta na ciągłej integracji, przeglądy i zautomatyzowane testowanie nie wykryły (ten cel jest również często określany jako kontrolowanie promienia wybuchu). Najczęściej używane techniki obejmują:
Pierścienie dystrybucji: Pierścień wyznacza wdrożenie przeznaczone dla określonej grupy użytkowników, która jest później monitorowana w celu oceny ich doświadczeń. Pierwszy pierścień wdrażania jest czasami nazywany kanarek, odwołując się do terminu kanarek w kopalni zaczerpniętego ze starej praktyki górniczej używania kanarków do ostrzegania o podwyższonym poziomie tlenku węgla. Ciągłe wdrażanie automatyzuje przejście z jednego pierścienia do kolejnego, choć przejście to może wymagać ręcznego zatwierdzenia. Takie praktyki mogą być wymagane w celu zapewnienia zgodności z wymaganiami prawnymi lub wewnętrznymi regułami ładu.
wdrożenia niebieskie/zielone: dwa kolory wyznaczają dwie różne wersje tej samej aplikacji, z niebieskim reprezentującym bieżącą (znaną jako stabilną) wersję i zielony reprezentujący zaktualizowaną (wydaną). Celem jest, aby obie wersje działały obok siebie i używały równoważenia obciążenia w celu stopniowego zwiększania liczby żądań przychodzących z wersji niebieskiej do zielonej . Jeśli występuje problem z zielonym, żądania przychodzące można łatwo przekierować do niebieskim.
Flagi funkcji (nazywane również przełącznikami funkcji ): Flaga funkcji oznacza metodę programowania, która polega na umieszczaniu instrukcji warunkowych w kodzie, co selektywnie wyłącza lub włącza niektóre segmenty kodu. Deklaracje są aktywowane przez ustawienie wartości flagi, która jest zwykle umieszczana w zewnętrznym repozytorium konfiguracji. W rzeczywistości można włączyć lub wyłączyć nowe funkcje zgodnie z potrzebami bez konieczności modyfikowania ani wdrażania kodu.
Dark uruchamianie: Dark uruchamianie to strategia wdrażania, która polega na wdrażaniu nowych funkcji w stanie nieaktywnym i włączaniu ich w kontrolowany sposób po wdrożeniu. Takie podejście zwykle opiera się na użyciu flag funkcji.