סביבת העבודה שלנו

8 באוקטובר 2009

קטע שכתבתי עבור הידיעון החודשי של מועדון משתמשים Citrix בישראל.

"פירמטתי לו את המחשב, והתקנתי את ה- Windows מחדש. עכשיו זה כבר לא אמור לחזור על עצמו" אמר הבחור לידי בתור בסופר בשעה שדיבר כנראה עם המנהל שלו בקשר לתקלה ששהה בה בשש השעות האחרונות.

ניסיתי בכל כוחי להיזכר מתי בפעם האחרונה שמעתי את המילה פירמוט על הטיותיה השונות – פירמטתי/פירמטת/פירמטנו – ואיכשהו חזרתי עד סביבות סוף שנות התשעים ותחילת שנות האלפיים העליזות, שעה שפירמוט המחשב נראה כמו פיתרון מעולה ל- 80% מהבעיות. הפיתרון היה נפוץ עד כדי כך שרבות מחברות השירותים השונות שמחו לספר – ברוב רדידותן את האמת – שאין תקלה שלא נמצא לה פיתרון תוך מינימום 8 שעות, וזאת מכיוון שפרק זמן זה מספיק כדי לנסות לפתור את הבעיה ולהתקין את המחשב מחדש בפרק הזמן הנותר אם לא נמצא פיתרון אחר.

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

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

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

אבל התכנסנו כאן לדבר על מה אפשר לעשות כדי למנוע את עוגמת הנפש, מה אפשר לעשות כאן ועכשיו – ואולי גם כמה נגיעות על העתיד, תלוי אם תזרמו איתי בעניין – כדי לאפשר לאנשי המחשוב (זוכרים את אותו בחור מסכן שנאלץ לשרוף שש שעות מחייו על פירמוט מחשבו של לקוח מסוים) לספק סביבת עבודה תקינה שעומדת בכל תנאיי והגבלות הארגון מצד אחד ומהצד השני לאפשר למשתמש לעבוד בסביבת העבודה המוכרת לו עם כל התוכנות, המידע וההגדרות שלו ללא קשר לגחמות המוזרות של אנשי ה- IT (מה היה רע לי עם ה- Windows 98, למה זה טוב עכשיו לעבור ל- Windows 7. לא מבין אותם).

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

והרי השכבות:
1. שכבת החומרה – המחשב האישי של המשתמש, זה שאחראי לספק לו את המשאבים להרצת הסביבה (מערכת הפעלה, אפליקציות וכו’).
2. שכבת מערכת ההפעלה – הטווח שבין החומרה הפיסית לבין המשתמש, והפלטפורמה שלו לעבודה.
3. שכבת האפליקציות – התוכנות שכל אחד מאיתנו מריץ במחשב שלו. כל אחד עם שלו, מי תוכנות סטטיסטיקה, מי תוכנות office ומי משחקים. למעשה, שתי השכבות הראשונות קיימות כדי שהמשתמש יוכל להריץ בסופו של דבר את האפליקציות שלו.
4. שכבת הפרופיל – ההגדרות והקוסטומיזציה של כל משתמש. תמונת הרקע של שולחן העבודה, אתרים מועדפים, מבנה התפריטים בתוכנות השונות, מדפסות, קישורי רשת ועוד ועוד.

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

שכבת החומרה – איך להוריד את התלות בין חומרת המחשב לבין מערכת ההפעלה.

כמובן שכאן אפשר למצוא פיתרונות כמו VDI (XenDesktop) ו- SBC (XenApp), להרצת סביבת העבודה של המשתמש בסביבה מרוחקת שלא קשורה לחומרה המקומית שלו עם אותה חווית המשתמש אליה כולנו הינו רגילים בעבודה עם מחשבים אישיים. הצגת וידאו (כן, גם מ- youtube), שמיעת קטעי אודיו, גלישה באינטרנט (בלי להימנע מכניסה לאתרים עם flash), חיבור התקני קצה (iPhone לדוגמא) כמעט מכל התקן קצה וכמעט על כל טווח תקשורת. או עם נסכם את זה במילה אחת, HDX – High Definition User Experience.

העתיד צופן בתוכו הרבה חידושים בתחום הזה, שעוד ארחיב אליהם בהזדמנויות אחרות, אבל מה שהולך להיכנס לחיינו ממש עוד מעט זהו ה- client-side hypervisor – או Type 1 אם תרצו – שיאפשר לנו להריץ את אותה מערכת הפעלה כסביבה וירטואלית מבלי להיות מותקנת על המחשב, תחשבו על זה כעל סוף ההתעסקות של כולנו עם דרייברים. מאוד דומה למה שכולנו מכירים היום בעולם השרתים כשאר לוקחים שרת פיזי אחד ומריצים עליו מספר שרתים וירטואליים. אבל עם כמה שזה נשמע פשוט וטרוויאלי, וירטואליזציה של מערכת הפעלה שרצה על המחשב האישי עם כל ההתקנים השונים שלו – Bluetooth, WiFi, קוראי כרטיסי, כרטיסי מסך ועוד כמה שבטח שכחתי – לא כ"כ פשוטה כמו וירטואליזציה של שרתים (איך מספקים תקשורות WiFi לשני המערכות הוירטואליות שרצות על המחשב, ומה עושים עם Bluetooth? ואלה רק שתי קושיות רנדומליות לחלוטין).
הטכנולוגיה (XenClient שאמור לצאת בתחילת השנה הבאה) תאפשר לי בסופו של דבר לעבור בקלות מגוחכת מעט ללפטופ אחר ברגע שימאס לי מהנוכחי שלי, אני פשוט אקח את הסביבה הוירטואלית שלי ואריץ על המחשב החדש. בלי התקנות מחדש ובלי חיפוש אחרי דרייברים. פשוט, קל ומגניב ביותר.

