DCSIMG
November 2007 - Posts - Gadi's Blog

Gadi's Blog

SBC, Application Delivery, Scripting ושאר ירקות

November 2007 - Posts

Windows SteadyState 2.5 beta

אחרי תקופה ארוכה משהו שלא כתבתי על מוצרים וכלים חדשים (ובעיקר לא ניסיתי אותם), העדפתי להתעסק בזוטות (פייסבוק הוא השטן... :) ) ולמידת שפות חדשות (מי אמר מיקרוסופטית ולא קיבל?) החלטתי להתאפס ולחזור לעצמי, ולא מעט בגלל שכלי חדש של מיקרוסופט (וואו, זה ממש מפתיע) תפס לי את העין, הוא הופיע יחד עם כל שאר ההודעות על ההורדות החדשות שאני מקבל ממיקרוסופט כל שבת אבל משהו בו היה שונה, ה Windows SteadyState 2.5 beta סוג של התבלט מעל האחרים (או שהיה פה משהו מיוחד ויוצא דופן, או שהיתי שותף לניסוי פסיכולוגי של מיקרוסופט), אמרתי לעצמי "גדי, אתה חייב לראות מה הסיפור של ה Windows SteadyState הזה", כן, גם לי זה היה מוזר שדיברתי עם עצמי, אבל נו, אם אני לא אגיד לעצמי מה לעשות, אז מי כן?

Windows Steady Who?? אמרתי והתחלתי לבדוק מה מטרתו של הכלי ומסתבר שהוא ממש מיועד להתמודד (או לעזור לנו להתמודד) עם בעיות אמיתיות.
Window SteadyState מיועד לעזור בניהולם של מחשבים משותפים (או ציבוריים, תלוי איך אתם אוהבים לקרוא להם), כלומר, אותם מחשבים אשר משמשים מספר משתמשים במשך היום, המחשבים אשר נמצאים בבתי הספר, ספריות, טרקלינים כאלה ואחרים, קפה אינטרנט, מלונות ועוד.
כשאני מדבר על ניהול של מחשבים ציבוריים, אני מתכוון לשליטה על גישת המשתמשים לכונן הקשיח של התחנה, שליטה על מה המשתמשים יכולים לעשות במערכת ההפעלה וגם לנסות לשפר את חווית המשתמש שאת פעולותיו אנחנו מנסים לקצץ כמה שאפשר במחשבים מסוג זה.

אתם בטח אומרים לעצמכם, מה נסגר עם הבחור, הרי הוא כל הזמן חופר פה על כמה זה טוב לעבוד בתצורת SBC ושהמשתמשים בכלל לא צריכים מחשב עם מערכת הפעלה משלהם, הם רק צריכים להתחבר לשרת ה TS\Citrix, לקבל את סביבת העבודה (הנעולה עד כמה שרק אפשר) ולעבוד.
נכון, צודקים, אבל לבי לבי עם אלה שבוחרים לא לממש את מה שאני מציע (לפעמים זה אפילו בגלל שהתצורה לא תמיד מתאימה להם) וכדי לספק גם אותם וכך להגדיל את נפח השוק של הבלוג (כדי להשתלט על העולם בסופו של דבר כמובן) גם להם מגיע לשמוע על פתרונות אשר מתאימים להם, אבל בכנות, מה שמעניין אותי יותר ב SteadyState הוא לראות מה החידושים שהוא מביא, האם באמת כל הדברים שניתן לעשות איתו לא ניתן לעשות גם בלעדיו ע"י נעילות כאלה ואחרות ב Group policy/שינויי רג'סטרי ידניים/הגדרות ntfs.

הגירסא הנוכחית של ה SteadyState תומכת ב Windows XP\Vista אשר רצים על גבי NTFS, וזה כבר התקדמות, כי הגרסא הקודמת עבדה רק על Windows XP.

אחרי התקנה קצרה, נכנס למסך ההגדרות ונקבל את המסך הבא:
image

פה ישנן למעשה רק את האופציות הבאות: להגדיר הגדרות שונות ומשונות לתחנה, הגדרת עידכונים אוטומטיים, הגדרות אבטחה של הכונן הקשיח (Windows Disk Protection) וניהול משתמשים.

