ניטור סביבות ענן כבר לא מספיק היום. מעתה אמרו: Observability

המערכות המודרניות המורכבות, ובעיקר אלה של חברות ה-SaaS הגדולות, חייבות להביט לתוך המערכת ולהפיק תובנות תוך זמן קצר. במילה אחת: Observability. איך זה עובד?

Observability הפך להיות כורח המציאות

מאת לידור גרסטל, מנהל תחום DevOps בחברת MidLink 

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

אך ביישומים מודרניים זה לא כל כך פשוט. יישומים הבנויים בטכנולוגיות כגון קונטיינרים, קוברנטיס, Function as a service (כמו Lambda של AWS), מיקרו-שירותים ודומיהם, מכילים הרבה מאוד חלקים נעים. הרכיבים הללו מופעלים ומכובים לפי הצורך, זזים בין שרתים מארחים ומשרתים באופן פנימי מגוון רכיבים תלויים.

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

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

כדי להשיג Observability יש צורך במידע מכונה

הפתרון: Observability

תובנה מרכזית ממוצרי ה-SaaS הגדולים היא שכדי לקצר את זמן הזיהוי של בעיות (MTTD – Mean Time To Detect) ואת זמן התיקון (MTTR – Mean Time To Repair), יש צורך בתפישה יותר מורכבת של הבנת בריאות המערכת. במערכות כל כך גדולות ומורכבות כבר לא מדברים על ניטור, אלא על היכולת להביט אל תוככי המערכת ולתפוס ברגע מה מצבה. במילה אחת: Observability.

כדי להגיע ל-Observability יש צורך במגוון מקורות נתונים המכונים בשם הכולל “מידע מכונה” (Machine Data). מידע מכונה הוא מידע שמערכות ממוכנות מייצרות תוך כדי תפעול – גם כדי לספר לנו, המפעילים והמשתמשים, מה הן עושות, וגם כחלק מהפעלה וצריכה של שירותים באופן פנימי במערכת. ישנם לפחות שלושה סוגים עיקריים של מידע מכונה הדרושים כדי לקבל Observability איכותי: אירועים ולוגים, מדדים מספריים – מטריקות, ועקבות שימוש אפליקטיביים (Traces). למקורות הללו שימושים שונים.

במילה אחת: Observability. כך זה עובד

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

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

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

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

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

כדי להשיג Observability יש צורך במידע מכונה

מתנת הקוד הפתוח

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

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

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

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

 

 

הכתבה בחסות MidLink

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

בכתבה זו נסקור את האתגרים הללו .

Avatar

כתב אורח

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

הגב

2 תגובות על "ניטור סביבות ענן כבר לא מספיק היום. מעתה אמרו: Observability"

avatar
Photo and Image Files
 
 
 
Audio and Video Files
 
 
 
Other File Types
 
 
 

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

סידור לפי:   חדש | ישן | הכי מדורגים
ניר שילוני
Guest

כתבה מצוינת לידור!
ישר כח ????

שם כלשהו
Guest

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

wpDiscuz

תגיות לכתבה: