AIOps לתכנון קיבולת: חיזוי משאבים עם Prophet

כאשר עומסים עונתיים תופסים את התשתית לא מוכנה, משתמשים נתקלים בשגיאות ותקציבי הענן גדלים באופן בלתי צפוי. הצוות שלנו מגדיר AIOps לניבוי משאבים, כך שתדעו מראש מתי וכמה קיבולת תצטרכו. אנו מספקים פתרון מלא—מניתוח מדדים היסטוריים ועד פריסת מודל הניבוי, עם תמיכה מתמשכת.

היכולות שלנו:

שאלות נפוצות

העבודות האחרונות

  • פיתוח אפליקציית ווב עבור FEEDME
    פיתוח אפליקציית ווב עבור FEEDME
    1359
  • פיתוח חנות מקוונת לחברת FURNORO
    פיתוח חנות מקוונת לחברת FURNORO
    1330
  • עיצוב לוגו לחברת B2B Advance
    עיצוב לוגו לחברת B2B Advance
    776
  • פיתוח אפליקציית ווב עבור Enviok
    פיתוח אפליקציית ווב עבור Enviok
    1077
  • פיתוח לוגו חברת AIDER
    פיתוח לוגו חברת AIDER
    1022
  • פיתוח CRM עבור Chasseurs
    פיתוח CRM עבור Chasseurs
    1113

הגדרת AIOps לתכנון קיבולת (חיזוי משאבים)

לאחר השקת פרויקט עונתי, אתה מבחין שהצמתים באשכול מגיעים למגבלות זיכרון והאוטוסקיילר לא מהיר מספיק כדי להתמודד עם העומס — משתמשים מקבלים שגיאות 503. נתקלנו בזה בפרויקטים עם 500+ צמתים: נטישת משתמשים, פגיעה במוניטין. זו הבעיה של קנה מידה תגובתי. אנחנו פותרים אותה עם AIOps: אנו בונים תחזיות המבוססות על מדדים היסטוריים מ-Prometheus ולמידת מכונה. במקום הגישה הגסה של "הוסף 20%", אנו משתמשים במודל Prophet של Meta — הוא חוזה את צרכי המשאבים 30 יום קדימה בדיוק של ±15%. תכנון נכון חוסך עד 30% מתקציב התשתית, ומדדים עסקיים (מכירות, מספר משתמשים) משפרים את הדיוק בעוד 20–40%. לקוח טיפוסי עם 50 צמתים חוסך $5000 בחודש על משאבי ענן.

אילו מדדים אנו חוזים ומאיפה מגיעים הנתונים

המשאבים שאנו מתכננים תחילה:

  • מעבד וזיכרון בצמתי האשכול (ניצול צמתים ב-Kubernetes)
  • שטח דיסק (במיוחד עבור מסדי נתונים ולוגים)
  • רוחב פס רשת
  • IOPS אחסון (קריטי עבור PostgreSQL, Elasticsearch)
  • מספר הפודים ומגבלות האשכול
מדד מקור נתונים שיטת איסוף
מעבד, זיכרון צומת node_exporter, kube-state-metrics Prometheus
IOPS אחסון PostgreSQL, Elasticsearch exporter Prometheus
רוחב פס רשת cAdvisor, node_exporter Prometheus
מספר פודים kube-state-metrics Prometheus
מדדי ענן CloudWatch, Azure Monitor ייצוא ענן

כיצד AIOps בונה תחזיות: Prometheus + Prophet

ארכיטקטורה טיפוסית להתקנה עצמית:

Prometheus (Thanos/VictoriaMetrics для long-term storage)
↓
remote_read API
↓
Python forecasting service (Prophet / statsmodels)
↓
Прогнозы записываются как метрики → Prometheus pushgateway
↓
Grafana dashboard с forecast overlay

סקריפט לדוגמה שקורא את ניצול המעבד של הצומת ובונה תחזית ל-30 יום:

from prophet import Prophet
import pandas as pd
from prometheus_api_client import PrometheusConnect

prom = PrometheusConnect(url="http://prometheus:9090")
data = prom.get_metric_range_data(
    metric_name='avg by (node) (1 - rate(node_cpu_seconds_total{mode="idle"}[5m]))',
    start_time=datetime.now() - timedelta(days=60),
    end_time=datetime.now(),
    chunk_size=timedelta(hours=1)
)

df = pd.DataFrame({"ds": timestamps, "y": values})
model = Prophet(seasonality_mode="multiplicative", weekly_seasonality=True)
model.fit(df)
future = model.make_future_dataframe(periods=30, freq="D")
forecast = model.predict(future)
# forecast[["ds", "yhat", "yhat_lower", "yhat_upper"]]

Prometheus (Thanos/VictoriaMetrics для long-term storage) ↓ remote_read API Python forecasting service (Prophet / statsmodels) ↓ Прогнозы записываются как метрики → Prometheus pushgateway ↓ Grafana dashboard с forecast overlay (הגבול העליון של רווח הסמך) הוא התרחיש ה"פסימי", שממנו אנו ממליצים לתכנן רכישת משאבים.

למה מדדים עסקיים חשובים?

