Application Virtualization
מה זה Application Virtualization (או אפליקציות וירטואליות בשפת הקודש), זהו מונח אשר מתייחס לאפליקציות הרצות על מחשב המשתמש ואשר לא משנות דבר במערכת ההפעלה עליה הן רצות, אבל עדיין מותקנות (כביכול) על המחשב המארח אותן, ועם לפשט את זה מעט, האפליקציות מופעלות על המחשב, משתמשות במקורות שלו (זיכרון, מעבד, מדפסות וכו' ) ומתנהגות כאילו הן הותקנו על המחשב, אבל למעשה הן רצות בסביבה סגורה.
וליתרונות:
- אין צורך להתקין את האפליקציה על התחנה.
- פיתרון לקונפילקטים בין אפליקציות שונות (שימוש באותו dll וכו').
- אפשרות להריץ כמה גרסאות של אותה האפליקציה על אותו המחשב (לדוגמה, Word 2007 ביחד עם Word 2000).
- הפצה ועידכון מהיר של אפליקציות לתחנות הקצה.
למרות שהרעיון הכללי של איך אפליקציה וירטואלית עובדת די דומה, בכל זאת כל ספק פתרון של Application Virtualization מממש את הפתרון בצורה שונה.
כרגע קיימים 4 פתרונות ל Application Virtualization:
- Microsoft SoftGrid
- Altiris Software Virtualization Solution (SVS)
- Thinstall Virtualization Suite 3.0
- Citrix PS4.5 Streaming Application
כאשר SoftGrid של מיקרוסופט (לשעבר של Softricity) ו SVS של Altiris (אשר נרכשה ע"י Symantec) הם הפתרונות הוותיקים יותר מכל השאר, Citrix ו- Thininstall הכריזו על המוצרים שלהם רק בתקופה האחרונה.
כאמור, כל חברה מממשת את הפתרון בצורה מעט שונה ממתחרותיה, נערוך השוואה בכדי להבין טוב יותר את השוני של כל המוצרים.
Altiris Software Virtualization Solution (SVS)
פתרון אשר מפשט את הפצת האפליקציות לתחנות הקצה, כל אפליקציה מופצת בחבילה,
Virtual Software Package (VSP) אשר ניתן לטעון ולשחרר ע"י הקליינט המקומי או ע"י פקודה מרוחקת (במקרה של אינטגרציה עם ה Notification Server).
הפתרון מיועד לתחנות קצה, כלומר מחשבים ניידים ומחשבים נייחים, אינו תומך באינטגרציה עם Terminal Servers (תמיכה ב Terminal Servers תתווסף בגרסא הבאה שאמורה לצאת לקראת 2008).
אז איך זה עובד, Altiris (או שמא אני אגיד Symantec? חה חה חה) מחלקת אפליקציות ווירטואליות לשכבות, ככה שבעצם השכבות רצות מעל מערכת ההפעלה, שכבה יכולה להכיל רק אפליקציה אחת או כמה, ההתייחסות לשכבה היא אותה התייחסות כמו ל Sand box במוצרים אחרים, כלומר השכבה מבודדת ממערכת ההפעלה המארחת אותה.
מכיוון שהשכבות רצות מעל מערכת ההפעלה, נוצרת סוג של הדמיה שהאפליקציה רצה מקומית על המחשב, ואני אסביר את זה מעט, נגיד שהגדרתי שכבה שמפעילה Word 2007, לפני הפעלת השכבה לא יופיע שום סימן ל Word 2007 לא ה Program Files, לא בפרופיל המשתמש ולא ברג'סטרי, כשהשכבה הרצויה תופעל (במקרה שלנו השכבה של Word 2007), תיווצר תיקיה Microsoft Office\Office 12 ב Program Files, ייווצרו הערכים הרלוונטיים ברג'סטרי וכנ"ל גם לתיקיות הרלוונטיות בפרופיל המשתמש, כשאני אעשה Deactivate לשכבה, כל התיקיות וערכי הרג'סטרי יעלמו כלא היו.
כל ההגדרות של השכבות שמוגדרות לקליינט נשמרות בתיקייה c:\fsldr\ (תיקייה נסתרת למשתמש) ומספר רץ של השכבות שמוגדרות לקליינט.
כל הבלאגן הזה מנוהל ע"י קליינט המותקן על התחנה (אשר יכלול administrative console במקרה של התקנה מקומית, ללא ניהול מרכזי של ה Notification Server), לפי Altiris אופן העבודה של האפליקציות יהיה איטי יותר בסביבות ה 3%, משהו שלא ניתן להבחין בעבודה עם האפליקציה.
קצת נקודות למחשבה, SVS הוא לא פתרון וירטואליזציה קלאסי, הארכיטקטורה של המוצר מבוססת על הפניות קבצים וערכי רג'סטרי ולא ממש Sand Box סגור ומסוגר כמו בשאר המוצרים, מכיוון שכך קונפליקטים בין האפליקציות שרצות באותן השכבות יכולים להתרחש.
מחיר, נכון ללפני חצי שנה עמד על סביבות ה 35$ לתחנה.
Microsoft SoftGrid
קצת רקע, חברת Sotfricity נרכשה ע"י מייקרוסופט ביולי 2006 (תמורת סכום זעום של 191 מיליון ירקרקים), בכדי לספק לחבר'ה מרדמונד דריסת רגל גם בתחום ה Application Virtualization ובעיקר את היכולת לתת פתרונות לכל מה שארגון צריך.
Softgrid תומך במחשבים נייחים, מחשבים ניידים ושרתי TS, תמיכה מלאה ב Active Directory ואינטגרציה מלאה עם SMS 2003.
איך זה עובד, בכדי להכין Package של תוכנה משתמשים ב Softgrid Sequencer אשר אחראי ללכוד את כל אינטראקציות שיש לתוכנה שברצוננו להפיץ עם מערכת ההפעלה ולהכין את החבילה שתופץ לתחנות, כל הקבצים שלא דרושים לשם הפעלה ראשונה של התוכנה מועתקים לתיקיה יעודית ויסופקו במקרה הצורך לקליינטים.
לאחר תום התהליך, האפליקציה תופיע ב Softgrid VAS (Virtual Application Server) Server.
כל ההגדרות הנוגעות לאפליקציות ולשרתים נשמרות בשרת Softgrid DataStore (SQL 2000/2005 בלבד).
כשהמשתמש מעוניין להפעיל את האפליקציה, הקליינט פונה לשרת VAS ובודק אם למשתמש יש הרשאה להפעיל את האפליקציה והאם קיים רשיון זמין, בהפעלת האפליקציה, הקליינט בודק אם האפליקציה נמצאת ב Cache של הקליינט, אם לא, אז השרת יספק את האפליקציה ( Stream) לקליינט, אחרי שבסביבות ה 20 עד 40 אחוז מהאפליקציה כבר סופק לקליינט, האפליקציה תופעל, ברגע שהמשתמש ירצה להשתמש בפונקציה שלא סופקה, תישלח בקשה נוספת לשרת והוא יספק את הגישה לפונקציה הרצויה.
האפליקציות לא רצות ממש על תחנת המשתמש, הן רצות בסביבה מופרדת אשר שומרת שלא יהיה קשר עם מערכת ההפעלה (או System Guard), כל הגדרות המשתמש לאפליקציה נשמרות בפרופיל המשתמש כברירת מחדל, אבל ניתן לשנות את ההגדרה.
עקב השימוש ב System Guard, גרסאות שונות של אותה אפליקציה יכולות לרוץ במקביל ללא קונפליקטים ביניהם.
לאפליקציות יווצר Cache מקומי לשימוש חוזר, מה שמונע גישה מחודשת לשרת, כשאפליקציה תופעל מה- Cache היא תופעל מיידית ללא צורך בשרת שיספק לה את הקבצים הדרושים להפעלה.
לפי Microsoft, אופן העבודה של האפליקציות יהיה איטי יותר בסביבות ה 2%, אחוז די זניח מבחינת העבודה של המשתמש.
מחיר, פה הקטע הטריקי, רשיון לתחנות הקצה יכול להיות מסופק רק ללקוחות
בעלי Microsoft Desktop Optimization Pack או בשמו הקצר MS DOP, הכולל בתוכו:
- Microsoft Softgrid
- Microsoft Asset Inventory Services
- Microsoft Diagnostics and Recovery Toolset
- Microsoft Advanced Group Policy Management
עכשיו, כדי לרכוש את ה MS DOP חייבים להחזיק ב Microsoft Assurance Contract , שזה אומר רשיון Open Value, Select או Enterprise.
אם כבר עומדים בתנאי הסף, אז המחיר ל MS DOP הוא 11$ למשתמש לשנה, החוזה הוא ל-3 שנים.
רשיון לשרתי TS פחות מסובך, והוא מתומחר ב 17€ לכל משתמש (named user).
Thinstall Virtualization Suite 3.0
מדובר בחברה הכי מרעננת וחדשנית בשוק, כבר לא מעט זמן מסתובב בינינו הקליינט הוירטואלי שהם הוציאו בשיתוף עם סיטריקס, אשר מאפשר "לצרוב" את ה ICA Client עם ההגדרות הרלוונטיות של הארגון על Disk on Key, להפעלה מכל מחשב ללא צורך בהרשאות אדמיניסטרטיביות למשתמש.
ועכשיו הם מוציאים את המוצר החדש שלהם (עליו אנחנו מדברים עכשיו) לוירטואליזציה של אפליקציות.
מדובר על מוצר עם מחשבה שונה משהו משאר המוצרים, הוא אינו דורש התקנה של שום קליינט (או של שרת) לשם הפעלת האפליקציות הוירטואליות, האפליקציה רצה מתוך קובץ EXE ש"לכדנו" מבעוד מועד עם האפליקציה אותנו ברצוננו להריץ, ככה שמהבחינה הזאת אין שום אינטרקציה עם מערכת ההפעלה (כמו בכל שאר המוצרים), ככה שמתבצעת בעצם וירטואליזציה נקיה של האפליקציה, ומערכת ההפעלה נותרת מוגנת לחלוטין.
לשם הפעלת הקובץ, אין צורך שלמשתמש יהיו הרשאות אדמיניסטרטיביות על התחנה, האפליקציה רצה ב usermode מה שמוסיף עוד שכבה להגנה על מערכת ההפעלה, בנוסף על כך, האפליקציה יכולה לרוץ מכל מקום, הארד דיסק מקומי, שיתוף ברשת, כונן Flash, CD Rom, כונן USB או כל מדיה אחרת.
מכיוון שאין צורך בשרת, האפליקציות יכולות להיות מסופקות (Streamed) לתחנות ביתר קלות, אותו קובץ EXE שהכנו קודם יודע לנהל את חלקי האפליקציה שהוא צריך "למשוך" מהרשת (באופן אינקרמינטלי), מה שמאפשר להפיץ Streamed applications משיתוף ברשת או משרת Web.
אין צורך להגדיר על איזה מערכת הפעלה תרוץ האפליקציה הוירטואלית שהכנו, ירוץ על
Windows 2000,XP,Vista כולל גם שרתי TS ו- Citrix.
אז איך זה עובד, קצת לעומק, Thininstall פועל כ Virtual Operating System (VOS) אשר בעצם מדמה מערכת הפעלה מארחת לשם הרצת האפליקציה, ה VOS מכיל בתוכו Virtual File System(VFS) ו Virtual Registy(VREG) ואחראי על הצגת האפליקציה על מערכת ההפעלה המארחת, ככה שבעצם נוצר אפקט של SandBox קלאסי, כשלאפליקציה אין נגיעה במערכת ההפעלה והיא רצה במין מערכת הפעלה משל עצמה.
המחיר, 4,995$ ועוד 39$ על כל משתמש.
Citrix PS4.5 Streaming Application
המוצר הכי צעיר בחבורה (יצא ב 1 למרץ) וה feature הכי מעניין ב Presentation Server 4.5.
מאפשר הרצת אפליקציות בסביבה מבודדת ממערכת ההפעלה (Isolated Environment) בקשר ישיר עם הרשת (Streamed) או ב off line כשאין קשר לשרת (Cached).
מיועד לתחנות נייחות, ניידות ושרתי Citrix PS4.5 ומעלה, תמיכה מלאה ב Active Directory לשם מתן הרשאות להפעלת האפליקציות (שימוש בסביבות Novell עדיין לא מומלץ לחלוטין).
אז איך זה עובד, Citrix מתייחסת לאפליקציות כשברצוננו להפיץ כפרופילים, פרופיל כזה יכול להכיל אפליקציה, קבצים או תיקיות או שינויים ספציפיים ברג'סטרי שברצוננו להכיל בעת הפעלת הפרופיל.
לשם יצירת הפרופיל, יש להתקין Profiler על מחשב בעל נתוני תוכנה עד כמה שיותר דומים למחשב עליו אנחנו מייעדים להעפיל את הפרופיל, כלומר, אם ברצוננו ליצור פרופיל של Word 2007 לתחנות בעלות Windows Vista, עלינו להתקין Profiler על תחנת Vista נקייה עד כמה שניתן וליצור את הפרופיל ממנה, אותו התהליך יידרש אם ברצוננו ליצור פרופיל לכל מערכת הפעלה אחרת
(windows 2000 ומעלה).
ה- Profiler לוכד את תהליך ההתקנה של האפליקציה, ויוצר ממנו פרופיל, לכל פרופיל יש צורך להגדיר על איזה מערכת הפעלה הוא הולך לרוץ (גרסא של windows, שפה, service pack וכו'),
את הפרופיל מעתיקים לשיתוף ברשת ולאחר מכן מקשרים עם שרת ה Presentation Server.
על תחנות הקצה יש להתקין Streaming client אשר יהיה אחראי על העבודה של האפליקציות, בנוסף, ניתן להפעיל את האפליקציות מה web interface (4.5 ומעלה).
קיימות 3 אפשרויות לעבוד עם Streamed Application:
- תחנות קצה עם קשר ישיר עם השרת (Streamed), האפליקציות מסופקות לתחנות הקצה משרת ה PS דרך ה Streaming Client, ברגע שאין קשר עם השרת, האפליקציות לא יופעלו.
- תחנות קצה ללא קשר עם השרת (Cached), מספיק שהקליינט יסתנכרן פעם אחת מול השרת ואז האפליקציות שהוגדרו יישמרו ב Cache להפעלה מאוחרת גם ללא תלות בזמינות השרת (ניתן להגדיר אם האפליקציות יישמרו מקומית ברגע שהשרת יהיה זמין או ברגע הפעלת האפליקציה בפעם הראשונה), בפעם הבאה בה השרת יהיה זמין, האפליקציות יעודכנו (במקרה הצורך) לגרסאות החדשות שלהן.
- שרתי Presentation Server 4.5, ניתן "לפבלש" פרופילים כאילו היו אפליקציות מקומיות המותקנות על השרתים.
מה שמונע את הצורך להתקין אפליקציות בעשרות שרתים כל פעם ומונע קונפליקטים בין האפליקציות.
מחיר, רשיון ל Streaming Application כלול בתוך רשיון ה Enterprise ומעלה של PS4.5.
למשתמשים אשר מוגדרים לעבוד בתצורה של Cached יש להגדיר תקופת זמן בה יהיה מותר להם להריץ את האפליקציה ללא צורך בתקשורת עם השרת (בין יום ל 365 ימים), ברגע של תקשורת עם השרת, המונה יתאפס, שרת הרשיונות יקצה להם רשיון לכל אורך התקופה שהוגדרה.