Bez powtarzania treści https://martinfowler.com/articles/feature-toggles.html , ponieważ jest to niesamowite dogłębne wyjaśnienie, jakie są przełączniki flagi funkcji. Skupię się na aspektach DevOps.
Według raportu State of DevOps z 2014 r. Przygotowanego przez PuppetLabs istnieją cztery główne wskaźniki do pomiaru wydajności IT:
- Czas realizacji zmian
- Częstotliwość zwolnienia
- Czas przywrócić usługę
- Zmień współczynnik niepowodzeń
Przyczyniają się one również do ogólnej wydajności organizacji. Oznacza to, że jeśli Twój dział IT radzi sobie świetnie z tymi wskaźnikami, zyski osiągają więcej $$$.
Ciągłe dostarczanie jest włączane przez te wskaźniki i zostało szczegółowo opisane w książce Ciągłe dostarczanie: niezawodne wydania oprogramowania dzięki automatyce kompilacji, testowania i wdrażania autorstwa Jez Humble.
W kontekście ciągłego dostarczania istnieje ważne rozróżnienie, które odróżnia je od ciągłego wdrażania . I to jest decyzja, kiedy zrobić wydanie funkcji (dla klientów).
Utrzymywanie zmian w mniejszym rozmiarze i wdrażanie (kopiowanie kodu) częściowo wypalonych funkcji do systemów produkcyjnych z wyłączoną flagą funkcji pozwala skrócić czas realizacji zmian .
Kiedy funkcje są w końcu skończone, wydanie wydania jest decyzją firmy. Być może wydanie nowej funkcji musi być dostosowane do jakiegoś marketingu lub wydania w innej części firmy, takiej jak funkcja w aplikacji mobilnej.
Funkcje można wypuszczać za pomocą eksperymentów A / B tylko dla części klientów lub określonych osób, a nawet bezpośrednio dla ogólnej dostępności (GA). Chociaż wydanie do GA jest często wykonywane tylko wtedy, gdy istnieje wystarczająca pewność, że funkcja działa zgodnie z oczekiwaniami. Można argumentować, że w rzeczywistości wpływa to na wyższą częstotliwość uwalniania .
To oddzielenie wydania i wdrożenia jest prawie niemożliwe do osiągnięcia bez przełączania flagi funkcji.
Oczywiście, gdy do wyłączenia funkcji nie jest wymagane wdrożenie , czas przywracania usługi jest znacznie skrócony.
A dzięki zastosowaniu flag funkcji, które uwalniają funkcje do niewielkiej części bazy klientów, można również znacznie poprawić wskaźnik zmiany wskaźnika awaryjności.
Tak więc prosty mechanizm zwany przełączaniem flagi funkcji umożliwia znacznie lepszą wydajność IT, a tym samym poprawia ogólną wydajność organizacji.
Świetny przykład tego, jak to się dzieje w prawdziwych firmach, można znaleźć na Flickr (jednym z pierwszych publicznych postów na ten temat) i na Etsy . Ale wielu innych przyjęło tę praktykę i długo o niej mówiło, na przykład słynna kultura inżynierii w filmach Spotify .
Etsy pokazują swoje wewnętrzne narzędzie do zarządzania flagami funkcji , zwanymi Katapultą, w wielu prezentacjach w Internecie. Intuit wypuścił narzędzie typu open source o nazwie Wasabi, które pomaga zarządzać flagami funkcji.