בהגדרות תחנה, או Set Computer Restrictions ניתן למצוא הגדרות שמוגדרות ברמת התחנה, כמו למשל האם להציג את שם המשתמש האחרון אשר עשה לוגין למחשב או האם לאפשר גישה להתקני storage ב usb.
image
למעשה שום דבר שלא ניתן להגדיר ב Group Policy או Local Policy.

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

הגנה על הכונן הקשיח, גם פה למעשה שום דבר מיוחד ומלהיב, סך הכל האם להפעיל את ה Windows Disk Protection או לא, באופן מפתיע, גם זה יכלנו לעשות גם בלי ה SteadyState.
image

באפשרויות המשתמש ישנן 3 אפשרויות, להוסיף משתמש מקומי ולהגדיר את ההגדרות הרלוונטיות לו, לייצא משתמש עם כל הגדרותיו ולייבא משתמש (נכון, עם כל ההגדרות שלו), נוסף על כך, ניתן לבחור משתמש קיים ולהגדיר לו אתה ההגדרות הרלוונטיות.
אני בחרתי ליצור משתמש בשם test_state1, לאחר מעבר מסך ההגדרות הראשוניות של המשתמש מגיעים למסך עם כל ההגדרות שאפשר להגדיר ברמת המשתמש.
image
לדוגמא, אפשר (ורצוי) לקבוע שפרופיל המשתמש יהיה מנדטורי (כלומר, כל השינויים שנעשו בפרופיל לא יישמרו), האם להגביל את משך השהיה של המשתמש על התחנה בזמן, להחביא כוננים מסוימים, הגדרות ברמת ה interface שהמשתמש רואה, הגדרות IE, הגדרת איזה תוכנות מותר למשתמש להריץ ואיזה וכו'.

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

Windows SteadyState 2.5 Beta

Windows SteadyState 2.5 Beta Handbook

מחפשים שריונרים

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

הדרישות:

1. SBC זה לא מילה גסה בשבילך, כלומר, יש לך נסיון רב עם מערכות TS\Citrix וכמובן גם רצון ללמוד ולהתמקצע בתחום.

2. כשמדברים איתך על וירטואליזציה, Second Life זה לא הדבר הראשון שקופץ לך לראש.

3. יש לך הבנה וידע במערכות Enterpise, או, זה לא מוזר לך למה השרתים צריכים להיות זמינים גם בלילות.

4. חברותי, איש שיחה, יכול לעבוד לבד אבל גם לא נרתע מעבודת צוות, משקיען ואוטודידקט.

5. למעשה אם אתה קורא את הבלוג הזה נראה לי שאתה כבר די מבין לאיפה אני חותר... איש System מעולה שרוצה ללמוד ולעבוד עם האנשים היותר חזקים בתחום.

בקיצור אם אתה חושב שאתה מתאים לדרישות שלח לי את קורות החיים ל gfeldman ב commart.co.il או לחילופין פשוט דבר איתי בטלפון 052-3680352.

בהצלחה לכולנו!

 

Lingoz

אתמול חבר סיפר על האתר the.co.ils, לפי הגדרת המקימים "זהו אתר המוקדש למיזמים ולייזמות אינטרנטית בישראל. פרוייקטים הקיימים ופועלים וכאלה הנמצאים בתהליכי התהוות, כאלה המיועדים לשוק העולמי וכאלה המתרכזים בזה הישראלי. מטרתו לסייע למעורבים במיזמים אלה במאמציהם ולתרום להתפתחות היזמות האינטרנטית בארץ.", האתר קיים כבר מאז מרץ 2006 ככה שאני רושם לעצמי 2 נקודות שחורות שרק עכשיו התוודאתי אלי.

אז ב the.co.ils קראתי על Lingoz, זהו מילון אינטרנטי מבוסס וויקי, ומי שעומד מאחורי האתר הזה היא חברת בבילון הישראלית שכולנו מכירים.
ב Lingoz אפשר לחפש מילים במילונים של בבילון (כרגע נתמך ב 8 שפות) ואם הערך לא נמצא (המילונים של בבילון עדיין לא יודעים מה זה מיקרוסופטית, וחבל...) או שהתשובה שקיבלתם נראת לכם לא מדוייקת מספיק ניתן להוסיף/לתקן ממש כמו בוויקיפדיה, תחשבו שניה על מה בבילון יכולה להרוויח מכך שהמשתמשים מזינים נתונים חדשים ומתקנים ערכים קיימים.
הפרוייקט נמצא עדיין בשלב ה beta שלו, אבל זה לא מונע מאיתנו מלהתחיל להשתמש בו.

