מה הקשר בין Docker לפריג'ידרים ופטיפונים?
כתב: יואל יעקובסן, סמנכ"ל הטכנולוגיות של א.מ.ת מיחשוב.
בשנים האחרונות מסתמן המחשוב מבוסס הקונטיינרים בעקביות כתשתית הנבחרת ליישומי תוכנה חדשים וכיעד למודרניזציית התשתית של יישומים קיימים. מחשוב מבוסס קונטיינרים מאפשר ליישומים להתמודד עם דרישות משתנות באופי השימוש, עם תדירות שינויים הולכת וגוברת, ועם הרצון של הארגונים לחוסר תלות בין סוג הענן והספק שלו לארכיטקטורת התוכנה.
הפרויקט הראשון שזיהה ודחף קדימה בהצלחה את פוטנציאל הקונטיינרים בלינוקס היה Docker. כיום, הטכנולוגיה ועולם התוכן של Docker מובילים את תחום הקונטיינרים עד כדי זיהוי מוטעה בין המושגים. התופעה מזכירה את התקופה שבה כל מקרר כונה פריג'ידר, על שם היצרן, ואת העובדה שהמכונה להשמעת תקליטים נקראת עד היום פטיפון (אף אחד לא משתמש במונח העברי – מקול), כשם המוצר של החברה הצרפתית של האחים Pathé, שנקרא Pathéphone, על שמם.
בדיוק כמו שלא כל מקרר הוא פריג'דר, כך לא כל קונטיינר הוא Docker. מדוע התפתחו חלופות לפרויקט הקונטיינרים המיתולוגי?
ובכן, כפי שנאמר לגיבור על ידוע: "With great power comes great responsibility" ("עם כוח רב באה אחריות רבה"). הכוח של הקונטיינרים מסוג Docker מגיע משני מקומות עיקריים: האחד, כאמור, הם מובילים את התעשייה ומזוהים עם הטכנולוגיה. אולם על אף שהם מוכרים כפרויקט קוד פתוח, ההתנהלות של הפרויקט אינה פתוחה כפי שרבים היו רוצים. השני – ברובד הטכנולוגי, שיטת העבודה של קונטיינרים מסוג Docker גוררת, כברירת מחדל, רמת הרשאות גבוהה מאוד במחשב המארח.
איך עונים על האתגרים?
כדי לענות על האתגרים עם פרויקט Docker התפתחו מספר טכנולוגיות מקבילות. כיום, הפעלת קונטיינרים בהיקף גדול נעשית בדרך כלל באמצעות פרויקט קוברנטיס. הפרויקט מזוהה על ידי רבים כתשתית מבוססת Docker, אך זהו לא המצב המדויק. כבר מספר שנים פרויקט קוברנטיס יודע להפעיל כל פלטפורמה מחשובית שחושפת ממשק CRI – ממשק גנרי לניהול הפעלת קונטיינרים. הממשק כל כך גנרי, שהוא יכול להפעיל גם דברים שהם לגמרי לא קונטיינרים – למשל מכונות וירטואליות. כיום ישנן מספר טכנולוגיות קונטיינרים המתממשקות ל-CRI של הקוברנטיס באופן מושלם, ומביאות יתרונות משלהן.
רד-האט, חלוצת השימוש הארגוני בטכנולוגיות קוד פתוח מבוססות לינוקס, אימצה בתחום הזה את Podman. ברמת המקומית, אפילו בלי קוברנטיס, אפשר להשתמש ב-Podman כחלופה מלאה ל-Docker. הפקודות בעלות מבנה תואם, ניתן להשתמש במאגרי Docker images תואמי Docker והתחושה על פני השטח דומה. כשצוללים פנימה, מתגלים ההבדלים: ראשית, טכנולוגיית Podman פותרת את אתגרי ההרשאות ואבטחת המידע המזוהים עם Docker, ושנית, הפרויקט מנוהל כפרויקט קוד פתוח קלאסי, בלי אותיות קטנות.
פרויקט Podman משיק לפרויקטים אחרים שהכרחיים כדי לנהל סביבת קונטיינרים ארגונית פתוחה ובטוחה. קונטיינרים, כשמם, פותרים בסופו של דבר בעיית משלוח – איך אורזים רכיב תוכנה עם התלויות ההכרחיות שלו אבל לא יותר מכך, באופן שהרצה שלו בכל סביבה תהיה זהה לחלוטין. המארז הזה נקרא Container image, ופרויקט Buildah נותן סט כלים לבניית אימג' סטנדרטי. אוסף האימג'ים מנוהל במאגרים, ופרויקט Skopeo מספק סט כלים כדי לנהל שינוע אמין ומאובטח של קונטיינרים (למעשה – אימג'ים) בין סביבות.
כנס Red Hat Forum Israel 2019 הוא הזדמנות מצוינת ללמוד מגריגורי פורטנוב, המנהל הטכני של תחום ה-DevOps בא.מ.ת מיחשוב, את הסודות של עולם הקונטיינרים. מה הם קונטיינרים "באמת"? איך הם משתלבים ברבדים השונים של מערכת לינוקס? כיצד תשתית CRI עובדת? מה בדיוק עושה OCI? מה הקשר בין פרויקט Open Container לפרויקט קוברנטיס? מה בדיוק קורה כאשר מפעילים קונטיינרים? ובכלל, באיזו טכנולוגיית קונטיינרים כדאי לכם לבחור?
להרשמה לאירוע לחצו כאן.