הטמעת Service Mesh (Istio/Linkerd) למיקרוסרוויסים

ככל שהמיקרוסרוויסים גדלים, כל שירות מטפל בעצמו ב-retries, timeouts ואבטחה, מה שמוביל לשכפול קוד ולהאטת שינויים. אנחנו מיישמים Service Mesh המבוסס על Istio או Linkerd, ומעבירים את ניהול התעבורה לשכבה שקופה ליישומים. הצוות שלנו מספק את הפרויקט במפתח מלא, מהאודיט ועד לתמיכה, ומבטיח אמינות וסקלביליות של התשתית שלכם.

פיתוח ותחזוקה של כל סוגי האתרים:

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

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

השירותים שאנו מציעים
מציג 1 מתוך 1כל 2062 השירותים
הטמעת Service Mesh (Istio/Linkerd) למיקרוסרוויסים
מורכב
מ- 2 שבועות עד 3 חודשים

הכישורים שלנו:

שאלות נפוצות

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

  • פיתוח אפליקציית ווב עבור FEEDME
    פיתוח אפליקציית ווב עבור FEEDME
    1359
  • פיתוח חנות מקוונת לחברת FURNORO
    פיתוח חנות מקוונת לחברת FURNORO
    1330
  • פיתוח אפליקציית ווב עבור Enviok
    פיתוח אפליקציית ווב עבור Enviok
    1077
  • פיתוח CRM עבור Chasseurs
    פיתוח CRM עבור Chasseurs
    1113
  • פיתוח אתר עבור SBH Partners
    פיתוח אתר עבור SBH Partners
    1201
  • פיתוח אתר עבור Red Pear
    פיתוח אתר עבור Red Pear
    619

בעת הרחבת ארכיטקטורת מיקרוסרוויסים ב-Kubernetes, הטמעת Service Mesh כמו Istio או Linkerd מעבירה ניסיונות חוזרים (retries), פסקי זמן (timeouts), mTLS וניטור (tracing) ל-sidecar proxies. זה מפחית שכפול קוד ומפשט את הניטור.

אחד הלקוחות שלנו — שירות משלוחים — נתקל בניסיונות חוזרים מפולתיים במהלך תקלת מסד נתונים. לאחר פריסת Linkerd, זמן האחזור ירד מ-500 אלפיות השנייה ל-50 אלפיות השנייה הודות למפסק זרם (circuit breaker) ופסקי זמן אוטומטיים. לפי סקר CNCF השנתי 2023, אימוץ Service Mesh מפחית את זמן התקריות ב-40% ומקטין שגיאות שחרור פי 3. בנוסף, זה הפחית את עלויות התשתית ב-15,000 דולר לשנה. פרויקט הפיילוט עולה 5,000 דולר וכולל ביקורת מלאה והתקנה בסיסית; הטמעה מלאה מתחילה ב-15,000 דולר.

עם ניסיון של 5+ שנים ב-Kubernetes ו-20+ הטמעות מיקרוסרוויסים מוצלחות, המהנדסים המוסמכים שלנו מבטיחים פריסות Service Mesh אמינות.

כיצד Service Mesh פותר שכפול קוד

Service Mesh הוא שכבת תשתית לניהול תעבורה בין שירותים ב-Kubernetes. במקום שכל מיקרוסרוויס יישם ניסיונות חוזרים, פסקי זמן, mTLS וניטור באופן עצמאי, תכונות אלה נדחפות ל-sidecar proxies. זה מפחית שכפול קוד, מאיץ שחרורים חדשים ומפשט את הניטור.

יכולות מפתח של Service Mesh

  • ניהול תעבורה: ניהול תעבורת מיקרוסרוויסים כולל פריסת canary, בדיקות A/B, מפסק זרם, ניסיונות חוזרים ופסקי זמן המוגדרים ברמת התשתית ללא שינויי קוד.
  • נראות (Observability): נראות מיקרוסרוויסים משופרת עם ניטור אוטומטי, מדדי זמן אחזור/שיעור שגיאות/תפוקה עבור כל זוג שירותים, וגרף תלות.
  • אבטחה: mTLS בין כל השירותים עם סיבוב תעודות אוטומטי ומדיניות הרשאות.

בחירה בין Istio ל-Linkerd

הבחירה תלויה בצרכים. Istio מספק שליטה מלאה בתעבורה (canary, A/B, מפסק זרם) עם צריכת משאבים גבוהה יותר (300–500 MB לכל sidecar). Linkerd קל יותר (10–30 MB), מהיר יותר להתקנה ומתאים לצוותים שצריכים נראות בסיסית ו-mTLS ללא לימוד מאות CRDs.

צריכת זיכרון: Linkerd לעומת Istio

קריטריון Istio Linkerd
Proxy Envoy (C++, סט תכונות עשיר) Linkerd2-proxy (Rust, מינימליסטי)
צריכת RAM 300–500 MB לכל sidecar 10–30 MB לכל sidecar
מורכבות התקנה גבוהה: הרבה CRDs בינונית: CLI יחיד
יכולות שליטה מלאה בתעבורה, מדיניות mTLS בסיסי, נראות, תעבורה
עקומת למידה תלולה מתונה

Linkerd יעיל פי 10 בזיכרון מ-Istio ונפרס פי 2–3 מהר יותר בשל פחות CRDs. Istio מתאים לתרחישי canary, A/B ומפסק זרם מורכבים.

כיצד אנו מיישמים Service Mesh

תהליך העבודה:

