דרוש: איש פטיש בוירטואליזציה

לאחת החברות שאני בקשר איתם יש צורך באיש וירטואליזציה, אבל לא אחד שיודע לעשות דאבל קליק ל-GUI בוירטואליזציה, אלא משהו הרבה יותר רציני. להלן הדרישות:

  • חובה: ידע ב-Solaris Zones ו-וירטואליזציה ב-Solaris (ולא, לא מדובר על VirtualBox)
  • ידע עשיר ב-Perl, Bash וסקריפטים באופן כללי.
  • ידע טוב ועמוק ב-XEN גירסה 4.
  • ידע עמוק בלינוקס (יצירת וקינפוג initrd וכו' לדוגמא)
  • נסיון בעבודה עם SLES
  • ידיעת השפה האנגלית (כן, צריך לשוחח עם עובדים מחו"ל)

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

מי שמעוניין, יכול לשלוח קו"ח אליי ([email protected]) ואני אפנה את זה לגורם הנכון שיצור עימכם קשר אם קו"ח שלכם נראים לו.

ביי ביי The Planet, ועוד חדשות הוסטינג

הרבה לפני שפתחתי את העסק שלי להשכרת שרתים וירטואליים ופיזיים, שכרתי שרת קטן ב-The Planet ועליו אירחתי את הבלוג שלי ועוד כמה בלוגים, כמה פורומים ועוד כמה שטויות שלי. ה"שרת" היה משהו מאוד קטן: פנטיום 4 במהירות 1.7 ג'יגהרץ, 40 ג'יגה דיסק, חיבור של 10 מגהביט (שאף פעם לא הצלחתי להגיע איתו ליותר מ-5 מגהביט, גם בתוך ארה"ב). שילמתי אז מחיר די זול: 90$ לחודש (מצחיק, היום החבילה הכי פשוטה שאני מוכר היא פי 2 מבחינת כח עיבוד ועולה חצי מזה, כולל מע"מ).

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

במשך הזמן שאני עוקב אחרי שוק ההוסטינג, שמתי לב שקורה ב-The Planet משהו מעניין: לא רק שאנשים עוזבים, גם ההנהלה עוזבת, מהמנכ"ל ומטה ועוברים לשכן ממול: Soft Layer, או איך שאני קורא להם "השודדים". ל-Soft Layer יש אחלה רוחב פס, אבל מחירי השרתים שלהם לצרכן רגיל.. אלוהים ישמור! רוצה שרת עם Xeon ישן יחיד, 8 ג'יגה זכרון, 2 דיסקים של 500 ג'יגה SATA ותעבורה של 2 טרה בחודש? (בחיבור פורט של 100 מגהביט כמובן) בכיף! המחיר? אההמ…. כמעט 500 דולר. לחודש!

ביום ראשון האחרון קיבלתי אימייל מחבר טוב שעובד שם ובפיו הודעה: Soft Layer רכשו את The Planet. והחברה המאוחדת עכשיו נמצאת בליגה של הגדולים כמו Rack Sapce (תיכף אתייחס אליהם). כמובן שבשני האתרים אין שום אזכור על כך, אבל אני מניח שבקרוב, אחרי שהמערכות יאוחדו (חלק מהמערכות שלהם מאוחדים ברגע זה), המחירים לשרתים לא יהיו ממש זולים, אבל נקווה שהשרות הטכני יהיה של Soft Layer ולא של The Planet.

ומאיחודים – לעננים.

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

אחד המתחרים הגדולים של אמזון הם Rack Space (החברה שבחיים לא נותנת לך הצעות מחיר ישירות אלא רק אחרי שבוע שאתה מקבל טלפון מאיזה בריטי שמשגע אותך בשאלות ואח"כ מעביר אותך למישהו אחר שחוזר אליך אחרי .. שבועיים עם מחירים מעלפים). הם מציעים שרותי מחשוב ענן והמחיר די מפתה, אבל המחשוב ענן שלהם מאוד שונה ממה שאמזון מציעים: לאמזון יש מספר Data Centers ברחבי העולם, ל-Rack Space יש בארה"ב והם רק עכשיו בונים בבריטניה. גם ה-Instances שאמזון מציעים הרבה יותר רציניים ממה ש-Rack Space מציעים, ויש עוד הרבה יתרונות לאמזון.

מדוע אני כותב על זה כאן? ובכן, יצא לי להכיר בעבר מישהו ב-Mix Panel, חברה שנותנת ללקוחות שלה ניתוחים אנליטיים על תעבורה, ושם החליטו בהנהלה לקחת את הענן של Rack Space, ולצוות הטכני נמאס מ-Rack Space, והם החליטו לאוורר את כל התלונות שלהם בחוץ. אני ממליץ לכל מי שחושב לקחת מחשוב ענן בחו"ל ולאחרים שגם מתעניינים במחשוב ענן לקרוא את הפוסט שלהם.

ולבסוף, שאלה לקוראים המבינים: מדוע לעזאזל אנשים רוכשים F5 במקום לקחת מכונה ולהתקין עליה HAProxy?

המעבר למכונת ווינדוז וירטואלית

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

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

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

כאיש לינוקס, חשבתי שאני פשוט אעבוד עם Open Office עם שמירת מסמכים לוורד וכך אוכל לעבור עם הלקוח על חוזים, אך מה לעשות, מה ש-Open Office מייצא לוורד נראה זוועה (לטענתם של הלקוחות), אז הרמתי מכונה וירטואלית עם Windows בבית (אין כמו VirtualBox!) עם אופיס 2003 ועם זה עבדתי מול אותם לקוחות, חשבתי שפתרתי את הבעיה.

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

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

עכשיו מגיע החלק הטכני המעניין.

יש לי מס' מכונות בבית, כולם מריצים Fedora או CentOS, וכדי להתחבר למכונה הוירטואלית עם RDP, צריך תוכנה טובה. אני מכיר את rdesktop וכל התוכנות שנסמכות עליו וניסיתי להתחבר איתם, והצלחתי, אך עם בעיה אחת: המכונה הוירטואלית מריצה Windows 7 Enterprise עם RDP גירסה 7 ו-rdesktop תומך עד RDP 5.1. מה ההבדל? שבגירסאות RDP יותר מאוחרות, אפשר לקבל מרחוק רק את החלון של האפליקציה לדוגמא, הדחיסה הרבה יותר טובה, והפונטים נראים הרבה יותר טוב. עם rdesktop הפונטים פשוט נראו זוועה.

יום שלם ביליתי בחיפושים אחר תוכנת RDP ללינוקס, חופשית או מסחרית, שתתן לי תמיכה ב-RDP מעבר למה ש-rdesktop נותנת (rdesktop כבר שנתיים לא מפותחת, אגב). מצאתי את FreeRDP, שאומרים שהם fork ל-rdesktop והם ממשיכים בפיתוח, אך כרגע אין בו תמיכה ל-RDP מעבר למה שיש ב-rdesktop כלומר אין תמיכה ב-RDP 6 ומעלה.

לאחר מס' שעות מצאתי משהו מעניין: מישהו פישפש בקוד של rdesktop ומצא כי אם שולחים פרמטר שונה ממה שכתוב, אפשר לקבל Font smoothing, שזה בדיוק הדבר שאני מחפש. הפוסט עצמו אומר שצריך לשנות בקוד משהו, אבל ניסיתי בלי לשנות בקוד לשלוח פרמטר בהפעלת rdesktop: הפרמטר הוא: 0x80 בפונקציית x-:

rdesktop -g 1024×768 -x 0x80 -a 32 -z mywinmachine.com

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

אם מישהו מכיר תוכנת RDP שתומכת ב-RDP 6 ומעלה, בבקשה תיידעו אותי. תודה.

(אגב, פוסט זה נכתב עם Windows Live Writer 2011 על המכונה הוירטואלית שנמצאת בחווה סמיילי)

כמה מילים על מיקום שרתים

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

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

אני מנסה להבין, בשביל מה?

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

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

בחברות היי-טק אחרות גם קיים חיבור סימטרי לשם שימוש בחיבורי VPN למפתחים, מנהלה וכו'

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

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

  • דוא"ל: רוכשים 2 כתובות IP קבועות ו-2 קווי ADSL, כאשר הראשון יכול להיות 20-30 מגה ב-Downstream ו-1 מגה ב-Upstream והשני יכול להיות גם במהירות 1-2 מגה ב-Downstream ו-1 מגה ב-Upstream. המודם השני ישמש אך ורק ככתובת SMTP ואיתה שרת הדוא"ל יוציא החוצה מיילים, כאשר הגלישה לעובדי המשרד מתבצעת דרך המודם הראשון. אם רוצים לייעל את התהליך, אפשר להשתמש ב-PFsense לחלק גם את הגלישה במצב שהקו השני לא עושה כלום, וכך כולם במשרד יכולים לקבל שרותי אינטרנט.
  • Web Serving: אני לא מצליח להעלות בדעתי שום יתרון להגשת דפים דרך שרתים שיושבים בחברה. דווקא אחסון של אותם שרתים תחת חברת אחסון שרתים/אתרים יכול לתת לכם הרבה יותר מהירות ממה שיהיה לכם במשרד, ואני יכול לתת דוגמא: אני מציע לדוגמא חבילת VPS Basic ששם מדובר בחבילת וירטואליזציה בסיסית ואיתה אני נותן עד 10 מגהביט החוצה מהשרת פה בארץ, והאמינו לי, אני לא מוכר בהפסד. עם אחסון שרת אני יכול לתת הרבה יותר קו ממה שחברה יכולה לשכור לעצמה בחיבור למשרדים שלהם ובהרבה הרבה פחות מחיר. בוא לא נשכח שכל Data Center מכובד ערוך ומוכן להגן על השרתים שלכם הרבה יותר ממה שיש במשרד טיפוסי, ששם ה-UPS יכול להחליט בדיוק ברגע שיש Spike בחשמל (או הפסקת חשמל) לא לפעול ואז אותו מנהל רשת בחברה – בבעיה.
  • שרידות: דווקא בשרידות יש לספק אחסון שרתים/אתרים יתרון מאשר לחברות קטנות. כמה חברות חתומות על חוזה שהטכנאי של החברה שממנה רכשתם את השרתים (HP, DELL וכו') מגיע תוך 4 שעות ומחליף חלקים בלי לשאול יותר מדי שאלות? לא הרבה. לפחות במקרה שלי  – זה ה-SLA שלי לציוד שאני רוכש, כלומר אם אתה שוכר/רוכש ממני (לדוגמא) את הברזל בזמן שאתה בונה שרידות, יהיה לך SLA לגבי טכנאי בזמן יותר קצר מבלי לשלם הון תועפות על חוזה כזה.
  • וירטואליזציה: אם חברה מגישה תוכן משרתי Web שרצים על פתרונות וירטואליים, אפשר הרבה יותר בקלות להעביר אותם לספק אחסון אתרים/שרתים ולנהל אותם עם איזה ממשק שרוצים וגם לקבל רוחב פס להגשה החוצה הרבה יותר גדול בשבריר מחיר ממה שעולה קו יעודי למשרד.

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

כל מה שצריך הוא לשמור על ראש פתוח.

מוגש כחומר למחשבה.

מדוע החלטתי ללכת על VMWare

אתמול פרסמתי בבלוג שבמסגרת העסק של מכירת שרתי VPS, אני הולך להשתמש ב-VMWare. לא חשבתי שזה ישנה להרבה, עד שפתחתי בבוקר את תיבת ה-GMAIL שלי לגלות לא פחות מ-15 מיילים של אנשים שנדהמו שאני משתמש בכלי ה"משוקץ" הזה במקום להשתמש בפייבוריט של כולם: XEN.

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

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

אז מדוע בעצם הלכתי על VMWare?

הסיבות הן פשוטות וברשותכם אפרט:

  • להקים שרתי XEN לוקח זמן. כמה זמן? המון זמן. את קובץ הקונפיגורציה פר מכונה אפשר ליצור דרך סקריפט PHP פשוט עם ממשק וובי עם כמה כפתורים לבחור מה יהיה במכונה, ה-PHP יצור קובץ, ודרך פקודות xm (או virsh אם משתמשים ב-RedHat/CentOS) אפשר להפעיל את המכונה, אבל אם אתה רוצה יותר (ואתה צריך יותר) דברים כמו Traffic Shaping (מה לעשות, לתת לילד בן 17 שרת VPS די מבטיח שהוא יחנוק לך את הקו ולא חשוב כמה תתן לו), או Load Balancing או שימוש באחסון (בין אם זה iSCSI או AoE וכמובן שצריך LVM לביצועים טובים) – הדברים האלו מצריכים זמן כדי לתכנן אותם בצורה יסודית, ועוד לא התחלתי לדבר על איזון בין השרתים הוירטואליים בתוך המכונה עצמה (XEN בהגדרות הרגילות שלו לא משהו בזה, במיוחד כשלא משייכים מכונה וירטואלית לליבה ספציפית. מנסיון!)
  • עלויות: אם יש משהו אחד שאתה לא יכול לעשות בביזנס, זה לשחק בלקוחות שלך, להרים להם מכונה, לשכוח הגדרה ולהוריד לו אותה ככה, מבלי לחטוף צעקות ואיומים מהלקוחות (הייתי בסרט הזה בעבר). אני יכול לשכור לשכור שרת עם 2 מעבדי XEON מרובעי ליבות עם 8 ג'יגה זכרון ב-350 דולר לחודש ואז לשחק, אבל אז גם בזבזתי 1400 שקל, וגם אני מפסיד כסף כי אני לא יכול באותו זמן לשרת לקוחות כפרילנסר, בזמן שאני "משחק" עם ההגדרות של XEN, מוסיף חוקי iptables, כותב סקריפטים מחדש, מחפש פאנל כלשהו (וגם זה בתשלום כמובן) עד שאני מגיע למשהו יציב שמאפשר להריץ לקוחות בצורה יציבה, כלומר ההפסד הוא גדול.
  • השקעה: אם היה לי איזה מיליונר שבא, נותן טפיחת שכם שפורקת את הכתף, שם צ'ק שמן של כמה עשרות אלפי דולרים ואומר לי "חץ, תרים לי הוסטינג!", אז בהחלט היה מקום להרים שרתי XEN, לקחת את הזמן ולעשות את כל העבודה הגדולה. במקרה שלי, זה חלום של כמה שנים לתת משהו יותר טוב מהאחרים עם מחירים שוברי שוק, רוחב פס מכובד ו"ברזלים" רציניים. את כל הדברים האלו אני צריך לממן מכיסי, ו-XEN כרגע, כמו שאמרתי מקודם, יכניס אותי להפסדים לפני שאקבל לקוח ראשון.

אז עשיתי את החישובים שלי והגעתי למסקנות:

  • VMWare נותן לי פתרון יציב ומהיר פה ועכשיו. איתו אני יכול להרים תוך מס' דקות מכונות ללקוחות וגם לתת Trial ללקוחות פוטנציאליים.
  • בניגוד לאחרים שמשתמשים ב-VMWare ומגלגלים את העלות העצומה שלו על הלקוח (לי פה בארץ לקחו פעם על מכונה מבוססת VMWARE עם 5 ג'יגה מקום מחיר של 60 דולר, וזה היה רק לפני 3 שנים), אני לא מגלגל כלום כי לי הרשיון של VMWare עולה … 0 (לא, לא גירסה פרוצה ולא עם שימוש ב-Keygen, חוקי לחלוטין). ככה זה שמכירים את המייסדים היהודיים של VMWare ושולחים להם "שנה טובה" כל שנה ואיחולים בחגים. יש יתרון בלהיות יהודי 🙂
  • VMWare נותן לי לעשות דברים ש-XEN לא נותן. עם שניהם ניתן להגדיל זכרון על מכונה "חיה" (בתקווה שה-Guest יכיר בכך: לינוקס מכיר, Windows 2003 לא), אבל מה עם הוספה של CPU? לקוח רוצה שאוסיף לו עוד ליבה מבלי שאעשה לו ריבוט, ב-VMWare לוקח 3 שניות לעשות את זה וה-Guest יכיר בכך (תחת מגבלות, שוב, Windows 2003 לא מכיר, Windows 2008 Data Center כן מכיר, לינוקס מכיר חופשי כל עוד יש לך קרנל די עדכני) ויש עוד עשרות פונקציות שאני יכול להציע ללקוחות שלי ללא תשלום נוסף שאותם אני לא יכול להציע עם XEN
  • מי שחושב שלהשתמש ב-XEN כתוכנה של קוד פתוח עוזר לתוכנה חופשית, עדיף שיזכר מי הבעלים של XEN.. סיטריקס, והם לא רד-האט שמשחררים קוד ברגע שיש להם מוצר שנרכש כמו Netscape Directory וכו'. לא מאמינים? תשוו בין הפתרון המסחרי של XenServer ל-Xen קוד פתוח.

לסיכום: יש יתרון ל-XEN ויש יתרונות ל-VMWare, אבל כשזה מגיע לביזנס, תעדוף הדברים שונה.

וירטואליזציה, "ענן פנימי", ושטויות במיץ עגבניות

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

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

יצא לי היום לקבל את המייל היומי מ-LinkedIn ושם מצאתי את הלינק הזה של PConLine, על "תחקיר" בנושא "מחשוב ענן פנימי".

אני רוצה להתחיל ולציין משהו מסוים: אני לא סובל חברות שמוציאות דוחו"ת עמוסי Buzz words עם מספרים מומצאים על כל מיני "עתידות". אני חושב שאם מנמ"ר כלשהו סומך על דוחו"ת כאלו ומתכנן לפיהם את העתיד הטכנולוגי של החברה שהוא עובד בה, הוא שם את תקציב החברה על קרן הצבי, על כל המשתמע מכך. מישהו זוכר לדוגמא כמה חברות אלו חזו ורודות למעבדי Itanium? מה לגבי Vista? טלפונים סלולריים מבוססי Windows Mobile? בכל פעם חברות כאלו נתנו דוחו"ת עם מספרים יפים, אבל המציאות סירבה להתיישר לפי מספרים אלו. מי שהשקיע את כספו לפי תחזיות אלו – נפל.

כשהסתכלתי על תקציר הדו"ח, קלטתי כמה משפטים מעניינים. הנה ציטוטים:

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

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

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

קודם כל נבהיר מה פרויקט וירטואליזציה כן נותן ולאחר מכן מה לא תקבל כשעושים קונסולידציה (סתם דוגמא: 10 שרתים ל-2 שרתים פיזיים גדולים):

  • חסכון בחשמל
  • חסכון בהוצאות על תחזוקת חומרה
  • חסכון בהוצאות על קירור
  • אם השרתים יושבים בספק Hosting כלשהו, אז ישנו חסכון במקום (ארונות וכו')
  • חסכון בהוצאות על UPS, כבילה, מיתוג וכו'.

מה אני לא מקבל? חסכון בעבודה למנמ"ר או האיש סיסטם (תלוי בחברה):

מדוע? מכמה סיבות:

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

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

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

כשטכנולוגיה נופלת בין הכסאות

רוב הקוראים הטכניים כאן מכירים פתרונות וירטואליזציית PC כמו VMWare, Xen, KVM ועוד, ולמי שלא מכיר: הכוונה לתוכנה שמדמה 2 (או יותר) מחשבים שמריצים מערכות הפעלה דומות או שונות על המחשב המארח. מערכת ההפעלה המדומה נקראת Guest והמחשב המארח נקרא Host.

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

אינטל מכירה את הבעיה עוד ממזמן ומהנדסיה גם המציאו פתרון עוד ב-2006 לכך. הפתרון הוא מעין “תוספת” הנקראת VT-d (או איך שאינטל קוראים לזה: Intel® Virtualization Technology for Directed I/O) והוא ממומש ב-2 חלקים: ה-VT-d נמצא במעבד וה-VT-x נמצא בצ’יפ הגשר הצפוני (אפשר לקרוא על כך בהרחבה כאן)

הפתרון של אינטל, בקצרה, הוא שיטה של שימוש ב-DMA של המחשב על מנת למפות אזורי זכרון (ומכאן גם ציודים) למכונות הוירטואליות בגישה אקסלוסיבית למכונה הוירטואלית. דוגמא פשוטה: אם יש ברשותך 2 כרטיסי מסך, תוכל למפות את אחד הכרטיסים ישירות למכונה הוירטואלית, וכך תקבל ביצועים מקסימליים, תוכל להריץ משחקים, אפליקציות תלת מימדיות וכל דבר שחשקה בו נפשך מבלי להזדקק לאמולציה שתוכנת הוירטואליזציה תספק עבורך. דוגמא אחרת היא גישה אקסלוסיבית לפורטי Ethernet. כיום ההגבלה היא ברמה של תוכנת הוירטואליזציה, אבל עם VT-d ההגבלה היא ברמת ה”ברזלים”, כך שיוצא מכך שכשיש VT-d, אפשר לקבל ביצועים הרבה יותר גבוהים וגם למפות ציודי PCI וכו’ למכונות וירטואליות.

הכל טוב ויפה. ניקח מחשב רגיל (לא שרת) שנרכש בשנה, שנתיים האחרונות וניכנס ל-BIOS ונחפש את הפוקנציה הזו (היא אמורה להימצא בהגדרות של ה-North Bridge). רוב הסיכויים שאם תחפשו לא תמצאו את זה. זה קיים בחלק גדול מהלוחות שאינטל עצמה מייצרת, קיים בשרתים, קיים על מק פרו ומקבוק פרו, אבל על רוב הלוחות של שאר היצרנים זה לא נמצא. יותר גרוע: בתוכנות הוירטואליזציה גם שם התמיכה היא בעייתית, בלשון המעטה: ב-ESX (גירסאות 3.5 ומעלה) יש תמיכה ל-VT-d אבל לא ב-Workstation. ל-Xen יש תמיכה כלשהי (שמסובכת בטירוף, אגב) אבל לא ל-QEMU הרגיל. ב-Parallels יש תמיכה אך ורק בגירסא מיוחדת של התוכנה וגם אז זה רץ אך ורק על דגם מסוים של תחנת עבודה של HP. ב-KVM יש תמיכה אבל תצטרך לקמפל קרנל ולמפות ידנית את הציוד כדי “להסיר” אותו מהמכונה המארחת ולהפעיל אותו במכונה הוירטואלית.

ובכן, מדוע המצב כל כך גרוע עם VT-d? יצרני הלוחות מפנים אצבע מאשימה כלפי אינטל. כך לדוגמא חברת ASUS מדברת על כך שבשביל VT-d יש צורך ב-DMA Remappping (אותו מיפוי שכתבתי עליו פה בהתחלה) והטבלאות שאינטל מספקת ליצרני ה-BIOS וליצרנים אחרים הם בעייתיים בלשון המעטה, מה שאומר שיש לא מעט סיכוי שברגע שתפעיל את המכונה הוירטואלית, המחשב שלך כולו יתקע. אינטל מצידה דווקא לא הכניסה את טכנולוגיית ה-VT-d לכל המעבדים אלא רק למעבדי Core 2 Duo VPro ולמעבדי XEON לתחנות עבודה ושרתים. מדוע אינטל לא דחפה את הטכנולוגיה לכל המעבדי Mainstream שלה כמו שהם הכניסו את ה-VT? אה, שאלה טובה, מצוינת אפילו, אבל לאינטל אין תשובות. מצד שני, אם אתה תקנה היום מעבד כמו i7 אז הפעם זה כבר בפנים.

וכך נוצר מצב עצוב שבו יש טכנולוגיה עם פתרון לבעיות וירטואליזציה למשתמשים כבדים, אבל עקב תקלות באינטל הטכנולוגיה לא חדרה ממש לא ברמה של הסיליקון וכמעט שלא ברמה של הפתרונות וירטואליזציה הקיימים. אם אתה משתמש בתוכנה כמו VMWare Workstation או VirtualBox אז צר לי, אין תמיכה ב-VT-d כרגע, 4 שנים אחרי שאינטל המציאה (אההמ… “המציאה”.. החבר’ה ב-IBM נשפכים מצחוק) את הטכנולוגיה. אם זה לא היה עצוב, זה היה מצחיק..