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

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

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

 

עם התפתחות המודלים של המחשוב, ראינו כמה נקודות שיא שבהן שינוי תפיסה התרחש. ברפרוף על פני ההיסטוריה, בעשור האחרון נציין נקודה אחת כזו – הווירטואליזציה. המעבר לווירטואליזציה איפשר עליה אסטרונומית בניצול יעיל של משאבי מחשוב ובמקביל הפחתה ביחס זמן-ערך ובעבודה חוזרת על מנת לספק שירותים. Multitenancy, ניהול מבוסס API והופעת עננים ציבוריים, הגבירו עוד יותר את היתרונות הללו. פריצת הדרך המשמעותית ביותר היתה ביכולת לנצל משאבים קטנים במיוחד, כמו ליבה אחת מתוך מחשב פיזי שלם בזמינות מיידית, הלא הוא הקונטיינר (Container).

 

לקונטיינר יש כמה סממנים המבדילים אותו מעבודה על מכונה וירטואלית (VM). הראשון שבהם הוא הפשטת הפריסה - הקונטיינר מפשט את את פריסת האפליקציה, ללא קשר למיקום הפיזי של המפתח. השני -  זמינות גבוהה, המאפשרת להעלות אריזה (Package) תוך 1/20 שניות, להבדיל מקרוב לדקה במערכות VMמודרניות. הסממן השלישי הוא ניצול  מיקרו-שירותים אשר מאפשר למפתחים להמשיך ולהקצות משאבי מחשוב בלי לבזבז משאבים מיותרים או להטמיע פונקציה כבדה מידי.

 

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

 

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

 

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

 

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


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

תגובות
הוסף תגובה

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