Altiris Software Virtualization Solution 2.1
לפני משהו כמו שלושה חודשים שוחררה הגירסא החדשה של פתרון ה Application Virtualization של Altiris (בעצם זה כבר Symantec, אבל אין כמו כוחו של הרגל...) ועקב אילוצי זמן קשים לא יצא לי להתעמק בגירסא החדשה לעומק (חוץ מזה ששידרגתי את הקליינט המקומי שלי), ועכשיו עקב טריגר מסוים אין לי ברירה אחרת ואני חייב לצלול ולהכיר את הקרביים של הגירסא החדשה, אז אמרתי לעצמי, אם כבר אני צולל, רואה וחווה דברים, אז למה לא לשתף...
כתבתי על ה SVS בקצרה בפוסט שלי על מה זה בכלל Application Virtualization, באותו פוסט גם עשיתי השוואה קצרה של הפתרונות המובילים בשוק, יותר מאוחר כתבתי בהרחבה על שני פתרונות מתוך הארבעה שהצגתי (Citrix Streaming Application ו- Thinstall) ועכשיו הגיע הזמן לכתוב על ה favorite שלי,ד"א, אני משתמש בו בעיקר מכיוון שאחת התצורות שלו היא עבודה בתצורת stand alone בלי שום שרת נוסף או כל רכיב אחר, ואני ארחיב על כך בהמשך.
קצת רקע לגבי ה SVS, אני אעתיק את מה שכתבתי בזמנו (אני? עצלן? די נו...):
"ה SVS הוא פתרון אשר מפשט את הפצת האפליקציות לתחנות הקצה, כל אפליקציה מופצת בחבילה,
או Virtual Software Package אשר ניתן לטעון ולשחרר ע"י הקליינט המקומי או ע"י פקודה מרוחקת (במקרה של אינטגרציה עם ה 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 סגור ומסוגר כמו בשאר המוצרים, מכיוון שכך קונפליקטים בין האפליקציות שרצות באותן השכבות יכולים להתרחש."
עכשיו, הגיע הזמן לרדת לעומקם של הדברים.
בגירסא החדשה (יש לציין שזה minor update ובגלל זה גם הגירסא סה"כ עלתה מ 2.0 ל- 2.1, אמורה לצאת גירסא חדשה לחלוטין של ה SVS בסביבות סוף 2008, לא סופי) השתנו כמה וכמה דברים, ואני מקווה שתוך כדי המעבר על ה features החדשים אני אצליח לגעת בעומק באיך המערכת עובדת.
Global Exlude - בגלל שכל שכבה למעשה עובדת בסביבה "סגורה" אין קשר בין החבילה למערכת הקבצים של המחשב, כלומר, אם אני מפעיל שכבה של Firefox, כל היסטוריית הגלישה שלי נשמרת בתוך השכבה, ברגע שאני אעשה deactivcate לשכבה כל אותם הקבצים (או ערכי רג'סטרי) שקשורים לאותה השכבה יעלמו מהמחשב.
למעשה כל דבר אשר מופעל מהשכבה משוייך ישירות אליה, למשל אם מורידים קבצים עם ה Firefox, אותם הקבצים ישוייכו לשכבה, או למשל מסמך וורד אשר נכתב מ Word 2007 אשר מופעל מתוך שכבת ה Office 2007 ישוייך לשכבה וכאשר השכבה לא תיהיה פעילה לא נוכל למצוא את הקבצים.
בכדי למנוע מצבים כאלה, אפשר להגדיר לכל שכבה קבצים/תיקיות/ערכי רג'סטרי אשר השכבה תשאיר במערכת הקבצים של המחשב ולא תשייך אליה, כלומר, שהיא לא תיהיה פעילה, הקבצים עדיין יהיה על המחשב.
עד לגירסה 2.1 אפשר היה להגדיר את אותם exludes רק ברמת השכבה, כלומר, אם רציתי להגדיר שכל קובץ שנוצר בתיקיית c:\files לא יישוייך לשום שכבה היתי צריך להגדיר את זה בכל אחת מהשכבות שיש לי (24 כאלה לפי הספירה האחרונה), מעכשיו, חיי יהיו קלים יותר, אפשר להגדיר את ה exludes אשר ישפיעו על כל השכבות.
Control Panel Applet - בהטמעה רחבה של SVS ולמעשה כל מוצר של Altiris מנוהל ע"י Notification Server אשר מרכז מידע ומנהל את כל התחנות המרוחקות.
בהטמעה כזאת, המשתמשים לא קיבלו שום יכולת ניהול של השכבות שלהם, הם היו מקבלים את כל ההגדרות מה Notification Server (איזה שכבה להחזיק, איזה שכבות להפעיל), למעשה כל העבודה היתה שקופה להם לחלוטין.
בגירסא החדשה משתמשים אשר מחזיקים בהרשאות Admin בתחנה שלהם יוכלו לראות את רשימת השכבות שעובדות על המחשב שלהם ולבצע פעולות בסיסיות על השכבות.
Movebale Riderect Area - כל השכבות אשר נמצאות על המחשב נשמרות בתיקיית c:\fslrdr, עד לגירסא הנוכחית הזזה של התיקיה הנ"ל היה משהו ש Altiris לא ממש תמכו בו (למרות שהיה אפשרי) והיה אפשר להגדיר תיקיה אחת לכל השכבות, לא עוד, מעכשיו הזזה של התיקיה הוא עניין נתמך, מה עוד שעכשיו גם אפשר להגדיר מיקומים שונים לכל שכבה.
Layer Data is Retained on Uninstall - עד עכשיו, הסרה של ה SVS agent היתה מסירה גם את כל השכבות הקיימות במחשב (כתוצאה ממחיקת תיקיית fslrdr), בכדי למנוע אובדן מידע, עכשיו אפשר להגדיר שהחבילות לא יימחקו גם כאשר מתבצעת הסרה של ה SVS agent.
A New WMI Provider - ה WMI Provider שופר כדי לעבוד טוב יותר, תמיכה לאחור עדיין קיימת.
Additional Language Support - תמיכה בשפות נוספות מלבד אנגלית, נוספו לרשימה השפות הבאות: איטלקית, ערבית, פורטוגזית, גרמנית, שוודית, דנית ורוסית.
בעבודה עם Notification Server רק אנגלית, איטלקית ופורטוגזית נתמכות.
Runtime Mode - מאפשר לספקי תוכנה לכתוב את התוכנות שלהם במה שנקרא Altiris VSP format, כלומר שהאפליקציות יבואו ישירות כשכבה והלקוח יצטרך רק לשייך את השכבה לקליינט הרלוונטי.
SVS Logon Hook - תוספת חשובה מאוד לפי דעתי, מאפשרת ל agent לבצע פעולות על בסיס המשתמש הנכנס למחשב, כלומר, ניתן להגדיר ששכבות יופעלו על בסיס logon של משתמש, מה שמאפשר לכל משתמש לקבל את השכבות הרלוונטיות לו.
זה עדיין לא נתמך בתצורת TS, אבל זה נותן פתרון אמיתי בהטמעות SVS עם VDI, תצורה אשר בה כל משתמש מקבל מכונה משל עצמו ולא session על השרת.
Windows Vista support - תמיכה ב Windows Vista (לא כולם עדיין יכולים לעשות את זה), דבר קטן, אבל תבטיחו לא לספר לאף אחד, גם הגירסה הקודמת עבדה אצלי בלי בעיות על Vista..שששששש.
כאמור, את ה SVS אפשר להפעיל בשתי תצורות, stand alone ובהפצה מרכזית.
בתצורה של stand alone מספיק להתקין את הקליינט על התחנה, איתו אפשר גם ליצור את השכבות וגם להפעיל אותן, כאמור, לא כמו בכל שאר המוצרים שצריך מכונה נוספת אשר יוצרת את החבילות ועוד שרת אשר משייך אותן למשתמשים.
בהפצה מרכזית מותקן SVS agent על התחנות וה Notification Server אחראי להפצת השכבות לאותם התחנות אשר משוייכות ל Notification Server, החבילות מורדות למחשב ומופעלות ממנו ישירות.
ניתן להשתמש במוצר משלים(AppStream) אשר יודע לספק את השכבות ב streaming ללא צורך בהורדה מלאה שלהן לפני ההפעלה.
בפוסט הבא, איך יוצרים ועובדים עם שכבות.