מיקרו-שירותים

במסמך הזה מוסבר על מיקרו-שירותים ומתוארים סוגי המיקרו-שירותים שנתמכים על ידי Cloud Monitoring.

המונח מיקרו-שירות מקבל משמעויות שונות אצל אנשים שונים. עבור חלק מהאנשים, המיקרו-שירות תואם ל'תיבות' שמציירים על הלוח כשמדברים על ארכיטקטורת המערכת. אחרים מתייחסים להגדרה רשמית יותר שמתארת נקודת קצה שאפשר לפנות אליה ברשת, עם פונקציונליות שנקבעת על ידי ה-API החיצוני שלה, שאפשר לפתח, לפרוס ולהפעיל באופן עצמאי משירותי מיקרו אחרים במערכת. אחרים מתבססים על מושג המיקרו-שירות שמופיע בפלטפורמת הפיתוח שלהם, כמו שירותי App Engine או שירות Cloud Service Mesh.

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

כדי לעזור לכם לעקוב אחרי המיקרו-שירותים, Cloud Monitoring מבצע את הפעולות הבאות:

  • זיהוי אוטומטי של מיקרו-שירותים כשזה אפשרי
  • מספק חוויה מודרכת להגדרת מיקרו-שירותים (microservices) שמבוססים על Google Kubernetes Engine ועל Cloud Run
  • מציע פתרון בהתאמה אישית מלאה לגמישות מקסימלית

מיקרו-שירותים (microservices) שמתגלים אוטומטית

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

‫Cloud Monitoring יכול לזהות באופן אוטומטי מיקרו-שירותים שנבנו באמצעות מסגרות הפיתוח הבאות:

  • App Engine: ב-App Engine יש מושג חזק של מיקרו-שירות, שנקרא שירות App Engine (ולפני כן מודול). כל שירות מזוהה באמצעות קובץ הגדרה משלו app.yaml.

  • Cloud Service Mesh: ‏ Cloud Monitoring תומך ברשתות שירות שנבנו על גבי אשכול GKE יחיד. בהגדרה הזו, שירות Cloud Service Mesh תואם ישירות לשירות GKE. כל השירותים של Cloud Service Mesh, גם אלה שמנוהלים על ידי המשתמש וגם אלה שמנוהלים על ידי המערכת, מזוהים באופן אוטומטי.

לוחות בקרה למיקרו-שירותים (microservices) שמתגלים אוטומטית

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

לוח בקרה של שירותים למיקרו-שירותים שמתגלים אוטומטית.

GKE, ‏ Cloud Run ושירותים בהתאמה אישית

‫Cloud Monitoring יכול לזהות שירותים פוטנציאליים או מועמדים מהסוגים הבאים:

  • מרחבי שמות של GKE
  • שירותי GKE
  • עומסי עבודה ב-GKE
  • שירותי Cloud Run

עם זאת, יכול להיות שיש הרבה מועמדים כאלה, ולא בהכרח כדאי ליצור SLO לכולם. המערכת יוצרת רשימה של שירותים פוטנציאליים, ואתם בוחרים מתוך הרשימה את השירותים שאתם רוצים להגדיר כשירותי Monitoring. הניטור יוצר את תשתית השירות בשבילכם.

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

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