שלב תיאור משך
ביקורת תשתית הערכת אשכול Kubernetes הנוכחי, שירותים ומדיניות רשת 1–2 ימים
עיצוב Mesh בחירה בין Istio/Linkerd, עיצוב ארכיטקטורת הזרקת sidecar 2–3 ימים
התקנת Control Plane התקנת Istio או Linkerd, הגדרת mTLS במצב PERMISSIVE 3–5 ימים
שילוב נראות שילוב Prometheus, Grafana, Jaeger, Kiali 2–3 ימים
הגדרת תעבורה פריסת canary, מפסק זרם, פסקי זמן/ניסיונות חוזרים 3–5 ימים
מדיניות אבטחה mTLS STRICT, מדיניות הרשאות (Authorization Policies) 2–3 ימים
תיעוד והדרכה מדריך תפעול, סדנה לצוות 1–2 ימים
תמיכה לאחר השקה ניטור, פתרון תקלות, כוונון עדין שבועיים

התקנת Linkerd שלב אחר שלב:

  1. התקנת CLI: curl --proto '=https' --tlsv1.2 -sSfL https://run.linkerd.io/install | sh
  2. בדיקת אשכול: linkerd check --pre
  3. התקנת control plane: linkerd install --crds | kubectl apply -f - ולאחר מכן linkerd install | kubectl apply -f -
  4. אימות התקנה: linkerd check
  5. הפעלת הזרקת sidecar עבור namespace: הוספת annotation linkerd.io/inject: enabled
דוגמת annotation ל-namespace
apiVersion: v1 kind: Namespace metadata: name: production annotations: linkerd.io/inject: enabled 

ניהול תעבורה ב-Istio

פריסת Canary ב-Kubernetes מפושטת עם Istio:

---
apiVersion: networking.istio.io/v1alpha3
kind: VirtualService
metadata:
  name: order-service
spec:
  hosts:
  - order-service
  http:
  - match:
    - headers:
        x-canary:
          exact: "true"
    route:
    - destination:
        host: order-service
        subset: v2
  - route:
    - destination:
        host: order-service
        subset: v1
      weight: 95
    - destination:
        host: order-service
        subset: v2
      weight: 5

מפסק זרם ב-Istio מוגדר באמצעות DestinationRule:

---
apiVersion: networking.istio.io/v1alpha3
kind: DestinationRule
metadata:
  name: order-service
spec:
  host: order-service
  subsets:
    - name: v1
      labels:
        version: v1
    - name: v2
      labels:
        version: v2
  trafficPolicy:
    connectionPool:
      http:
        http2MaxRequests: 1000
    outlierDetection:
      consecutiveErrors: 5
      interval: 10s
      baseEjectionTime: 30s
      maxEjectionPercent: 100

mTLS ומדיניות הרשאות

ב-Istio, mTLS מופעל לכל namespace או גלובלית. ניתן להגדיר mTLS של Istio לכל namespace. דוגמה להגדרה גלובלית ומדיניות גישה:

---
# PeerAuthentication
apiVersion: security.istio.io/v1beta1
kind: PeerAuthentication
metadata:
  name: default
  namespace: production
spec:
  mtls:
    mode: STRICT
---
# AuthorizationPolicy
apiVersion: security.istio.io/v1beta1
kind: AuthorizationPolicy
metadata:
  name: order-service-policy
  namespace: production
spec:
  selector:
    matchLabels:
      app: order-service
  rules:
    - from:
        - source:
            principals: ["cluster.local/ns/production/sa/api-gateway"]
      to:
        - operation:
            methods: ["GET", "POST"]

נראות באמצעות Kiali

ויזואליזציית גרף השירותים של Kiali עוזרת למפעילים להבין את זרימות התעבורה. להתקנה, השתמשו בתוספים הרשמיים. לאחר ההתקנה, הרצו apiVersion: v1 kind: Namespace metadata: name: production annotations: linkerd.io/inject: enabled . זה ממחיש זרימות תעבורה ועוזר למצוא בעיות מהר יותר.

טעויות הטמעה נפוצות

  1. הגדרת mTLS שגויה. הפעלת מצב STRICT מיד חוסמת את כל התעבורה. תמיד התחילו עם PERMISSIVE.
  2. חוסר במגבלות משאבים ל-sidecar. Proxies צורכים CPU ו-RAM; ללא מגבלות הם עלולים להעמיס על הצמתים.
  3. הזרקה לכל ה-pods ללא חריגים. חלק מהשירותים legacy עלולים להיות לא תואמים. השתמשו ב-annotations על namespace או pod.

מה כלול בעבודה

  • עיצוב ארכיטקטורת mesh עבור הסביבה שלכם
  • התקנה והגדרה של control plane
  • הזרקת sidecar proxies לכל ה-pods
  • הגדרת mTLS, הרשאות, פריסות canary
  • שילוב עם Prometheus, Grafana, Jaeger
  • גישה ללוחות מחוונים לניטור (Grafana, Kiali)
  • תיעוד תפעולי
  • הדרכת צוות (סדנה של שעתיים)
  • שבועיים של תמיכה לאחר השקה

תוצרים אלה מבטיחים מעבר חלק ומוכנות תפעולית.

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

  • התקנת Linkerd + נראות בסיסית: 3–5 ימים
  • התקנת Istio + ניתוב canary + mTLS: 1–2 שבועות
  • מדיניות הרשאות ונראות מלאה: שבוע נוסף

הצוות שלנו של מהנדסי Kubernetes מוסמכים בעל ניסיון של 5+ שנים והשלים למעלה מ-20 פרויקטי מיקרוסרוויסים. בקשו פרויקט פיילוט — אנו נעריך את התשתית שלכם ונציע את הפתרון האופטימלי. קבלו ייעוץ על הטמעת Service Mesh עוד היום. אנו מבטיחים מעבר חלק עם אפס זמן השבתה.