ניהול, ניטור ואבטחת מידע בעולם החדש
כתב: איגור קושציץ, ארכיטקט פתרונות רד-האט ב-Matrix Open Source.
אם אתם מפתחים, מנמ"רים או בכלל מנהלים מהתחום הטכנולוגי, יש סבירות גבוהה שיצא לכם לשמוע על קוברנטיס ו-Docker. ה-Docker שינה את הדרך שבה מריצים אפליקציות והקוברנטיס – את הדרך שבה מנהלים קונטיינרים בסביבות הענן השונות. פתרון נוסף מתחום הקוד הפתוח, שמשתלב עם שתי הפלטפורמות, הוא Istio. הפתרון מוסיף Network Service Mesh ומאפשר לנהל, לנטר ולאבטח אפליקציות שפותחו בארכיטקטורת מיקרו-שירותים.
Istio החל כפרויקט קוד פתוח שפותח על ידי גוגל בשיתוף פעולה עם מספר חלוצים מיבמ. הפתרון מאפשר לבצע מודרניזציה לאפליקציות מיקרו-שירותים ול-Cloud Native Applications, עם שליטה מלאה, ניטור, אבטחה, מעקב ויכולות ניהול מתקדמות – והכל בפתרון אחד.
אחד מיתרונותיו של Istio, מעבר ליכולות הניהול, קביעת המדיניות ואבטחת המידע, הוא היכולת שלו לעבוד ברמת שכבת הרשת, מה שמאפשר אינטגרציה קלה בין אפליקציות המיקרו-שירותים עם ה-Load Balancer (פתרון לחלוקת עומסים), אותנטיקציה בין שירות לשירות, ויכולות ניטור ומעקב מתקדמות ללא שינויים בשכבת התשתית. בתחום אבטחת המידע, באמצעות Istio ניתן להצפין את המידע העובר בין השירותים השונים לפי זהות, חוקים ומדיניות שניתן לקבוע מראש על מנת להגן עליו מפני האקרים שמנסים לבצע מתקפות מסוג MITM (ר"ת Men in the middle). המידע שעובר יהיה מוצפן באמצעות Mutual TLS.
איך Istio עובד?
הפתרון רץ על Linux Container בתוך Kubernetes Pod ומתפקד כשירות פרוקסי שמקבל את כל המידע הנכנס והיוצא מהאפליקציה. ברמת התפעולית הוא עוזר להתמודד עם עשרות אתגרים: Circuit Breakers, Fault injections ועוד.
בימים אלה אנחנו, ב-Matrix Open Source, עובדים על מספר פרויקטים בתחום הטרנספורמציה הדיגיטלית אצל לקוחות, ומלווים אותם במעבר בין אפליקציות מונוליטיות לארכיטקטורת מיקרו-שירותים. לרוב, כשמפרקים אפליקציה לעשרות ולפעמים גם למאות שירותים קטנים, קשה לנהל אותה ולהבין איזה שירות מתקשר עם שירות אחר ברמה האפליקטיבית.
לקוחות שמאמצים את Istio יכולים בקלות לזהות תקלות מיותרות על גבי הרשת, וליהנות ממשק ניהול שעוזר להבין מה קורה בתוך האפליקציה ולוגים במקום מרכזי.
אני ממליץ לכלל לקוחותינו שעובדים עם קוברנטיס ו-Red Hat OpenShift לאמץ את Istio. ככל שהסביבה הארגונית גדולה יותר, כך קשה יותר לנהל אפליקציות מבוזרות הנשענות על גבי מספר פלטפורמות וספקים בשירותי הענן.