Rzemiosło · The Craft
Czym jest The CraftPoziomyJak zacząćRozdziały Szukaj Pobierz
Po ludzku
Level 2 · Technika ~4 min czytania

Poznaj prosty włącznik, którym uruchomisz nową funkcję dla wybranych osób, a w razie kłopotu wyłączysz ją jednym ruchem.

Feature flags po ludzku: wpuszczaj nowości bez ryzyka

Wyobraź sobie, że masz w aplikacji wewnętrzny włącznik. Pstrykasz go i nowa funkcja się pojawia. Pstrykasz drugi raz i znika. Bez przerabiania kodu. Bez wdrażania wszystkiego od nowa.

To właśnie Feature flag — Wewnętrzny włącznik, który uruchamia nową funkcję dla części ludzi albo wyłącza ją bez przerabiania kodu. Wpuszczasz nowość stopniowo i wycofujesz w sekundę — najtańsza polisa przy każdej zmianie. — po polsku „przełącznik funkcji”. Brzmi technicznie, a w gruncie rzeczy to najzwyklejszy kontakt na ścianie. Tyle że zamiast światła włącza i wyłącza fragment Twojej aplikacji.

O co tu chodzi, naprawdę

Normalnie bywa tak: programista dodaje nową funkcję i od razu widzą ją wszyscy. Wszyscy naraz. Jeśli coś nie zagra — masz problem u wszystkich, w tej samej sekundzie.

Feature flag zmienia te reguły. Nowa funkcja jedzie do aplikacji, ale schowana za włącznikiem. Leży gotowa, tylko niewidoczna. Ty decydujesz, kiedy i dla kogo ją odsłonić.

Pomyśl o ściemniaczu światła. Nie musisz wybierać między „ciemno” a „jasno”. Możesz dać odrobinę, sprawdzić, czy pasuje, i dopiero potem podkręcić. Z funkcją jest tak samo: najpierw tylko dla siebie, potem dla garstki osób, w końcu dla wszystkich.

Albo inny obraz. Otwierasz nową salę w restauracji. Nie wpuszczasz od razu pełnego tłumu. Najpierw sadzasz tam kilku gości. Patrzysz, czy obsługa nadąża, czy kuchnia daje radę. Jak wszystko gra — otwierasz salę dla każdego. To dokładnie ten sam ruch.

Dlaczego to się opłaca Twojemu biznesowi

Testujesz na małej grupie. Włączasz nowość dla dziesięciu osób, nie dla dziesięciu tysięcy. Jeśli coś jest nie tak, dowiadujesz się przy dziesięciu — i to oni dają Ci pierwszy sygnał, zanim zobaczy to cały świat.

Wycofujesz w sekundę. Coś poszło nie tak po starcie? Nie dzwonisz w panice, nie czekasz na poprawkę i ponowne wdrożenie. Pstrykasz włącznik z powrotem. Funkcja znika, aplikacja działa jak wcześniej. Spokój wraca natychmiast.

Nie budzisz nikogo w nocy. To może najważniejsze. Awarie zwykle wybuchają w najgorszym momencie. Z przełącznikiem nie trzeba ściągać programisty o trzeciej nad ranem, żeby ratował sytuację. Wyłączasz nowość sam, jednym kliknięciem, i czekasz spokojnie do rana.

Oddzielasz „gotowe” od „pokazane”. Funkcja może być skończona i siedzieć w aplikacji tygodniami — ukryta. Odsłaniasz ją wtedy, kiedy Tobie pasuje. Na przykład w dniu kampanii, a nie wtedy, gdy akurat skończył ją programista.

O co poprosić AI albo wykonawcę

Nie musisz znać ani jednego technicznego słowa. Wystarczy, że powiesz, czego oczekujesz. Na przykład tak:

  • „Schowaj tę nową funkcję za przełącznikiem, żebym mógł ją włączać i wyłączać bez wdrażania od nowa.”
  • „Chcę móc uruchomić to najpierw tylko dla siebie, a potem dla wybranych klientów.”
  • „Zrób tak, żeby dało się to wyłączyć jednym ruchem, gdyby coś poszło nie tak.”

To proste zdania, a robią ogromną różnicę. Dobry wykonawca od razu wie, co masz na myśli — bo dla niego to chleb powszedni. Dla Ciebie to najtańsza polisa ubezpieczeniowa, jaką możesz wykupić przy każdej zmianie.

Warto poprosić o to na początku, a nie po fakcie. Dołożenie przełącznika od razu kosztuje grosze. Dorabianie go później, gdy coś już płonie, jest dużo trudniejsze.

Mały projekt kontra duży

Tu ważna uczciwa uwaga, bo to zależy od skali.

W małym projekcie — gdy użytkowników jest niewielu, a Ty jesteś blisko wszystkiego — feature flag to często wystarczające ułatwienie. Możesz spokojnie wypróbować nowość nawet na żywej wersji: włączasz ją najpierw tylko dla siebie, patrzysz, czy gra, i dopiero potem odsłaniasz reszcie. Ryzyko jest małe, a wygoda duża.

Ale im większy projekt, tym mniej chcesz testować bezpośrednio na produkcji. Gdy masz tysiące klientów i obsługę klienta, która odbiera telefony, każda wpadka „na żywo” to realne koszty i nerwy ludzi. Wtedy nowości sprawdza się wcześniej, obok — na tak zwanym środowisku pośrednim (staging), czyli osobnej, bezpiecznej kopii aplikacji do testów, albo na kopii produkcji (tych samych danych w odciętym miejscu). Dopiero gdy tam wszystko gra, zmiana trafia na żywo.

W takim świecie feature flag dalej jest cenny — ale jako dopełnienie, a nie cała siatka bezpieczeństwa: pozwala odsłaniać sprawdzoną już funkcję stopniowo i wyłączyć ją w sekundę, gdyby coś jednak zaskoczyło. Najpierw test obok produkcji, potem kontrolowane wpuszczanie przełącznikiem.

W skrócie

  • Feature flag to włącznik funkcji — wewnętrzny kontakt, którym odsłaniasz albo chowasz nowość, bez przerabiania aplikacji.
  • Wpuszczasz nowości stopniowo i bezpiecznie — najpierw dla kilku osób, a gdy coś zgrzyta, wyłączasz w sekundę, bez nocnych telefonów.
  • Poproś o to jednym zdaniem — „schowaj tę funkcję za przełącznikiem” — i najlepiej od razu, bo to najtańsza ochrona przy każdej zmianie.
  • Pamiętaj o skali: w małym projekcie flag wystarcza, by bezpiecznie testować nawet na żywo; w dużym (z obsługą klienta) testuj najpierw na środowisku pośrednim albo kopii produkcji, a przełącznika używaj do kontrolowanego wpuszczania.
Quiz

Sprawdź się — 4 pytań · zalicza 3/4.

1 Czym tak naprawdę jest feature flag, jeśli odrzeć go z technicznego brzmienia?
2 Coś poszło nie tak zaraz po starcie funkcji ukrytej za przełącznikiem. Co robisz według artykułu?
3 W dużym projekcie z tysiącami klientów i obsługą klienta — jaką rolę pełni feature flag?
4 Kiedy najlepiej poprosić wykonawcę o schowanie funkcji za przełącznikiem?