image

Terminal Server RemoteApp Screencast

לפני משהו כמו שבוע הועלה סרטון הדגמה על Terminal Server RemoteApp לאתר Technet Edge (שנראה בנתיים כאחלה אתר).

ההדגמה מאוד ממצה ומראה את יכולת "פיבלוש" האפקליציות שנוספה ב Windows Server 2008 Terminal Server (ואל תגידו שלא כתבתי על זה קודם :) ).
באופן לא ממש ברור, המציג, מאט הסטר, ציין שיכולות כמו קישור לכוננים המקומיים של המשתמש או תקשורת בין ה clipboard המקומי לזה של ה session הן יכולות חדשות שקיימות ב Windows Server 2008 (אז זהו, שהן לא...), קצת מוזר אבל לא ממש מפתיע, משום מה מייקרוסופט נוהגת לשייך לעיתים יכולות שהיו קיימות גם בגרסאות הקודמות של המוצרים שלה לגרסאות החדשות (בעיקר יכולות שרוב המשתמשים לא תמיד מודעים אליהם).

וקצת ביקורות (מותר לי, כתבתי כבר כמה פוסטים אוהדים על ה Terminal Server החדש), אני לא תמיד מבין את ההתלהבות הרבתי של מיקרוסופט מעצם העובדה שהם מכניסים יכולות שהיו קיימות בשוק כבר שנים במוצרים משלימים כאילו זה משהו חדש שאף אחד לא חשב עליו קודם.
"פיבלוש" האפקליציות, או RemoteApp כמו שהיכולת הזאת נקראת ב Terminal Server החדש קיימת בשוק כבר המון זמן (Citrix\Jetro\2x\provision וכו'), ובמקום להלל ולהראות כמה יפה עובדות האפליקציות המרוחקות עם האפליקציות המקומיות (שוב פעם, שוב דבר חדש), אני היתי מתמקד בחידושים בחידוש שכן מגיעים ב TS החדש ושלא קיימים בשוק כבר קרוב לעשור.
למשל דרך ההתמודדות עם ההדפסות של המשתמש המרוחק (EasyPrint, קצת פרטים פה, למטה) מיושמת בצורה מעניינת ושונה משאר המתחרים ודווקא עליה לא שומעים יותר מדי, וחבל.

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

הסרטון

סביבות Citrix ואתרים מרוחקים

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

1. Session של ICA ייצרוך בממוצע כ 20kb של רוחב פס, חשוב לקחת בחשבון שכאשר המשתמש לא עובד עם שום אפליקציה ב session (כלומר ה session נמצא ב Idle state ושם דבר לא רץ ברקע) ייצרך הרבה פחות מ 20kb (למעשה תיצרך כמות זעומה של רוחב פס).
עוד דבר שחשוב לקחת בחשבון הוא שכל האייטמים הבאים ישפיעו כך או אחרת על כמות רוחב הפס שה session יצרוך: תצוגה של plain text לעומת תצוגה של גרפיקה עשירה, איכות הקול, הדפסות, מיפויי כוננים, מיפוי פורטים.

2. בכל ICA session ישנם ערוצים שונים המיועדים להעברה של דברים שונים (מכונים בשם המפתיע virtual channels), תצוגת המסך, העברת קבצים, פעולות clipboard, הדפסות, קול וכו' מועברים בערוצים נפרדים בתוך ה session.
תצורה זאת מאפשרת לנו לשלוט בכמות צריכת רוחב הפס של כל virtual channel, נוכל להקטין את כמות רוחב הפס המקסימלית או לבטל בכלל העברה של ערוצים שאיננו צריכים.
מגדירים ב policies של חוות ה Citrix, כלומר ב Citrix Management Console-->Policies מגדירים פוליסי חדש וההגדרות הרלוונטיות נמצאות ב Bandwidth-->Session Limits, שם נמצא את כל ה virtual channels וגם ההגבלה הכללית של ה session.

3. בחוות Citrix קיים feature בשם SLR (או SpeedScreen Latency Reduction), טכנולוגיה זאת מביאה שתי יכולות חשובות ל session שעובד עם latency גבוה.
הראשונה היא ה Local Text Echo, למעשה ה feature מאפשר למשתמש לראות את מה שהוא הקליד ב session באופן מידי ולא רק כשזה יופיע ב session עצמו, כאשר ה Local Text Echo מופעל, כשהמשתמש מכניס טקסט ל session מתרחשות שתי פעולות, האחת היא שליחת הטקסט לשרת המרוחק ושמירת הטקסט במין buffer מקומי והצגתו מידית על המסך וכך נחסך מהמשתמש לחכות להצגת הטקסט בשרת המרוחק (ב latency גבוה זה יכול לקחת זמן).
היכולת השניה היא ה Mouse Click Feedback, ואיתה פותרים בעיה אחרת של sessions בעלי latency גבוה, כאשר משתמש לוחץ על כפתור מסוים עם העכבק ב session, זמן התגובה של הפעולה (אנימציית הלחיצה עצמה) ארוך יותר מאשר ב session בעל latency נמוך מה שיכול להיראות למשתמש כאילו הלחיצה שלו לא עבדה ויגרום לו ללחוץ עוד פעם על אותו הכפתור/אייקון.
ה Mouse Click Feedback פותר את זה בכך שהוא למעשה מראה את פעולת הלחיצה (האנימציה), הוא לא מונע מהמשתמש ללחוץ שוב פעם על הכפתור, אבל ברוב המקרים זה עוזר למשתמשים (פסיכולוגית) להבין שהם ביצעו פעולה כלשהי.

4. כאשר נמצאים בשלב הבדיקות ותכנון הסביבה חשוב לדעת נתונים לגבי ה session, כלומר כמה רוחב פס באמת יתפוס session ממוצע של משתמש מרוחק, מה ה virtual channels שנוכל לסגור, מה letency הממוצע שיהיה ל sessions ועוד.
ה perfmon יהיה ידידינו הטוב ביותר למען השגת הנתונים הרצויים, ישנם כמה counters שימושיים אשר יעזרו בשלב איסוף הנתונים.
מבחינת Citrix, כל ה counters השימושיים באמת (input\output session bandwidth של כל ה session או של virtual channels מסוימים ועוד) קיימים לעצרי רק בגרסאות Enterprise ומעלה, שלושת ה counters היחידים שנמצא תחת ICA Session הם counters אשר מתייחסים ל latency של ה session.
השלמות ניתן לעשות עם ה counters של Terminal Services Session.

פוסט הסערה

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

עם ההבנה הזאת התיישבתי לי ביום ראשון כדי לכתוב על סיטואציה משעשעת שקרתה לי רק כמה ימים לפני כן בו ידידתי לא הבינה כמה מושגים שנדנו בשיחה קצרה שלי עם חברי.
לפני תחילת הכתיבה חשבתי לעצמי שהסיטואציה המשעשעת כביכול הזאת בטח לא זרה לרוב האנשים שמתעסקים בתחום ה-IT\פיתוח ( aka. הביצה) וכמו שהיא הצחיקה אותי כך אולי היא תעלה חיוך על פני קוראי אותו פוסט.

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

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

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

רק שמחה!

סביבות Terminal Server\Citrix ואפליקציות גרפיות

סביבות Terminal Server או Citrix משמשות לאספקת שלל אפליקציות למשתמשי הקצה, החל מדפדפן, Office, SAP ועוד ירקות, ועד סביבות עבודה שלמות כתחליף למחשב האישי.
ברוב המקרים שרת הטרמינל (או שרת הסיטריקס) יעבוד ללא בעיה עם מספר sessions אשר מפעילים את האפליקציות המקומיות של השרת, אבל לעיתים ההגדרות הדיפולטיביות לא מספיקות אם ישנה דרישה להריץ אפליקציות פחות סטנדרטיות על השרתים הנ"ל.

לדוגמא, שרת Terminal יתקשה להתמודד עם מספר sessions המריצים תוכנות גרפיות שונות ומשונות (CAD\Exceed\Autodesk ודומיהן) או לחילופין sessions אשר עובדים ברזולוציה גבוהה ו/או עומק צבעים גבוה, מה שיפתיע בכל הסיפור היא העבודה שבהסתכלות קצרה על משאבי השרת לא נראה שהמעבד עסוק מדי או שצריכת הזכרון גדולה מהנורמלי.
אבל מה שכן נוכל לראות, זה איטיות של השרת, בעיקר יהיה אפשר לראות את זה כשלוקח יותר מדקה לפתוח task manager, אההה, וכמובן תלונות של משתמשים.
אני למשל ראיתי את התופעה על שרת Citrix עם 8 משתמשים אשר כולם הריצו Exceed.

התופעה מתרחשת עקב חוסר יכולת להקצות זכרון מה session memory עבור ה- GUI של האפליקציות הרצות ב session, ברוב המקרים, חוסר היכולת הזאת נוצרת עקב כך שלא מספיק זכרון מוקצה עבור הפעילות הגרפית ב session.

הערכים האחראים על כל הסיפור הזה יושבים ב- HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Memory Management.
והערך שרלוונטי בישבלינו כדי לעזור לשרת להתמודד עם כל הגרפיקה הזאת שתוקפת אותו הוא SessionPoolSize, הוא בעצם קובע כמה זכרון לשמור עבור כל ההתעסקות של ה session עם גרפיקה/וידאו.
ה- default של SessionPoolSize הוא 16 (נספר במגות) בשרתי x32, וההמלצה היא להגדיל את זה ל- 32.
בשרתים הקיימים כיום, העלאה הזאת לא תפגע במשאבים אחרים של השרת (זכרון).
SessionPoolSize יכול להכיל ערכי DWORD, ככה שבמקרה שרוצים שהוא יהיה שווה ל 32mb, יש להכניס 0x00000020 (הקסה-דצימלי) או 32 (דצימלי).
אחרי אתחול השרת, הערכים החדשים יכנסו לתוקף, ואתם תלכו לנוח על זרי הדפנה.

זאת ועוד...

Group Policy ואפליקציות וירטואליות

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

אני אעשה השוואה קצרה לגבי איך זה עובד ב SoftGrid ב- Citrix Streaming Applications וב- Altiris SVS.

SoftGrid - לפי מיקרוסופט, SoftGrid מסוגלת לקרוא את השינויים מה group policy (או למעשה לקרוא את ערכי ה registry הרלוונטיים של התחנה), אבל עם טוויסט קטן, הקליינט של SoftGrid לא יכול להבדיל בין מה שנרשם תחת HKEY_CURRENT_USER לבין HKEY_LOCAL_MACHINE, כלומר, גם דברים שרשומים בפוליסי במקטע של Current Machine (ובסופו של דבר יירשמו ב HKLM ב- registry) יירשמו ב- HKCU.

Citrix Streaming Applications - הפתרון של Citrix שכמה שבמהות שלו הוא ו SoftGrid די דומים, פה (לפחות לפי המסמכים הרשמיים של Citrix) יש לפעול בצורה מעט שונה.
לפי סיטריקס הרשמית, הפתרון שלה לא קורא את ההגדרות של group policy בקלות, אני די מבין אותם, כי למרות שגם ה Streaming application יודע לקרוא את ערכים מסוימים אשר נקבעו מראש, כל העסק מסתבך לעיתים ולא תמיד עובד חלק.
לפי סיטריקס, אם רוצים לקבע הגדרות מסוימות לחבילה המופצת, יש לשנות את ההגדרות לפני סגירת החבילה (כלומר עד במהלך תהליך הלכידה) ולהפיץ עם השינויים הרצויים.
כמובן שיש בפתרון הזה בעיתיות, כי זה דורש מאיתנו ליצור חביל חדשה בכל שינוי קטן שאנחנו נרצה להכניס, אז פה הזמן לקומבינה, בסיטריקס ניתן להגדיר pre luanch scripts אשר ירוצו בטרם פתיחת החבילה בתחנת הקצה, שם ניתן להוסיף סקריפט קטן אשר יישנה את ערכי ה registry הרלוונטיים.

Altiris SVS - כבר ציינתי בעבר שהוא הפייבוריט שלי (ויסלחו לי החברים במיקרוסופט ובסיטריקס), והנה עוד סיבה מצויינת ללמה אני מעדיף אותו, ב SVS כל הקשר עם ה registry המקומי הוא פשוט וקל, בעיקר בגלל שהאפליקציות מולבשות על מערכת ההפעלה כשכבות, ככה שערכי הרג'סטרי הרלוונטיים של השכבות השונות מופיעות (וירטואלית, אבל עדיין מופיעות) ב registry של התחנה, ככה שכל שינוי שנעשה ב group policy ייכול גם על השכבה הרלוונטית (ניתן גם להגדיר שהשכבה לא תסתכל מה מוגדר במחשב, ותעבוד מול ערכי הרג'סטרי שלה).
צורת עבודה זו יכולה לעזור מאוד בהפצות של ה SVS, כיוון שאין צורך לשנות יותר מדי את אופן העבודה שהינו רגילים עליו לפני ביאת האפליקציות הוירטואליות אל עולמינו (טוב נו, גם ב SoftGrid זה אולי תקף קצת, למרות שזה לא חלק כמו ב SVS, אבל מה לעשות שיש לי פייבוריט :) ).

