סקירה כללית על Cloud Service Mesh

Cloud Service Mesh הוא תשתית Service mesh שזמינה ב- Google Cloudובפלטפורמות נתמכות של GKE Enterprise. הוא תומך בשירותים שפועלים במגוון תשתית מחשוב. השליטה ב-Cloud Service Mesh מתבצעת באמצעות ממשקי API שנועדו ל- Google Cloud, לקוד פתוח או לשניהם.

המאמר הזה מיועד למשתמשים חדשים ב-Cloud Service Mesh או ללקוחות קיימים של Anthos Service Mesh או Traffic Director.

מה זה Service mesh?

‫Service mesh היא ארכיטקטורה שמאפשרת תקשורת מנוהלת, ניתנת לצפייה ומאובטחת בין השירותים שלכם, וכך מקלה עליכם ליצור אפליקציות ארגוניות חזקות שמורכבות ממיקרו-שירותים רבים בתשתית שבחרתם. רשתות שירות מנהלות את הדרישות הנפוצות להפעלת שירות, כמו מעקב, רשת ואבטחה, באמצעות כלים עקביים ועוצמתיים. כך מפתחים ומפעילים של שירותים יכולים להתמקד ביצירה ובניהול של אפליקציות מצוינות למשתמשים שלהם.

מבחינה ארכיטקטונית, Service mesh מורכבת ממישור בקרה אחד או יותר וממישור נתונים. ה-Service mesh עוקב אחרי כל התעבורה שנכנסת לשירותים ויוצאת מהם. ב-Kubernetes, שרת proxy נפרס על ידי תבנית sidecar למיקרו-שירותים ברשת. ב-Compute Engine, אפשר לפרוס שרתי proxy במכונות וירטואליות או להשתמש ב-gRPC ללא proxy למישור הנתונים.

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

תכנון האפליקציות שלכם כמיקרו-שירותים מספק יתרונות רבים. עם זאת, ככל שהעומסים גדלים, הם יכולים להיות מורכבים ומפוצלים יותר. ‫Service mesh עוזר לפתור את בעיית הפיצול ומקל על ניהול המיקרו-שירותים.

מה זה Cloud Service Mesh?

‫Cloud Service Mesh הוא הפתרון של Google לסביבות GKE Enterprise נתמכות וגם Google Cloud

  • ב- Google Cloud: Cloud Service Mesh מספק ממשקי API שספציפיים לתשתית המחשוב שבה מופעלים עומסי העבודה.
  • מושבת Google Cloud: עם Distributed Cloud או GKE multicloud,‏ Cloud Service Mesh תומך בממשקי ה-API של Istio לעומסי עבודה של Kubernetes.

בין אם האפשרות מופעלת או מושבתת Google Cloud, Cloud Service Mesh מאפשר לכם לנהל, לנטר ולאבטח את השירותים שלכם בלי שתצטרכו לשנות את קוד האפליקציה.

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

תכונות

ב-Cloud Service Mesh יש חבילת תכונות לניהול תעבורה, לניראות ולטלמטריה ולאבטחה.

ניהול תנועה

‫Cloud Service Mesh שולט בתעבורת הנתונים בין השירותים ברשת, אל הרשת (תעבורת נתונים נכנסת) ומחוץ לרשת (תעבורת נתונים יוצאת). אתם מגדירים ומפריסים משאבים לניהול התנועה הזו בשכבת האפליקציה (L7). לדוגמה, אתם יכולים:

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

ב-Cloud Service Mesh יש רשימה של כל השירותים ברשת, לפי שם ולפי נקודות הקצה שלהם. הרשימה הזו מתעדכנת כדי לנהל את תנועת הנתונים (לדוגמה, כתובות ה-IP של Kubernetes Pod או כתובות ה-IP של מופעי מכונה של Compute Engine בקבוצת מופעי מכונה מנוהלים). באמצעות רישום השירות הזה, והפעלת ה-proxies זה לצד זה עם השירותים, הרשת יכולה להפנות את התנועה לנקודת הקצה המתאימה. אפשר להשתמש בעומסי עבודה של gRPC ללא proxy במקביל לעומסי עבודה שמשתמשים ב-proxy של Envoy.

תובנות לגבי ניראות

ממשק המשתמש של Cloud Service Mesh ב Google Cloud מסוף מספק תובנות לגבי רשת השירותים. המדדים האלה נוצרים באופן אוטומטי לעומסי עבודה שהוגדרו באמצעות ממשקי ה-API של Istio.

  • מדדים ויומנים של שירותים לתעבורת HTTP באשכול GKE של רשת ה-mesh נקלטים באופן אוטומטי ב- Google Cloud.
  • מרכזי בקרה של שירותים שמוגדרים מראש מספקים את המידע שאתם צריכים כדי להבין את השירותים שלכם.
  • טלמטריה מעמיקה – מבוססת על Cloud Monitoring,‏ Cloud Logging ו-Cloud Trace – מאפשרת לכם לבדוק לעומק את מדדי השירות והיומנים. אתם יכולים לסנן ולפלח את הנתונים לפי מגוון רחב של מאפיינים.
  • בעזרת קשרים בין שירותים אפשר להבין במבט חטוף את התלות בין השירותים ואת מי שמחובר לכל שירות.
  • אתם יכולים לראות במהירות את מצב האבטחה של התקשורת לא רק בשירות שלכם, אלא גם את הקשרים שלו לשירותים אחרים.
  • יעדים למדידת רמת השירות (SLO) מספקים תובנות לגבי תקינות השירותים. אתם יכולים להגדיר SLO ולהגדיר התראות על סמך סטנדרטים משלכם לגבי תקינות השירות.

