Bądź na bieżąco!
Zostaw nam swojego maila, aby otrzymać najświeższe informacje o devbites!
Wyślemy Ci zapowiedzi, przykładowe materiały oraz - oczywiście - najlepszą ofertę!
PAMIĘTAJ, żeby odebrać wiadomość potwierdzającą i kliknąć w przycisk.
Zapisując się na newsletter zgadzasz się na przetwarzanie Twoich danych osobowych w celu wysyłania na wskazany przez Ciebie adres e-mail informacji handlowych o nowościach, promocjach, produktach i usługach związanych z serwisami devbites.pl i devstyle.pl. Będzie to marketing bezpośredni, do realizacji którego wykorzystamy Twoje telekomunikacyjne urządzenia końcowe. Administratorem Twoich danych osobowych będzie DEVSTYLE spółka z ograniczona odpowiedzialnością z siedzibą w Białymstoku (15-215) przy ul. Konopnickiej 14/8, NIP: 5423453088. Przysługuje Tobie prawo do cofnięcia zgody, żądania wglądu do Twoich danych, wniesienia sprzeciwu co do ich przetwarzania, sprostowania, usunięcia i ograniczenia przetwarzania. Więcej informacji o tym jak przetwarzamy Twoje dane znajdziesz nadevstyle.pl/rodo oraz w Regulaminie newslettera.
Feature Flags - potężna technika Continuous Delivery
Kto by się bał releasu w piąteczek, jeśli mógłby wyłączyć bez konsekwencji nową funkcjonalność w ułamku sekundy? Kto by się bał pracować tylko z "masterkiem", jakby commitował do niego martwy kod? No właśnie, NIKT! I to czyni z Feature Flags tak potężną technikę w ramach Continuous Delivery.
Rozłączamy wdrożenia aplikacji od wydania funkcjonalności użytkownikom, a ponadto w pełni kontrolujemy sam proces wydawania. Przy takim podejściu wygrywają zarówno developerzy jak i biznes.
Developerzy przede wszystkim zyskują poczucie bezpieczeństwa, bo jak na produkcji coś dzieje się źle z nową funkcjonalnością, to można ją po prostu wyłączyć i naprawić! Albo wrócić do problemu w poniedziałek ze świeżym umysłem. Ponadto praca nad Feature Flagami, może uczyć pewnej higieny pracy, która prowadzi, do powstawania kodu otwartego na rozszerzanie, a zamkniętego na modyfikacje (skąd my to znamy? 😉).
Biznes z kolei, dodatkowo otrzymuje narzędzie, dzięki któremu może eksperymentować, przez na przykład włączanie funkcjonalności tylko części użytkowników. Albo powrócić do wersji poprzedniej, jeśli lepiej konwertowała.
Oczywiście są też pułapki, w które można wpaść przy implementacji tej techniki, jak ta, że IFy zaczną bezkarnie błąkać się po kodzie i zaczną wprowadzać niepotrzebną złożoność. Dlatego też trzeba wiedzieć, jak przygotować się do wprowadzenie Feature Flagi i jakich technik użyć, żeby tego nieszczęsnego IFa wsadzić dokładnie tam, gdzie jego miejsce.
Tomasz Stolarczyk
Czego nauczysz się w tym kursie
- Co zyskujesz rozdzielając wdrażanie aplikacji od wydawania funkcjonalności
- Jak przygotować sobie miejsce pod wprowadzanie nowej funkcjonalności
- "Branchowania" na poziomie kodu, a nie repozytorium
- Abstrakcji/wzorców, które pozwolą zapobiec eksplozji IFów w kodzie
- Sposobów na stopniowe, bezpieczne wprowadzanie nowej funkcjonalności
- Gdzie trzymać konfigurację feature flag
- Z jakimi rodzajami feature flag możesz się spotkać
- Na jakie problemy możesz się natknąć w pracy z feature flags oraz jak starać się ich uniknąć
Wymagania
- Dobra znajomość dowolnego obiektowego języka programowania (Java/Ruby/C#/PHP lub inny)
- Podstawowa wiedza z zakresu Continuous Delivery i Continuous Integration
- Przykłady w kursie są w języku Java, ale znajomość dowolnego innego języka wystarczy
Agenda
1Wdrożenie, a wydanie
2Flaga jaka jest każdy widzi
3Czynności przed wprowadzenia feature flagi
4Branch by abstraction
5Abstrakcja na decyzje
6Wzorce projektowe w służbie feature flag
7Ciasteczka i nagłówki HTTP
8Trik z payloadem
9Endpointy i kolejki
10Równoległe wykonanie ze sprawdzeniem
11Feature flagi, a zmiany w schemacie bazy danych
12Testowanie
13Garść wskazówek
14Konfiguracja w 4 smakach
15Kategorie feature flag i ich żywotność
16Wyzwania