האם אתם שולטים במיקרוסופטית?

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

הזמן: יום רביעי האחרון, סביבות אחת בלילה.
ה- event: נוסעים למסיבה.
הנוכחים: אנוכי, ע', ס', א' ו-מ' (למען הסר ספק, אף אחת מהם לא הוטרד על ידי משה קצב).

אני וחברי ע' מדברים על נושאים שברומו של עולם, כמו Power Shell, שרתי Terminal וכו'.
ס', שעניינים מסוג אלו הם לא הלחם והחמאה שלה, הרגישה צורך להתערב בשיחה ואמרה לחברתה מ', "תראי את שני אלה, מדברים מיקרוסופטית, אני לא מבינה כלום", אכן תמונות קשות היתי אומר...
תמונות קשות אשר מעלות שאלות חשובות ביותר, האם אפשר לקחת את הקורס מיקרוסופטית למתקדמים באוניברסיטה (נראה לי שאמורות להיות נקודות זכות קלות)? האם יש גם לינוקסאית? או שאולי זה מתקדם ל מיקרוסופטית++ ?

אז אותה ס' שכל הזמן צוחקת עלי שיש לי את הבלוג הזה, הגיע זמן הנקמה!!! (צחוק של Dr. Evil מלווה ברקע).

thinking

Project Pictor

