מהו פרויקט מובי של דוקר?

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

במהלך DockerCon 2017 הושמעו כמה הודעות עיקריות, כולל פרויקט מובי. 

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

פרויקט מובי הוא לדוקר מה פדורה היא עבור Red Hat Enterprise Linux. - סולומון הייקס, דוקטור CTO / מייסד

בהפיכתו לפרויקט המכולות המקביל לפרויקט פדורה, אופן בנייתו של דוקר משתנה.

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

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

  • הם חילקו את OCI / runc, וכעת הוא הסטנדרט הקבוע לפורמטים של זמן ריצה של מיכל ותמונות.
  • הם חילקו את הקונטרולר, וכעת זהו תקן התעשייה בפועל לזמן הפעלה של מכולות עם תרומות של כל ספקיות הענן הגדולות ו -99 אחוזים מבסיס ההתקנות (מיליוני צמתים ברחבי העולם).
  • נוטריון הפך ליישום הבוגר ביותר של התעשייה של TUF ולמרכז של שיתוף פעולה עבור קהילת האבטחה.
  • הפצת Docker מהווה בסיס קוד פתוח לתריסר מוצרים מסחריים.

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

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

פרויקט @moby בקיצור: בפנים ובחוץ. pic.twitter.com/K8Rn9YYtVs

- סולומון הייקס (@solomonstre) 22 באפריל 2017

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

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

ניתן לתאר את פרויקט מובי בארבע שכבות:

  1. כל הדרך רכיבים במעלה הזרם
  2. מובי
  3. Docker CE
  4. Docker EE
דייוויד צ'ונג / דוקר בע"מ

על ארגון הפרויקט לשכבות להניח תוכן טבעי המתעורר כאשר יש לקבל החלטות בין מה שעובד עבור הפרויקט לעומת המוצר. Docker כמוצר יוסיף דעות שהודיעו המשתמשים שלהם (כדי להיות קל יותר עבור המשתמשים שלהם). לדוגמא, ל- containerd אין רישום ברירת מחדל, בעוד ש- Docker יכיל את רכזת ה- Docker כברירת מחדל או את ה- Docker CLI, ויספק בדיקה קלה לבעיות פתוחות שיש לך לפרויקט שלך בפורום / מערכת התמיכה של Docker. משתמשים לא מושפעים. משתמשים עדיין יתקיימו עם Docker באותו אופן.

  • מפתחי יישומים המחפשים דרך קלה להריץ את היישומים שלהם במכולות עשויים להסתכל על Docker CE.
  • IT ארגוני  המחפש פלטפורמת מיכלים מוכנה לשימוש ותומכת מסחרית עשוי להסתכל על Docker EE.

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

  • בוני מערכות  המעוניינים למנף רכיבים של פרויקט מובי עשויים לחדש מבלי להיות קשורים לדוקר.

ממשל פרויקטים

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

שאלות נפוצות על פרויקט מובי

  • עכשיו, כשמובי מפרק את המונוטליט, האם ישולבו שפות אחרות מלבד גו?
    • עבור LinuxKit - יש מחויבות ל- Ocaml ו- Rust. אין תוכנית אב לשינוי שפות.
  • האם REST יוחלף ב- gRPC?
    • Docker Inc בדרך כלל רוצה להשאיר את REST API כחזית מתמדת, תוך העברת תקשורת פנימית בין פרויקטים של מובי ל- gRPC. רכיב יכול לשנות שפות ולא שישפיע על רכיבים אחרים (בדיוק כמו שמיקרו-שירותים מספקים בחירה). למנוע יש ממשק API של HTTP REST, וכל הרכיבים הנמוכים יותר אימצו את ה- gRPC. סולומון מציע לאמץ את ה- gRPC כממשק הסטנדרטי. היתרונות כוללים כלים אוטומטיים יותר.
  • איפה תמצאו את Docker CE (פרויקט הקוד הפתוח)?
    • TBD — Docker / CLI יכללו את ספריות הלקוחות ו- SDK לעת עתה. האריזה והבנייה הם ספציפיים למהדורה, בהתחשב בכך שיש הרבה Docker ל- XXX.