מדדים טכניים לבדם לא מסבירים מתי צפויות עליות עומס. אם תוסיף נתונים עסקיים — מספר משתמשים פעילים, היקף הזמנות, לוח שיווק (תאריכי מכירות, שיאים עונתיים) — התחזית תהיה מדויקת יותר. אנו יוצרים from prophet import Prophet import pandas as pd from prometheus_api_client import PrometheusConnect prom = PrometheusConnect(url="http://prometheus:9090") data = prom.get_metric_range_data( metric_name='avg by (node) (1 - rate(node_cpu_seconds_total{mode="idle"}[5m]))', start_time=datetime.now() - timedelta(days=60), end_time=datetime.now(), chunk_size=timedelta(hours=1) ) df = pd.DataFrame({"ds": timestamps, "y": values}) model = Prophet(seasonality_mode="multiplicative", weekly_seasonality=True) model.fit(df) future = model.make_future_dataframe(periods=30, freq="D") forecast = model.predict(future) # forecast[["ds", "yhat", "yhat_lower", "yhat_upper"]] ב-Prophet עבור כל אירוע עסקי:

model.add_regressor('is_black_friday') model.add_regressor('monthly_active_users') 

אנו לוקחים נתוני MAU ממסד הנתונים האנליטי, אירועים מלוח השנה העסקי. המודל עצמו קובע עד כמה כל גורם משפיע על צריכת המשאבים.

אילו טעויות להימנע מהן במהלך היישום?

טעות טיפוסית היא שימוש בנתונים של שבוע בלבד לצורך חיזוי. זה לא מספיק כדי לזהות עונתיות. אנו ממליצים על לפחות 4–8 שבועות, אידיאלית 3–6 חודשים. הטעות השנייה היא התעלמות מרגרסורים עסקיים. בלעדיהם, המודל לא יחזות שיאים מקמפיינים שיווקיים. השלישית היא הסתמכות רק על ממוצע התחזית (yhat). השתמש תמיד בגבול העליון (yhat_upper) להזמנת משאבים כדי למנוע מחסור.

טעויות טיפוסיות ופתרונות
טעות טיפוסית הפתרון שלנו
היסטוריית נתונים קצרה (<חודש) שימוש באחסון לטווח ארוך (Thanos, Mimir) ל-6+ חודשים.
התעלמות מאירועים עסקיים הוספת רגרסורים לתאריכי קמפיין ו-MAU.
הסתמכות על ממוצע תחזית תכנון באמצעות yhat_upper (רווח סמך של 95%).

Kubernetes: מתחזית לקנה מידה אוטומטי

תכנון קיבולת לא חייב להסתיים ברכישה ידנית של שרתים. ב-Kubernetes, ניתן לחבר תחזיות לKEDA (Kubernetes Event-Driven Autoscaling) דרך ה-scaler של yhat_upper — פודים יגדלו באופן פרואקטיבי, לפני שהעומס מגיע.

עבור מאגרי צמתים באשכולות מנוהלים (EKS, GKE, AKS), אנו מגדירים את Cluster Autoscaler או Karpenter עם חיץ המחושב מהתחזית. Karpenter נוח יותר: הוא מזמין צמתים מהסוג והגודל הנדרשים לעומס החזוי.

מה כוללת העבודה שלנו

  • ביקורת מדדים ו-SLOs נוכחיים, הערכת עומק היסטוריית הנתונים (מינימום 4–8 שבועות, אידיאלית 3–6 חודשים)
  • הקמת אחסון לטווח ארוך אם חסר (Thanos, VictoriaMetrics, Grafana Mimir)
  • פיתוח צינור חיזוי באמצעות Prophet, אופציונלית עם מדדים עסקיים
  • אינטגרציה עם KEDA ו-Cluster Autoscaler / Karpenter
  • הגדרת לוחות מחוונים ב-Grafana עם שכבת תחזית והתראות ("הצומת ייגמר מהזיכרון בעוד 14 יום")
  • הכשרת הצוות שלך לשימוש בלוחות מחוונים ופירוש תחזיות
  • חודש תמיכה לאחר סיום הפרויקט

דוגמה לחיסכון: עבור לקוח עם עומס שיא ב-Black Friday, הגדרנו תחזית המבוססת על 12 חודשי מדדים. תוצאה: הפחתת עלויות של 25% על ידי ביטול הזמנת יתר (בעבר נשמר +40% כחיץ). תחזית Prophet הראתה שחיץ של 15% עם רגרסורים עסקיים מספיק.

תהליך העבודה הסופי

  1. אנליטיקה: ביקורת מדדים, SLOs, לוח שנה עסקי
  2. עיצוב: בחירת ארכיטקטורה (Thanos לעומת Mimir, Prophet לעומת statsmodels)
  3. יישום: פריסת צינור, הגדרת לוח מחוונים, אינטגרציה עם K8s
  4. בדיקות: בדיקת A/B של תחזית על נתונים היסטוריים, אימות עם מדדים בזמן אמת
  5. פריסה: חיבור לייצור, הגדרת התראות

לוחות זמנים ועלות

תחזית בסיסית על התשתית הקיימת — משבועיים. אינטגרציה מלאה עם מדדים עסקיים וקנה מידה אוטומטי — עד 6 שבועות. העלות מחושבת באופן אישי, תלויה בנפח הנתונים ובמורכבות האינטגרציה. הזמינו ביקורת תשתית היום — צרו קשר כדי לדון בפרטים. קבלו ייעוץ והערכה מדויקת לפרויקט שלכם.

הניסיון שלנו: 7+ שנים ב-DevOps, 50+ פרויקטי קנה מידה של תשתית, מומחים מוסמכים ב-AWS ו-Kubernetes. אנו מבטיחים דיוק תחזית בטווח של 15% מהצריכה בפועל.