טכנולוגיה לארגונים

הבלוג של מומחי הטכנולוגיה של HP ישראל

חיפוש

מאת גדי פלדמן

שליחת דואל לגדי

תגים: , , , , ,

במרץ 2007 חברת סיטריקס שיחררה את Presentation Server 4.5, אחד ה features היותר מעניינים של שנוספו אז הוא ה- Application Streaming (ככה סיטריקס בחרה לקרוא לפתרון ה- Application Virtualization שלהם), או היכולת לספק ללקוח את האפליקציה המבוקשת לא דרך פרוטוקול ICA (ולראות למעשה רק תמונות מהשרת) אלה ממש להריץ את האפליקציה עצמה על גבי המחשב האישי שלו.
למעשה, זאת היתה הפעם הראשונה שסיטריקס סיפקה איזשהו פיתרון למשתמשים אשר לא נמצאים בקשר קבוע עם הרשת הארגונית ועדיין צריכים לקבל את האפליקציות הרלוונטיות להם.
ולמעשה מספר שתיים, סיטריקס לא הוציאה טכנולוגיה חדשנית ופורצת דרך, Softricity, Altiris ו- Thinstall היו לפניה וסיפקו פיתרון Application Virtualization, מה שסיטריקס עשו הוא להוסיף את היכולת לגירסת שרת ה- SBC הכל כך מוצלח שלהם ובכך אולי למנוע מהלקוחות להשתמש בפתרונות משלימים בכדי להריץ אפליקציות וירטואליות על גבי שרתי ה- Citrix XenApp.

אז מה זה בכלל אפליקציה וירטואלית?image

