מילון מושגים
Feature Flag
נקרא גם: Feature Toggle · Feature Flags · Kill Switch · Canary · פיצר פלאג, דגל יכולת, דגל פיצר · מתג יכולת · מתג פיצר, כפתור כיבוי, חשיפה הדרגתית, הדלקה הדרגתית של פיצר · איך מפעילים פיצר רק לחלק מהמשתמשים, A/B Test
הסבר פורמלי#
Feature Flag (או Feature Toggle) הוא טכניקה שמאפשרת לצוותים לשנות את התנהגות המערכת בלי לשנות קוד, על ידי מעבר בין מסלולי קוד חלופיים בזמן ריצה, ללא פריסה מחדש (כך מתואר באתר של מרטין פאולר). המאמר מבחין בין קטגוריות: Release toggles (שליחת קוד לא גמור לייצור כשהוא כבוי), Experiment toggles (ניסויי A/B), Ops toggles (כיבוי או הקטנת יכולות מהר בייצור, כולל "kill switch") ו-Permissioning toggles (יכולות שונות לקבוצות משתמשים שונות).
תיעוד Azure מציין ש-Feature Flags משמשים בחשיפה הדרגתית של גרסאות (למשל canary), ומאפשרים לבטל במהירות שינוי כשמתגלות בעיות.
הסבר בגובה העיניים#
זה כמו מתג תאורה לחדר שבנוי אך עדיין לא נפתח: המנורות מותקנות והחשמל מחובר, ומחליטים מתי להדליק, ואולי קודם רק לאורחים נבחרים. ואם יש בעיה, מכבים בלי להרוס את החדר.
למה זה חשוב בפועל#
מתגים הם גם נטל: הם מוסיפים לוגיקה ובדיקות, ולכן מאמר של פאולר ממליץ להסיר במהירות כאלה שאינם נחוצים עוד, למשל בקביעת משימת הסרה כבר בעת היצירה. מתג הוא כלי חשוב לצד Rollback, ואינו תחליף להחלטה מה בודקים לפני חשיפה.
תגיות#
- feature-flag
- release
- canary
- kill-switch
מקורות#
- Martin Fowler — Feature Toggles — ההגדרה, הקטגוריות והאזהרה על הצטברות מתגים.
- Microsoft Azure Well-Architected — Safe deployment practices — שימוש ב-Feature Flags בחשיפה הדרגתית.