לקראת אירוע | שירותי מיחשוב לפי צריכה בפועל ומיחשוב עננים
מאת בני מקובסקי, ארכיטקט בכיר ב-CA
החזון של שירותי מיחשוב לפי צריכה בפועל (Utility computing) ומשאבים דינמיים מצית כבר שנים רבות את הדמיון. התפיסה פשוטה: במקום להפעיל שרתים יכולות חברות עסקיות לרכוש מנוי לשירותי מיחשוב ולשלם רק תמורת המשאבים שבהם הן משתמשות בפועל. אולם, למרות ההשקעות המשמעותיות במחקר ופיתוח, מרבית הפתרונות שמציעות הספקיות רחוקים מתמונה אידיאלית זו.
האתגר
המכשול העיקרי שניצב בפני שירותי המחשוב לפי צריכה נובע מהמבנה של היישומים המקוונים המודרניים. מדובר במערכות מורכבות שכוללות את יישום התוכנה עצמו, תוכנות תווכה דוגמת שרתי אינטרנט ומסדי נתונים, מערכות הפעלה ומנהלי התקנים, שרתים רבים, מערכי אחסון עבור השרתים, מערכי אחסון עבור נתוני היישומים, ולבסוף רשתות שיחברו בין כל הרכיבים. ההתקנה וההפעלה של מערכות אלה מחייבת מומחיות גבוהה. כדי לפשט את היישומים חייבים לפתור את הסבך המגביל של הקשרים ההדדיים בין הרכיבים השונים.
הגישה המסורתית הייתה להכין תבניות שממפות את התלות ההדדית ולערוך שינויים במתכונת של עדכונים אוטומטיים. אולם, מדובר בפיתרון מורכב שמחייב עבודת תחזוקה משמעותית בפני עצמו. ניסיון להעביר יישומים לספקיות של שירותי מיחשוב במתכונת כה מורכבת לא יסייע להגשים את החזון של שירותי המיחשוב לפי צריכה בפועל, משום שמדובר למעשה בהסכם מסורתי של שירותי מיחשוב במיקור חוץ. חברת 3Tera שנרכשה ע"י CA מספקת פתרונות במערך מסודר ושירותי מיחשוב לפי צריכה בפועל במתכונת שמפשטת את ההתקנה, ההפעלה וההרחבה של השירותים המקוונים.
הפיתרון של 3Tera
מערכת AppLogic של 3Tera מנתקת את הקשר בין התוכנה לבין החומרה באמצעות טכנולוגיית הווירטואליזציה. היישומים כוללים מרכיבי תוכנה עצמאיים שמכונים התקנים וירטואליים (Virtual appliances). כאשר מפעילים את ההתקנים הווירטואליים הם פועלים במרחב וירטואלי לחלוטין, אשר כולל מחשב וירטואלי וגישה וירטואלית למשאבי אחסון ורשתות. למעשה, אפשר להסב כל תוכנת Linux ו-Windows להתקן וירטואלי בפרק הזמן שבו נמשכת ההתקנה בשרת – וללא שום צורך בשינויים בקוד.
כאשר ההתקנים הווירטואליים אינם פועלים, הם לא צורכים משאבי עיבוד והצריכה של נפח האחסון מועטה ביותר. כתוצאה מכך, במקום להשתמש בהם בצמצום כמו בתוכנה מסורתית, אפשר לארוז את ההתקנים הווירטואליים עם כל יישום שעושה בהם שימוש. בעיקרון, ההתקנים הווירטואליים יוצרים תשתית חד פעמית שעליה נסמך היישום במהלך פעולתו. בזמן הפעולה נוצרת במערך התשתית הווירטואלית הנחוצה ליישום בצורה דינמית, היא ממשיכה לפעול כל עוד יש בה צורך והיא מבוטלת בתום הפעולה של היישום.
השימוש בהתקנים וירטואליים מקל על ההרחבה במערכת ההפעלה AppLogic. כל התקן וירטואלי צורך משאבים מגוונים כדי להפיק את הפלט הנחוץ. המשאבים שנצרכים בפועל מוקצים אך ורק בזמן הפעולה של היישום. כך למשל, התקן וירטואלי של שרת אינטרנט עשוי לצרוך 5% ממשאבי העיבוד (CPU) ו-MB64 מתוך הנפח הכולל של זיכרון RAM כדי להגיב לשאילתה, והתפוקה של ההתקן הווירטואלי תפסיק לעלות כאשר הצריכה של משאבי העיבוד תגיע ל-50% והצריכה של זיכרון RAM תגיע ל-1GB.
מעבר לכך, תהליך תכנון האפלקיציה ותהליך מימוש האפליקציה מתקצרים בצורה משמעותית. בממשק העבודה של המערכת, ארכיטקט האפליקציה מתכנן את מרכיביה בצורה גראפית מעל לוח חלק (Canvas) , ובלחיצת כפתור "הופך" את השרטוט לאפליקציה חיה ונושמת.
בנוסף תשתית ה-Grid של AppLogic מאפשרת ניוד של אפליקציה שלמה לכל מקום גיאוראפי בלחיצת כפתור וכך לקבל פתרון DR בעלות של שרתי Commodity.
יתרונות הפיתרון
מערכת AppLogic מאפשרת ליהנות משירותי מיחשוב לפי צריכה בפועל משום שהיישומים עצמאיים לחלוטין, ניידים וברי הרחבה. מאחר והם אינם תלויים בחומרה כלשהי, אפשר להעתיק אותם כפי שהם ולהפעיל אותם בכל מערך AppLogic ללא שום שינוי. ההקצאה המדויקת של המשאבים לכל מופע של היישום תלויה בצרכי המשתמשים במהלך הפעולה.