מערכת דגלי תכונות נדרשת כאשר מספר נתיבי הקוד הופך גדול מדי והפריסה דרך מאגר Git אורכת שעות. עם 50+ מיקרוסרביסים, כל שינוי דורש תיאום, וזמן הפריסה גדל ל-3–4 שעות. ללא מנהל מתגים טוב, קל לקבל מפל שגיאות בעת פריסת פונקציונליות חדשה. בניסיון שלנו, אנו פורסים Unleash כדי להפחית סיכונים בבדיקות A/B ובשחרורים קנריים. כפי שנאמר ב-תיעוד הרשמי של Unleash, המערכת תומכת באסטרטגיות הפעלה רבות מתוך הקופסה. במשך 5 שנים, יישמנו אותו בפרויקטים עם תעבורה של מיליון בקשות ביום, והפחתנו את זמן החזרה לאחור מ-30 דקות לכמה שניות.
Unleash היא מערכת מתארחת עצמית עם הסט העשיר ביותר של אסטרטגיות הפעלה מובנות. בניגוד למערכות פשוטות של הפעלה/כיבוי, Unleash תומך מתוך הקופסה ב-gradualRollout, userWithId, remoteAddress, flexibleRollout עם sticky sessioning — ללא כתיבת לוגיקה מותאמת אישית. זה מאפשר הפעלת פונקציונליות בהדרגה, לפי משתמשים, IP, או אחוז אקראי.
אנחנו בשוק כבר 5+ שנים, השלמנו 30+ פרויקטים עם מערכות דגלי תכונות. להלן ניסיון מעשי בהקמת Unleash ב-Kubernetes.
פריסת Unleash ב-Kubernetes
דוגמה למניפסט Deployment
---
apiVersion: apps/v1
kind: Deployment
metadata:
name: unleash
spec:
replicas: 2
template:
spec:
containers:
- name: unleash
image: unleashorg/unleash-server:5.12
env:
- name: DATABASE_URL
valueFrom:
secretKeyRef:
name: unleash-secrets
key: database-url
- name: SECRET
valueFrom:
secretKeyRef:
name: unleash-secrets
key: admin-secret
- name: INIT_FRONTEND_API_TOKENS
value: "frontend:default.frontend-token"
ports:
- containerPort: 4242
readinessProbe:
httpGet:
path: /health
port: 4242
initialDelaySeconds: 10
PostgreSQL היא דרישה חובה. SQLite אינו מתאים לייצור.
אסטרטגיות הפעלה
Unleash מחלק את המתגים למספר סוגים:
- release — פריסה הדרגתית לאחוז מהמשתמשים
- experiment — בדיקת A/B עם מספר גרסאות
- operational — מתג חירום לקוד בעייתי
- permission — הפעלה עבור תפקידים/קבוצות ספציפיים
לפריסה הדרגתית עם sticky sessioning (המשתמש תמיד רואה את אותו הדבר):
import { Unleash } from 'unleash-client';
const unleash = new Unleash({
url: 'https://unleash.internal/api',
appName: 'api-service',
customHeaders: {
Authorization: 'srv-*****',
},
});
await unleash.start();
// Sticky rollout — пользователь всегда в одном бакете
const context = {
userId: user.id,
sessionId: session.id,
};
if (unleash.isEnabled('new-pricing-page', context)) {
// показываем новую страницу
}אסטרטגיית apiVersion: apps/v1 kind: Deployment metadata: name: unleash spec: replicas: 2 template: spec: containers: - name: unleash image: unleashorg/unleash-server:5.12 env: - name: DATABASE_URL valueFrom: secretKeyRef: name: unleash-secrets key: database-url - name: SECRET valueFrom: secretKeyRef: name: unleash-secrets key: admin-secret - name: INIT_FRONTEND_API_TOKENS value: "frontend:default.frontend-token" ports: - containerPort: 4242 readinessProbe: httpGet: path: /health port: 4242 initialDelaySeconds: 10 משתמשת ב-import { Unleash } from 'unleash-client'; const unleash = new Unleash({ url: 'https://unleash.internal/api', appName: 'api-service', customHeaders: { Authorization: 'srv-*****' }, }); await unleash.start(); // Sticky rollout — пользователь всегда в одном бакете const context = { userId: user.id, sessionId: session.id, }; if (unleash.isEnabled('new-pricing-page', context)) { // показываем новую страницу } או flexibleRollout עבור גיבוב עקבי — אותו משתמש תמיד מקבל את אותה תוצאה ללא קשר לשרת.
Unleash Edge להפחתת זמן השהיה
במערכות מבוזרות, ה-SDK מבצע בקשת HTTP ל-API של Unleash בכל הערכה. Unleash Edge הוא פרוקסי קל משקל שמטמון ברמת ה-namespace של Kubernetes או אפילו ברמת ה-pod:
---
- name: unleash-edge
image: unleashorg/unleash-edge:latest
env:
- name: UPSTREAM_URL
value: "https://unleash.internal"
- name: TOKENS
value: "srv-*****"
ports:
- containerPort: 3063
ה-SDK מתחבר ל-Edge דרך רשת הקלאסטר — זמן השהיה הוא מיקרו-שניות במקום מילי-שניות לשרת Unleash החיצוני.
השוואת Unleash מול LaunchDarkly
| קריטריון | Unleash | LaunchDarkly |
|---|---|---|
| מחיר | חינם (מתארח עצמית) + עלויות תפעול | החל מ-$1,000/חודש עבור 10,000 דגלים |
| שליטה בנתונים | מלאה (התשתית שלך) | נתונים על שרתי הספק |
| קוד פתוח | כן (Apache 2.0) | לא |
| ביצועים | ~5ms הערכה בשרת, <1ms דרך Edge | ~100ms הערכה ללא מטמון |
| קלות התקנה | בינונית (נדרש DevOps) | גבוהה (SaaS) |
חיסכון במנוי בעת מעבר מ-LaunchDarkly הוא 50-70% עבור נפחים מעל 10,000 דגלים, מה שמבחינה כספית אומר הפחתת עלויות מ-$2,000/חודש ל-$600-1,000/חודש. עם זאת, Unleash דורש שעות הנדסה לתחזוקה — בממוצע 4 שעות בחודש, בתעריף של $100/שעה מוסיף $400/חודש בעלויות נוספות. החיסכון הנקי יכול להגיע ל-$1,000-1,600/חודש.
איך הקמנו את Unleash: תוכנית שלב-אחר-שלב
- ביקורת תשתית — הערכת מיקרוסרביסים נוכחיים, מספר דגלים, דרישות זמן השהיה.
- פריסת שרת ומסד נתונים — הקמת Unleash + PostgreSQL ב-Kubernetes באמצעות Helm או Kustomize.
- שילוב SDK — חיבור לקוחות (Node.js, Go, Python) לשרת או ל-Edge, הגדרת טוקנים.
- הגדרת אסטרטגיות — יצירת אסטרטגיות מותאמות אישית לקנרי, A/B, מתג חירום, ייבוא מתגים קיימים.
- ניטור והתראות — הגדרת לוחות מחוונים ב-Grafana, התראות על SLO ו-MTTR, כתיבת runbook לאירועים.
למה לבחור ב-Unleash על פני LaunchDarkly?
Unleash עדיף על LaunchDarkly בתרחישים שבהם שליטה בנתונים ועלות חשובים. עבור נפחים מעל 10,000 דגלים, חיסכון במנוי הוא 50-70%, אבל משלמים בזמן תפעול. Unleash הוא קוד פתוח מלא — אפשר לבצע fork ולהתאים אישית. LaunchDarkly נותן פחות טרחה תשתיתית אבל קושר אותך לענן.
איך להפחית את זמן השהיית הערכת דגלים?
השתמשו ב-Unleash Edge — פרוקסי קל משקל שמטמון דגלים בזיכרון. אפשר למקם את Edge בכל namespace של Kubernetes כך שה-SDKs מתחברים מקומית. ב-1,000,000 הערכות בשעה, Edge מפחית את עומס השרת פי 10 ומבטיח זמן השהיה <1ms.
מה כלול בהקמת Unleash במפתח פתוח
| רכיב | תוצאה |
|---|---|
| פריסת שרת | Unleash עובד בקלאסטר שלך עם PostgreSQL |
| שילוב SDK | חיבור של יישום אחד או יותר |
| הגדרת אסטרטגיות | יצירת אסטרטגיות מותאמות אישית לקנרי, A/B, מתג חירום |
| Unleash Edge | התקנה והגדרה של Edge לזמן השהיה נמוך |
| ניטור | לוחות מחוונים ב-Grafana והתראות על מדדים קריטיים |
איך אנחנו מבטיחים אמינות פריסה?
אנחנו משתמשים ב-GitOps עם ArgoCD, מכסים את התצורה בבדיקות, ומספקים runbooks לאירועים. ניסיון מ-30+ פרויקטים עוזר להימנע מטעויות אופייניות ב-RBAC, NetworkPolicy וסקיילינג. אנחנו מבטיחים פעולה יציבה: SLO 99.9% לשרת Unleash.
לוח זמנים ליישום ואיך להזמין
פריסת שרת + שילוב SDK בסיסי — מיום אחד. הגדרת אסטרטגיות, פרוקסי Edge, ייבוא דגלים קיימים — מיום עד יומיים. העלות מחושבת באופן אישי לאחר ביקורת תשתית.
צרו קשר לביקורת של הפרויקט שלכם. קבלו ייעוץ על התצורה האופטימלית של Unleash. הזמינו הקמת דגלי תכונות כדי להאיץ את מחזור השחרור שלכם. כתבו לנו, אנחנו תמיד זמינים.