בפוסט הקודם שלי כתבתי על Project Apollo, אני ממשיך עם קו הצגת הטכנולוגיות העתידיות של Citrix עם Project Pictor.

אם בהצגה של Project Apollo לא נרשם יותר מדי וואוו, אז עם Project Pictor המצב שונה, אם ב Apollo הראו לנו שאפשר להעביר את ה Aero על גבי ICA (שאת האמת אני לא יודע כמה אירגונים באמת צריכים וידרשו את זה) אז ב Pictor מראים לנו שאפשר להעביר תצוגה של תוכנות גרפיות כבדות על גבי ה ICA (ואפילו משחקי תלת מימד כגון Quake, תחכו לסוף הסרטון, זה די מדהים).

אני ארחיב קצת יותר על ההתלהבות משהו שיש מ Pictor, למעשה זאת הפעם הראשונה שיש ממש פתרון מצד Citrix לתצוגה של תוכנות תלת מימד אשר עובדות ב OpenGL (כן, הם סוג של שיפרו את התמיכה בתוכנות האלה ב PS4.5 אבל עדיין זה לא היה כמו לעבוד מקומית על התוכנה).

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

כמה מילים על המימוש... למעשה משתמשים ב GPU (או Graphical Processing Unit) לעיבוד הגרפיקה של התוכנות הרלוונטיות (מה שיוצר סוג של Presentation Server על ספידים) ושיפור התצוגה המעוברת על גבי ה ICA לקליינט.