שכבת מערכת ההפעלה – אם בשכבת החומרה דיברנו יותר על פיתרונות וירטואליזציה כאלה ואחרים אשר מאפשרים לנו להריץ מערכות שונות על החומרה הפיסית – אם זה חומרת שרת או מחשב אישי – אז בשכבת מערכת ההפעלה ניגע יותר ב- deployment מהיר של מערכות הפעלה לחומרה קיימת, ונתעלם מסוג החומרה (פיסית או וירטואלית).

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

מה עם היתה דרך להפיץ תוך דקות בודדות לכל המחשבים בארגון את ה- Golden Image הארגוני, להגן עליו מפני נזקים – ישירים או עקיפים של עבודת המשתמש – ולוודא שהם תמיד יעבדו רק עליו, להוריד את מספר התקלות ולפשט מאוד את הניהול.
תשמחו לשמוע שאכן יש פיתרון, הלא הוא ה- Provisioning Server שמאפשר לבצע Streaming של מערכת ההפעלה (Golden Image) למחשבים של המשתמשים ולדאוג שלא משנה מה המשתמש יעשה במערכת ההפעלה (מחיקות, התקנת תוכנות לא מורשות ושלל דברים אחרים שהמשתמשים נורא אוהבים לעשות), בכל איתחול יתקבל אותו ה- Image שהוכן ואושר על ידי אנשי ה- IT. וזאת כמובן ביחד (או לא, תלוי במדיניות הארגון) עם שמירת השינויים המותרים – פרופיל המשתמש – שהמשתמש עשה במהלך עבודתו. ועם אנחנו כבר בקטע של דימויים, אז איפוס סביבת העבודה בכל איתחול זה ממש כמו איבוד הזיכרון לטווח קצר של לאונרד (ההוא ממנטו), ושמירת השינויים בפרופיל הם ממש כמו הקעקועים שהוא נאלץ לעשות לעצמו כדי לזכור דברים חשובים. כי בינינו, מה יותר חשוב מהחתימה שלנו באאוטלוק, ללא ספק שווה קעקוע.

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

Citrix Dazzle מאפשר לארגון ליצור קטלוג של כל האפליקציות המורשות לעבודה ולספק למשתמשים את האופציה "להירשם" לאותן האפליקציות בהן הם רוצים להשתמש, אותה הירשמות תישמר בפרופיל המשתמש והאפליקציות שהוא נרשם אליהן יהיו זמינות תמיד, מכל סביבה שהמשתמש ייתחבר אליה (שרת XenApp,תחנת XenDesktop או אולי המחשב האישי) תחשבו על זה כ- Apple Store עבור אפליקציות. האפליקציות יכולות להגיע כ- Hosted על שרת ה- XenApp (published application רגיל, מצב בו המשתמש מקבל את התצוגה של האפליקציה שרצה על שרת ה- XenApp), כ- Streaming למחשב שלו (ע"י פירסום האפליקציה בחוות ה- XenApp אבל הרצתה בסופו של דבר על תחנת המשתמש, ולא משנה אם זה תחנת VDI או תחנה רגילה) ובעתיד ה- Dazzle יתמוך בפירסום אפליקציות שיגיעו מ- App-V, מוצר הוירטואליזציה של אפליקציות מבית היוצר של מיקרוסופט.

clip_image002

שכבת הפרופיל – אולי כלפי חוץ נראת כמו משהו שאין מה לחדש בה יותר מדי, אבל למעשה בזמן האחרון דווקא התרחשו בה שינויים שכדאי להכיר.
יותר חברות בתחום מבינות שלא משנה עד כמה המוצר הסופי שלהם טוב, עד כמה הוא יציב או כמה features יש לו, מה שקובע בסופו של דבר זה חווית העבודה של המשתמש הסופי, שהוא לא צריך לשנות כהוא זה את אופי העבודה שלו בגלל שה- IT החליט לעבור לעבודה ב- VDI\SBC\Application Virtualization (מחק את המיותר).
מיקרוסופט הכניסו ב- Windows Server 2008 את ה- Group Policy Preferences אשר מפשט מאוד את העבודה עם הגדרות המשתמש. Citrix שחררו ממש לא מזמן את ה- User Profile Manager, אשר נועד לפתור את בעיית הפרופילים שקיימים בסביבות XenApp וסביבות XenDesktop. בעיות כגון זמני כניסה ארוכים מדי, שכתוב של פרופיל במקרה של שינויים ומנגון בעייתי מלכתחילה.
כל אלה – ביחד או בנפרד – מאפשרים לנו בסופו של דבר לנהל את סביבת העבודה של המשתמשים בצורה חכמה ודינמית יותר, כך שלמשתמש יהיה שקוף אם הוא יעבוד היום בתצורת SBC ,מחר ב- VDI ומחרתיים על המחשב האישי שלו. בכל תצורה הוא יקבל את אותן ההגדרות שהוא הגדיר לעצמו.

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

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

הוסף תגובה
facebook linkedin twitter email

כתיבת תגובה

האימייל לא יוצג באתר. שדות החובה מסומנים *