Canary Release vs Feature Flags
זוהי אסטרטגיית פריסת גרסה שמטרתה למזער סיכון.
| Canary Release | Feature Flags | |
|---|---|---|
| Definition | Canary Release היא אסטרטגיית פריסת גרסה המפחיתה את הסיכון בהצגת גרסה חדשה על ידי השקה ראשונית של הגרסה לקבוצה קטנה של משתמשים. | Feature Flags, הידועות גם כ-Toggles, הן טכניקת פיתוח שמאפשרת למפתחים להפעיל או לכבות פונקציות מסוימות בתוכנה מבלי לשנות את הקוד. |
| Categories | DevOps, deployment, release, risks | A/B Testing, CD, CI, development |
מה זה Canary Release?
זוהי אסטרטגיית פריסת גרסה שמטרתה למזער סיכון.
הגדרה
Canary Release היא אסטרטגיית פריסת גרסה המפחיתה את הסיכון בהצגת גרסה חדשה על ידי השקה ראשונית של הגרסה לקבוצה קטנה של משתמשים.
מקור השם
השם נובע מהמנקים שהיו סוחבים קנריה בכלוב במכרות פחם. אם גזים רעילים היו דולפים למכרה, הקנריה הייתה מתה לפני הכורים.
מעקב
המערכת מנוטרת בקפדנות לאיתור בעיות, ואם הגרסה החדשה פועלת היטב, היא משוחררת בהדרגה למספר משתמשים נוסף.
חזרה לאחור
אם זוהו בעיות, ניתן לחזור לגרסה הקודמת ולהשיב את הגרסה הישנה לכל המשתמשים.
בחירה
אסטרטגיות שונות משמשות לבחירת המשתמשים שיחשפו לגרסה החדשה, כגון דגימה אקראית או בחירה לפי דמוגרפיה.
מהו Feature Flag?
זהו טכניקת ניהול המאפשרת להפעיל או לכבות פונקציות בתוכנה.
הגדרה
Feature Flags, הידועות גם כ-Toggles, הן טכניקת פיתוח שמאפשרת למפתחים להפעיל או לכבות פונקציות מסוימות בתוכנה מבלי לשנות את הקוד.
יישום
הן מיועדות למימוש באמצעות ערכים בוליאניים בקבצי הגדרה שנבדקים באופן תנאי על מנת להחליט אם הפונקציה תהיה פעילה או לא.
שימושים
הן משמשות ב-Continuous Deployment (CD), Canary Releases, A/B Testing ובכדי לשלוט על נראות הפיצ'רים עבור קבוצות משתמשים שונות.
יתרונות
Feature Flags מאפשרות פיתוח בטוח ויעיל יותר, ומאפשרות לצוותים לשחרר ולבחון תכונות חדשות ללא השפעה על כל המשתמשים.
צמיחה
השימוש ב-Feature Flags התפשט עם עלייתם של פרקטיקות Agile, DevOps ואספקת תוכנה רציפה.