עכשיו אם חושבים על מה יקרה כאשר באמת יהיה ניתן לעבוד בצורה טובה עם תוכנות תלת מימד על גבי Citrix, אז אפשר לראות שזה יכול להיות טריגר לא קטן עבור חברות לעבוד בצורה של שרת מרכזי (במקרה הזה סיטריקס כמובן) אשר מריץ את תוכנות התלת מימד ועם תחנות רזות פשוטות ולא מחשבים אישיים מתוחזקים (על ספידים כבר אמרתי?) אשר עליהן עובדים המשתמשים הרלוונטיים, ככה שאם עד עכשיו הפתרון הזה היה מתאים למשתמשים הפשוטים יותר (עובדי משרד רגילים אשר צריכים מייל, מעבד תמלילים, אינטרנט וכו') אז עכשיו גם משתמשים כבדים יותר יוכלו לעבוד בתצורת SBC ויחידות ה IT יוכלו למרכז את כל אותן אפליקציות ב Data Center של החברה.

מספיק דיבורים, הנה ההדגמה (כאמור, תראו עד הסוף, יש תצוגה של משחק Quake 3 אשר רץ על שרת הסיטריקס ומועבר לתחנת המשתמש, די מדהים):

 

 

Project Apollo

בסוף החודש הקודם נערך כנס ה iForum לשנת 2007, או בשמו החדש, The App Delivery Expo, בין כל ההדגמות וההרצאות (אני כנראה צריך לדפוק על השולחן כדי להגיע לשם) היתה גם הדגמה של Project Apollo, שהוא שם הקוד הזמני לטכנולוגיה חדשה המפותחת ע"י Citrix וייעודה לשפר את יכולת התצוגה המעוברת על גבי ה ICA או וירטואליזציה של מולטימדיה במילים מפוצצות יותר, למשל תמיכה מלאה בתצוגת Aero בתחנה המרוחקת ובאיכות לא רעה בכלל.

כדי להסביר את החידוש קצת יותר לעומק וכדי לתת איזשהו preview לפני ההדגמה, אני אציין שההדגמה נעשתה בהתחברות לתחנת Vista וירטואלית כנראה ע"י שימוש ב Citrix Desktop Server החדש שעומד לצאת בעתיד.
לפי מה שנראה לי (כי לא סופקו יותר מדי פרטים) בהתחברות ל Vista נעשה שימוש בטכנולוגיה חדשה גם כן שאכן אמורה להיכנס לגרסא החדשה של ה Desktop Server והיא Port ICA, אשר נותנת את האופציה להתחבר למחשבים מרוחקים (ולא רק שרתי Citrix) בפורט ICA, מה שמאפשר למשתמש לקבל תצוגה טובה יותר מאשר חיבור ב RDP, ופה גם נכנס לתמונה אותו Project Apollo המדובר, העובדה שהחיבור לתחנה נעשה ב ICA נותנת ל Citrix לשפר את התצוגה המועברת על הפרוקוטל שלה עצמה (דבר אשר לא היה ניתן לביצוע אם החיבור היה נעשה ב RDP).

Derek Thorslund (היתי מסתבך עם עצמי אם היתי כותב את השם בעברית) העלה קטע וידאו אשר נותן סקירה קצרה של הטכנולוגיה וסרטון הדגמה מה iForum.

 

Microsoft SoftGrid Application Virtualization

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

זה מה שכתבתי בזמנו על ה 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%, אחוז די זניח מבחינת העבודה של המשתמש.

זה ממש (אבל ממש...) ממצא, אבל זה מספיק בשלב הזה.
ולפני שאני ממשיך, אתנחתא קומית...
אם תחפשו ברשת את המילה Softgrid תגיעו לאתר הראשי של Softgrid במיקרוסופט (וזה כבר טוב), וזה מה שרשום שם על מה זה בכלל ה Softgrid:

Microsoft SoftGrid® Application Virtualization is the only virtualization solution on the market to deliver applications that are never installed and are dynamically delivered, on demand. It dramatically improves IT efficiencies, enables much greater business agility and a rich end-user desktop experience.

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

כמו שכתבתי בתקציר, כל הארכטיקטורה היא די פשוטה, צריך רק שרת שיהיה SoftGrid Server ותחנה אשר איתה ניצור את חבילות התוכנה.
פה מגיע הקאצ', שלא כמו במוצרים אחרים (Altiris SVS ו Citrix Streaming) ל Sequencer של SoftGrid צריך ליצור כונן נוסף, Q, אשר אליו יותקנו התוכנות במהלך תהליך ה"לכידה", הכונן צריך (המלצה, בכדי למנוע אי תאימויות) ריק בכל פעם שרוצים להכין חבילה חדשה, וכל פעם שרוצים להכין חבילה, כדאי גם להחזיר את המחשב למצב נקי (כלומר, windows וה sequencer, המלצה חמה שזה יהיה vm כלשהו, בכדי לחזור מ snapshots בקלות).
נראה ש Softricity לא רצו להתעסק יותר מדי עם להבין מה המשתמש רוצה להכיל בחבילה ומה לא ופשוט אמרו לו לשים הכל בכונן Q (הם טוענים שלהתקין את התוכנה ל Q מונע סיבוכיות בתחנות, נו... ניחא), כנ"ל גם אם העובדה שצריך להחזיר את המכונה למצבה הקודם לאחר כל התקנה, משום מה, גם Citrix וגם Altiris יודעים ללכוד את מה שצריך מבלי תכלס להתקין למכונה, ככה שאין להם צורך להחזיר את המכונה למצבה הקודם כל פעם.

שלב יצירת החבילה מאוד פשוט למעשה, מפעילים את ה sequencer, בוחרים את האופציה של יצירת חבילה חדשה ומתחילים לרוץ עם ה wizard.
image

בסיום תהליך הלכידה מעתיקים את מה שנוצר ל SoftGrid Server ומייבאים את החבילה לחבילות שכבר קיימות לנו.
image
מגדירים לחבילה הגדרות כמו מאיזה שרתים יש למשוך אותה, איזה קיצורי דרך ליצור, איזה קבצים לשייך אליה ומי המשתמשים שיורשו להפעיל אותה.
לבסוף, בתחנת הקצה עושים refresh לחבילות אשר יגרום לקישור בין התחנה לבין החבילה החדשה.
image

לאחר שהחבילות ייקושרו למשתמש, יופיעו קיצורי הדרך המבוקשים על שולחן העבודה (או בכל מקום אחר אשר הוחלט מבעוד מועד),אלה יהיו רק הקיצורים לחבילות, החבילות טרם ירדו מקומית למחשב.
לאחר הפעלת החבילה, הקליינט יצור קשר עם השרת ויתחיל להוריד את הקבצים הראשונים הדרושים להפעלת החבילה.
image
לאחר תהליך קצר של הורדה, האפליקציה תיפתח.
image 

אפשר לראות את מצב החבילות במחשב, ע"י כניסה ל Applications ב Softgrid client, למשל במקרה שלי, רצות 2 חבילות (firefox ו- excel 2007), ו 91% מכלל החבילה של firefox ו- 10% מ excel נמצאים ב cache של המחשב.
image 
כמובן שאם אני אבחר לגשת לאזורים בחבילה שלא נמצאים ב cache, הקליינט יפנה לשרת וייבקש את הקבצים החסרים (אפשר להגיד לקליינט להוריד מבועד מועד את כלל החבילה למחשב ע"י לחיצה על loadבחבילה הרלוונטית, הקליינט עדיין ייגש לשרת בהפעלה בכדי לבדוק שהחבילה שקיימת במחשב היא באמת המעודכנת ביותר, אם קיימת בשרת חבילה מעודכנת יותר, היא תורד לתחנה ותחליף את הקיימת).

הגיע העת לדברי סיכום, SoftGrid בעיקרון עושה את העבודה אשר לשמה היא קיימת, היא אכן מפעילה את התוכנות השונות בסוג של קופסא סגורה, ככה שבאמת ניתן להריץ במקביל כמעט כל דבר (אני בטוח ש 90% מהאנשים בארץ כבר ראו את ההדגמה של הרצת 4 גרסאות של אופיס בו זמנית), היא ממש לא מושלמת, למשל תהליך לכידת החבילות הוא בעיתי ושונה יחסית לשאר הפתרונות, וכתוצאה מכך גם הרצת התוכנות (דבר קטן ששכחתי לציין שגם במחשב הקצה יופיע אותו כונן Q הידוע לשמצה), גם במשחקים שלי נתקלתי בכל מיני בעיות שונות ומשונות שלא ניתקלתי בפתרונות אחרים (כמו חבילה שמסרבת להופיע במחשב הקצה למרות שהיא מקושרת למשתמש המתאים, או בעיות בעידכון גרסאות הקבצים של החבילות).
מצד שני לא הכל שחור, ה SoftGrid היא חבר די ותיק בשוק (עוד מימיי Softicity) ועצם הרכישה ע"י מיקרוסופט תשפר את המוצר בוודאות (אין מה לעשות, התקציבים החדשים יעשו את שלהם), עצם העובדה שזה לא מוצר חדש כל כך גם נותן לו יתרון על פני Citrix שהפתרון שלה מאוד מזכיר את ה SoftGrid.
ונקודה אחרונה חשובה לסיום, מיקרוסופט דוחפת את ה SoftGrid בכל כוחה, לפעמים אפילו במחירים שאף אחד לא יכול להתחרות בהם, ולא פעם שמעתי על לקוחות שמבינים שישנם פתרונות טובים יותר (או מתאימים להם יותר במילים עדינות יותר) אבל לא תמיד מצליחים להצדיק את ההשקעה הגדולה יותר יחסית במוצרים אחרים.