במאמר הזה מוסבר על מיקרו-שירותים ומתוארים סוגי המיקרו-שירותים שנתמכים על ידי Cloud Monitoring.
המונח מיקרו-שירות מקבל משמעויות שונות אצל אנשים שונים. עבור חלק, המיקרו-שירות תואם ל "תיבות" שמציירים על הלוח כשמדברים על ארכיטקטורת מערכת. אחרים מתייחסים להגדרה רשמית יותר שמתארת נקודת קצה שאפשר להקצות לה כתובת ברשת, עם פונקציונליות שנקבעת על ידי ה-API החיצוני שלה, שאפשר לפתח, לפרוס ולהפעיל באופן עצמאי ממיקרו-שירותים אחרים במערכת. אחרים מתבססים על מושג המיקרו-שירות שמופיע בפלטפורמת הפיתוח שלהם, כמו שירותי App Engine או שירות Cloud Service Mesh.
המטרה שלנו היא לא לכפות עליכם הגדרה של מיקרו-שירות. במקום זאת, אנחנו רוצים לעזור לכם לעקוב אחרי המערכות שלכם בקנה מידה נרחב במהלך השינוי הדיגיטלי, ולספק לכם כלי ניטור מבוססי-שירות כדי לתמוך בכם ובארכיטקטורה שלכם. אנחנו רוצים לעזור לכם ליישם שיטות מומלצות למעקב אחרי מערכות בלי לשנות אף שורת קוד.
כדי לעזור לכם לעקוב אחרי המיקרו-שירותים, Cloud Monitoring:
- זיהוי אוטומטי של מיקרו-שירותים כשזה אפשרי
- מספק חוויה מודרכת להגדרת מיקרו-שירותים מבוססי 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 יוצר רשימה של שירותים פוטנציאליים, ואתם בוחרים מתוך הרשימה את השירותים שאתם רוצים להגדיר כשירותי Monitoring. המעקב יוצר את תשתית השירות בשבילכם.
אם אין סוג שירות קיים שמתאים לאפליקציה שרוצים ליצור עבורה יעדי SLO, אפשר להגדיר שירות בהתאמה אישית.
מידע נוסף על זיהוי שירותים פוטנציאליים ויצירת שירותים בהתאמה אישית זמין במאמר הגדרת מיקרו-שירות.