כאמור, ה- Application Streaming הוא פתרון ה- Application Virtualization של Citrix, כדי להבין טוב יותר מה זה החיה הזאת בכלל, למה צריכים וכל מיני עניינים שכאלה, חשבתי לנכון לתת סקירה קצרה על הנושא.
אפליקציה וירטואלית, או בכלל, כל פיתרון ה- Application Virtualization מתייחס לאפליקציות הרצות על מחשב המשתמש ואשר לא משנות דבר במערכת ההפעלה עליה הן רצות, אבל עדיין מותקנות (כביכול) על המחשב המארח אותן. אם לפשט את זה מעט, האפליקציות מופעלות על המחשב, משתמשות במקורות שלו (זיכרון, מעבד, מדפסות וכו') ומתנהגות כאילו הן הותקנו על המחשב, אבל למעשה הן רצות בסביבה סגורה (סוג של בועה) של עצמן.

יתרונות:

  • אין צורך בהתקנות האפליקציות על המחשבים.
  • ביאת הסוף לקונפליקטים בין התוכנות השונות (למשל שימוש באותו ה dll).
  • ביאת הסוף לבדיקות תאימות של התוכנות עם כל המערכות הרלוונטיות.
  • אפשרות להריץ כמה גרסאות של אותה האפליקציה על אותו המחשב (לדוגמה, Word 2007 ביחד עם Word 2000).
  • פתרון אשר מתאים לסביבות client\server, סביבות SBC, וסביבות בעלות משתמשים ניידים.
  • הפצה פשוטה של אפליקציות.
  • אפשרות ל roll-back במקרה של אפליקציה פגומה.

חסרונות (אין מה לעשות, חייבים קצת אובייקטיביות):

  • צורת troubleshooting שונה ממה שכולנו רגילים.
  • לא כל האפליקציות יכולות להיות וירטואליות, למשל vpn client, אנטי וירוס, אפליקציות בעלות תלות בחומרה ועוד.

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

ארכיטקטורה

למי שמכיר את ההיסטוריה של גירסאות ה- XenApp בטח יעלו מחשבות על ה-Application Isolation Environment (או ה- AIE אם אנחנו בענייני קיצורים) שהפציע לעולם ב- PS4 והביא איתו את האפשרות לבודד אפליקציות ממערכת ההפעלה ולאפשר להן לעבוד בסביבה משל עצמן, וגם שם יכולנו להריץ על אותו שרת אפליקציות אשר לא היו יכולות לעבוד ביחד על אותה מכונה אילולא כל אחת היתה רצה בסביבה משל עצמה.
ה- Application Streaming מבוסס על אותו רעיון, רק שעכשיו נעשה שימוש ב- AIE מתקדם יותר בכדי לגרום לאפליקציות הוירטואליות להיות מודעות אחת לשניה וגם כדי שנוכל לקשר בין האפליקציות הוירטואליות השונות. כמובן נעשו גם התאמות כאלה ואחרות בכדי לגרום לכל זה לעבוד ב- streaming ולא רק על השרתים אלה גם על התחנות המרוחקות.

ישנן שתי אפשרויות לעבוד עם Application Streaming:

  • אספקת אפליקציות לשרתי ה Citrix בחווה, Stream to Server – מאפשר למעשה להחזיק שרתי Citrix XenApp נקיים לחלוטין מתוכנות ולפבלש תוכנות וירטואליות, בכך נשיג שתי מטרות, החזקת שרתים נקיים כמה שרק אפשר, והרצת אפליקציות שונות ומשונות על גבי השרתים בלי לדאוג לחוסר תאימות ביניהן.
  • אספקת אפליקציות למחשבי הקצה, Stream to Client – חוסך את הצורך להתקנת התוכנות מקומית על המחשבים, האפליקציות יכולות להיות זמינות גם כאשר המשתמש נמצא ב- offline ללא תקשורת עם השרת.

הארכיטקטורה בנויה משרתי PS 4.5, שרתי Web interface, ממחשב Profiler אשר איתו יוצרים את חבילות התוכנה הוירטואליות (Citrix קוראים להן profiles), ומשיתוף/שיתופים ברשת בהם נשמרים כל הפרופילים.
לדוגמא, כך זה נראה במקרה של Stream to Server.

image

בכדי ליצור פרופיל יציב ככל שניתן לאפליקציה וירטואלית יש להשתמש במחשב profiler אשר קרוב כמה שניתן למחשב שעליו ירוצו אותן האפליקציות הוירטואליות, כלומר, אם אנחנו רוצים להכין פרופיל לאפליקציה אשר תרוץ על מחשבי הקצה ולמען הדוגמא נניח שהם Windows XP sp2, נצטרך להכין מכונת XP ולהתקין עליה את ה- Profiler, תפקידו של מחשב ה- Profiler הוא רק ליצור את הפרופיל של האפליקציה ולייצא אותו לשיתוף ברשת, אין צורך שהוא יעבוד כל הזמן, מכאן קל לראות שמכונות וירטואליות הן המקום הטוב ביותר בשביל ה Profiler.
כדי ליצור פרופיל יש להפעיל את התקנת התוכנה הרלוונטית מתוכנת ה- Profiler אשר תלכוד את השינויים ואת הקבצים הדרושים לשם הפעלת האפליקציה.
לאחר יצירת הפרופיל יש פשוט לשמור את הפרופיל בשיתוף ברשת.

לאחר יצירת הפרופיל ושמירתו ברשת, אנחנו צריכים "לפבלש" את האפליקציה, צורת פרסום האפליקציה דומה מאוד לצורת פרסום אפליקציה רגילה בחוות ה- Citrix XenApp.
השוני היחידי הוא שנגדיר שהאפליקציה לא מותקנת על השרת אלה נבחר בין 3 אפשרויות:

1. גישה לאפליקציה מהשרת (ופה נצטרך לבחור בין 3 אפשרויות נוספות, או שהאפליקציה מותקנת מקומית על השרת, או שזה Installation Manager Package או שהאפליקציה היא וירטואלית ומסופקת לשרת, Streamed to Server).

2. תנסה לספק את האפליקציה לתחנת הקצה (Streamed to Client) ואם לא מצליח אז תפעיל מהשרת לפי שלושת הבחירות הבאות: או שהאפליקציה מותקנת מקומית על השרת, או שזה Installation Manager Package או שהאפליקציה היא וירטואלית ומסופקת לשרת, Streamed to Server.
לידע כללי, הבדיקה אם האפליקציה יכולה להיות מסופקת לשרת מבוססת על 2 בדיקות, האם מותקן
Streaming Client על תחנת הקצה והאם ה Client יכול לגשת ב SMB לשיתוף בו נמצא פרופיל האפליקציה.

3. אפליקציה המסופקת ישירות לתחנת הקצה, Streamed to Client.
כדי למנוע אספקה איטית של הפרופילים לתחנות הקצה/שרתים, ניתן להגדיר repositories לפי תחומי IP, כלומר ניתן להגדיר שמחשבים בסניף מסוים "ייקחו" את הפרופיל מהשיתוף הקרוב אליהם.
נוסף על כך, ניתן להגדיר שהפרופיל יישמרו על תחנות הקצה לגישה מהירה יותר בהמשך (בכל הפעלה ה client עדיין ינסה לגשת לשרת כדי לבדוק אם אין עדכונים לפרופיל), נוסף על כך, אם הפרופילים יישמרו על התחנה הגישה תיהיה מהירה יותר, זה ייתן למשתמש את היכולת להפעיל את האפליקציה גם במקרה של חוסר תקשורת עם השרת (טוב למחשבים ניידים אשר אינם מחוברים תמידית לרשת הארגונית), אם נרצה לתת למשתמשים גישה לאפליקציות גם במקרה של חוסר תקשורת עם השרת, נצטרך להגדיר את אותם המשתמשים להם אנו מרשים זאת ואת פרק הזמן המקסימלי והמינמלי של עבודה עם האפליקציה בלי תקשורת עם השרת (הטווח הוא בין יומיים לשנה שלמה).

לאחר שהאפליקציה מפורסמת בחוות ה Citrix המשתמשים יכולים לגשת אליה, כאמור, אם בחרנו שהאפליקציה תיהיה מסופקת ישירות לתחנות הקצה, המחשבים יהיו חייבים להיות עם Streaming client מותקן בנוסף ל PN agent, אשר איתו ייגשו לאפליקציות המפורסמות בחווה, ואם בחרנו שהאפליקציה תופעל (בצורה הוירטואלית שלה כמובן) משרתי ה- Citrix XenApp, אז המשתמשים יתחברו לשרת עם ICA ויעבדו עם האפליקציה כאילו היא מותקנת על השרת.
מבחינת חווית המשתמש אפשר לראות איטיות מסוימת בטעינת האפליקציה אם היא לא שמורה על התחנה (cached), אחרי טעינת האפליקציה העבודה היא די סטנדרטית ונקיה.

סיכומים ותוספות

קצת נתונים יבשים על היכולות של ה Application Streaming וסוג של סיכום.

  • מיועד לאספקת אפליקציות למחשבים נייחים, מחשבים ניידים ושרתי Citrix XenApp 4.5\5 .
  • מבנה רישוי Concurrent בעבודה במצב on-line, רק משתמשים אשר מפעילים את האפליקציה תופסים רשיון.
  • אינטגרציה מלאה עם כל מוצרי Citrix.
  • ניהול מרכזי דרך ה Management של ה XenApp 4.5\5.
  • אפשרות להגדרה של ספציפיקציות (גירסאות מערכת הפעלה, שפה) של המכונות עליהן ירוצו האפליקציות.
  • תמיכה ב Windows Vista ובמערכות x64.
  • אפשרות ל fall back לשרתי ה- Citrix XenApp אם תחנת הקצה לא מצליחה להפעיל את האפליקציה הוירטואלית מקומית.

אם אתם אומרים לעצמכם, למה אני צריך את זה בכלל, הרי הכל עובד טוב (פחות או יותר), או שלחילופין אתם כבר מבינים את המניעים לעבור לעבודה עם אפליקציות וירטואליות (אני חושב שזה העתיד, או בעצם ההווה…) ואומרים לעצמכם למה שאני אבחר דווקא את פתרון ה Application Virtualization של Citrix, הרי יש מוצרים זולים/טובים יותר.

אז כדי לענות על זה בכמה משפטים בודדים, לפי מה שראיתי בכל סביבות Citrix קיימות ואשר בהן חשבו להטמיע אפליקציות וירטואליות, ה Citrix Application Streaming עבד בצורה החלקה ביותר עם הסביבה הקיימת, למעשה קל להסביר את זה, זה הרי בסה"כ עוד feature שנוסף לסביבה, הניהול נעשה מאותם המקומות, אין הבדל תהומי בין הארכיטקטורה ללא אפליקציות וירטואליות (זאת שכולנו רגילים אליה) ולבין הארכיטקטורה של סביבה בעלת אפליקציות וירטואליות.
נוסף על כך הפתרון של סיטריקס לעתים טוב יותר (טכנולוגית, תמיכה ב x64 לא טריוויאלית לחלק מהמוצרים המתחרים) ומסובך פחות (אין שום צורך בכונני Q מוזרים…).

כדי לא להיכנס לעניינים שיווקים יתר על המידה, אני אסכם בכך שאם יש לכם סביבת Citrix XenApp קיימת ואתם חושבים על ללכת לכיוון של אפליקציות וירטואליות (למי אתם מחכים בדיוק?), תבדקו את ה- Application Streaming, אולי דווקא איתו ההטמעה תיהיה המוצלחת ביותר.

לינקים שימושיים:

Citrix Presentation Server Application Streaming

Client-Side Application Virtualization

כתיבת תגובה

טופס כתיבת תגובה