החיים בתוך קונטיינר: להמציא מחדש את המכונה (הווירטואלית)
מכונה וירטואלית היא סביבת פיתוח טבעית עבור רוב המפתחים ● ועדיין הבעיות בה רבות: צורך בעדכונים, חוסר התאמה בין גרסאות ועוד ● טכנולוגיית קונטיינרים עשויה להיות השלב הבא באבולוציה של סביבת פיתוח
מערכת היחסים בין מפתח למכונה וירטואלית מורכבת. מצד אחד, מדובר בסביבה נוחה, בטוחה ומוכרת לפיתוח. מצד שני, היא דורשת עדכונים ושדרוגים ללא הרף (של השרת, בסיס הנתונים, יישומים ועוד), הזיכרון שלה מוגבל כך שלא ניתן להריץ עליה מספר גדול של יישומים ותמיד עשויה להיווצר התנגשות בין שלל הרכיבים והגירסאות שמרכיבים את היישום – מה שאומר יום ארוך ומתסכל עד לפתרון הבעיה.
כל הבעיות האלו ועוד רבות אחרות מדירות שינה מעיניהם של אלפי מפתחים ברחבי העולם. הפתרון שהמציאו גדולי המוחות? להכניס את סביבת העבודה לתוך קונטיינר.
ברצינות.
עידן הקונטיינרים: המיכל שמתכנתים חייבים להכיר
טכנולוגיית קונטיינרים פותחה על מנת להפוך את סביבת המכונה הוירטואלית ליעילה, נוחה ומהירה יותר. במקום לעבוד על יישום בתוך סביבה שמשפיעה עליו במגוון אופנים (סוג השרת, מערכת ההפעלה, גירסאות של יישומים ומאגרי מידע ועוד), היישום מאוחסן ב"מיכל" אטום ומבודד כמעט לחלוטין מסביבת הפיתוח. כלומר – קונטיינר.
כל קונטיינר מכיל יישומים ספציפיים, הנדרשים להרצת האפליקציה, בראשם מערכת הפעלה (Windows, Ubuntu, iOS ועוד). ניתן להוריד מגוון קונטיינרים מוכנים מראש מחנות וירטואלית של ספקיות השירות – חלקם הגדול בחינם. באופן זה, מפתחים יכולים לעבוד על יישומים בסביבה מבוקרת, שמתאימה במיוחד לצורכי הפיתוח, שאינה מושפעת מהשרת או מסביבת העבודה הפיזית או הווירטואלית. החברה שהובילה את פיתוח הטכנולוגיה היא דוקר (Docker), שאף הצליחה בשנת 2013 ליצור סטנדרט אחיד של קונטיינרים, שהפך למוסכם בין כל השחקנים שמפתחים יישומים בתחום.
נוח זו מילה חסכונית: החשיבות הקריטית של קונטיינרים
השימוש בקונטיינרים יחסית חדש, ועל פי רוב מחשיבים אותו כנוח במיוחד. לכן חשוב להדגיש: סביבת העבודה הנוחה שיוצרים קונטיינרים צפויה לחסוך הרבה מאוד כסף בשנים הקרובות – לארגונים, לסטארט-אפים, למפתחים עצמאיים. הנה רק חלק מהסיבות לכך:
- קונטיינרים מבוססים על קוד פתוח. רוב היישומים חופשיים לשימוש והתקנתם קלה. ברוב המקרים אין צורך לבזבז שעות עבודה או לשלם למתכנת חיצוני שיבצע התקנה.
- קונטיינרים מגדילים משמעותית את יעילות המכונה הווירטואלית. הם מנצלים ביעילות משאבי מערכת ומאפשרים להפעיל יותר יישומים בו זמנית בכל מכונה וירטואלית. בכך הם חוסכים את הצורך ברכישת שרתים נוספים יקרים.
- קונטיינרים מאיצים את תהליך הפיתוח. הם מקטינים את הצורך בתחזוקת יישומים ובהתקנות ומאפשרים לצוותי הפיתוח להתמקד בדברים החשובים – אפיון, כתיבת היישום, QA, השקה ועוד.
כל היתרונות האלו, ועוד רבים אחרים, לא נעלמו מעיני הארגונים הגדולים. לפי סקר שנערך ב-2018 וכלל 576 מנהלי IT של ארגונים וחברות ענק, נראה שהסיבה העיקרית שבגללה הם מתכננים לעבור לטכנולוגיית קונטיינרים היא חיסכון בכסף. עוד העלה הסקר, שכ-44% מאותם ארגונים מתכננים לשלב קונטיינרים ב-12 החודשים הקרובים; כ-50% מתכננים לשלב קונטיינרים גם בסביבת הייצור וכ-12% הצהירו שהם כבר שילבו אותם.
כידוע, לא כל טכנולוגיית פיתוח חדשה זוכה לכאלו תגובות נלהבות. יישומי Low Code, לדוגמה, עדיין גורמים להרמת גבות חשדנית בקרב מפתחים רבים, אולם החיסכון שקונטיינרים מציעים הוא אמיתי ומשמעותי. לפי אותו סקר, כ-55% מהחברות שייצגו הנשאלים מוציאות יותר מ-100 אלף דולרים על זכויות שימוש במכונות וירטואליות ו-34% מוציאות על הרישוי יותר מ-250 אלף דולרים בשנה. עבור רבים מאותם ארגונים שימוש בקונטיינרים צפוי לצמצם את ההוצאה בחצי ואפילו יותר.
העתיד בתוך מיכל: לאן צפויים קונטיינרים להביא אותנו?
כאמור, חברת דוקר נחשבת כמובילה העולמית בתחום הקונטיינרים – הן כמפתחת בולטת והן בזכות מאמציה ליצירת סטנדרט, שהפך למקובל בין כל השחקנים. מהלך זה התרחש ב-2013 והוביל לצמיחת התחום. לפי הערכות, יותר מ-30 אלף חברות כבר משתמשות בקונטיינרים של דוקר. מאחר שדוקר שולטת על כ-50% משוק הקונטיינרים, ניתן להעריך את סך החברות שמשתמשות בקונטיינרים ביותר מ-60 אלף (מתוכן כ-30% משתמשותם בקוברנטיס מבית גוגל כסביבת ניהול לקונטיינרים).
מעניין גם לראות מי הן החברות שמשקיעות בפיתוח יישומי קונטיינרים מלבד דוקר וגוגל המובילות שצוינו לעיל. בין השמות הגדולים אפשר לציין את מיקרוסופט, שאף יצרה שותפות רשמית עם דוקר, אמזון, סמסונג – שנכנסה לתחום לאחר רכישה בשווי 1.2 מיליארד דולר של חברת Joyent, סיסקו, יבמ, אורקל ועוד.
כמו כל טכנולוגיה חדשה, גם בתחום הקונטיינרים האתגרים רבים וגדולים: השימוש של מספר גדול של יישומים בסביבת פיתוח אחת מביא עמו סוגיות אבטחת מידע שעדיין לא נמצאו לכולן פתרונות, שיתוף האימג'ים ומשאבי המערכת לא תמיד אידיאלי ועוד. ועדיין, הפוטנציאל של קונטיינרים ניכר כבר מהיום הראשון, והמעורבות של כמעט כל ענקית פיתוח בתחום רק מוכיחה – העתיד, לפחות של סביבות פיתוח, נמצא בתוך קונטיינר.
הכותב כיהן כמנמ"ר מימון ישיר וכיום משמש כיועץ טכנולוגי לארגונים
כמפתח עבדתי בחברה שיישמה דוקר וזה מדהים. זה מקדם את מהירות הפיתוח ומונע בעיות תאימות ורגרסיה שונות
הבשורה הגדולה היא מיקרו שירותים Micro Services
זו מהפיכה אדירה בפיתוח תוכנה. טוב שנושא זה נמצא על סדר היום
מה דעתכם?
קונטיינרים משפרים את יכולת הפיתוח. הם מאפשרים להריץ מערכת הפעלה אחת על כל שרת, והשכבה שעוברת אבסטרקציה היא האפליקציה עצמה.