במדריך Observability אפשר לקרוא מידע נוסף על תכונות ה-Observability של Cloud Service Mesh.

הטבות אבטחה

ל-Cloud Service Mesh יש הרבה יתרונות בתחום האבטחה.

  • מצמצם את הסיכון להתקפות חוזרות או להתחזות שנעשות באמצעות פרטי כניסה גנובים. Cloud Service Mesh מסתמך על אישורים של TLS הדדי (mTLS) כדי לאמת עמיתים, ולא על אסימוני נשיאה כמו אסימוני JWT (‏JSON Web Tokens).
  • הצפנה בזמן ההעברה שימוש ב-mTLS לאימות מבטיח גם שכל התקשורת ב-TCP מוצפנת במעבר.
  • מצמצם את הסיכון שלקוחות לא מורשים יוכלו לגשת לשירות עם מידע אישי רגיש, ללא קשר למיקום ברשת של הלקוח ולפרטי הכניסה ברמת האפליקציה.
  • מצמצם את הסיכון לפרצה באבטחת מידע של משתמשים ברשת הייצור. אתם יכולים לוודא שלמשתמשים פנימיים תהיה גישה למידע אישי רגיש רק דרך לקוחות מורשים.
  • מזהה אילו לקוחות ניגשו לשירות עם מידע אישי רגיש. יומני הגישה של Cloud Service Mesh מתעדים את זהות ה-mTLS של הלקוח בנוסף לכתובת ה-IP.
  • כל רכיבי מישור הבקרה באשכול נוצרים באמצעות מודולי הצפנה מאומתים לפי FIPS 140-2.

מידע נוסף על היתרונות ותכונות האבטחה של Service Mesh זמין במדריך האבטחה.

אפשרויות פריסה

אלה אפשרויות הפריסה ב-Cloud Service Mesh:

  • ב- Google Cloud
    • ‫Managed Cloud Service Mesh – מישור בקרה ומישור נתונים מנוהלים ל-GKE (מומלץ)
    • ‫Managed Cloud Service Mesh – מישור נתונים ומישור בקרה מנוהלים ל-Compute Engine עם מכונות וירטואליות (מומלץ)
    • מישור בקרה בתוך האשכול ב-GKE עם ממשקי Istio API (לא מומלץ)
  • מושבת Google Cloud
    • מישור בקרה בתוך אשכול ל-Kubernetes עם ממשקי Istio API

Managed Cloud Service Mesh

‫Managed Cloud Service Mesh כולל את מישור הבקרה המנוהל לכל התשתיות ואת מישור הנתונים המנוהל ל-GKE. ב-Managed Cloud Service Mesh,‏ Google מטפלת בשדרוגים, בהרחבת הקיבולת ובאבטחה בשבילכם, וכך מצמצמת את הצורך בתחזוקה ידנית מצד המשתמשים. הוא כולל את מישור הבקרה, מישור הנתונים ומשאבים קשורים.

הטמעה של מישור הנתונים

אם אתם משתמשים ב- Google Cloud APIs, מישור הנתונים יכול להיות מסופק על ידי שרתי proxy של Envoy או על ידי אפליקציות gRPC ללא proxy. אם אתם מעדכנים אפליקציה קיימת, הגישה שמבוססת על sidecar מאפשרת שילוב ברשת בלי לשנות את האפליקציה. אם אתם רוצים להימנע מהתקורה של הפעלת sidecar, אתם יכולים לעדכן את האפליקציה כדי להשתמש ב-gRPC.

גם שרתי proxy של Envoy וגם gRPC ללא שרת Proxy משתמשים ב-xDS API כדי להתחבר למישור הבקרה. אם משתמשים ב-gRPC ללא proxy, אפשר לבחור מבין השפות הנתמכות לאפליקציות, כולל Go,‏ C++‎,‏ Java ו-Python.

אם אתם משתמשים בממשקי API של Istio בקוד פתוח, מישור הנתונים מסופק על ידי שרתי proxy של Envoy.

הטמעה של מישור הבקרה

מישור הבקרה של Cloud Service Mesh תלוי בהגדרה שלכם – מופעלת או מושבתת Google Cloud – וגם אם אתם לקוחות חדשים.

הטמעה של מישור הבקרה למשתמשים קיימים

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

הטמעה של מישור הבקרה למשתמשים חדשים

העברה של מישור הבקרה

אם אתם ממשיכים להיות לקוחות של Anthos Service Mesh ואתם משתמשים ב-Istio APIs, האשכולות שלכם יתחילו לעבור למיגרציה ל-Traffic Director control plane. אתם יכולים להמשיך להשתמש בממשקי ה-API של Istio לצורך הגדרה.

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

המאמרים הבאים