השינוי המהותי ש-VMware מתכננת לבצע

כנס VMWorld נערך באופן וירטואלי השנה ב-29-30/9 וכלל מגוון הרצאות, שרובם נעו על מוצרים ונושאים שב-VMWare כבר דיברו עליהם בעבר. אחד הנושאים שעבר "הכרזה מחדש" (3 פעמים! פעם אחת בשנה שעברה, פעם שניה בכנס VMworld ופעם שלישית רק לפני יומיים בכנס GTC) הוא נושא ה"DPU" (כלומר Data Processor Unit) של חברת מלאנוקס, עם מעבדי ה-Bluefield-2. חשבתי לכתוב פוסט על ה-DPU, אך מכיוון שיש עוד מספר שחקנים שהולכים להיכנס בדיוק לתחום זה עם שמות משלהם, החלטתי לכתוב פוסט יותר כללי בנושא.

תכירו – פרויקט Monterey

לפני שניכנס לפרטי הפרויקט, נסתכל על המצב הנוכחי, עוד ברמת ה-Hypervisor, ה-ESXi. כיום, ה-ESXi בעצם מריץ את כל השרותים כ-Hypervisor על מעבדי ה-X86 (ה-Xeon או EPYC) – בין אם מדובר בשרותי רשת, שרותי אחסון, אבטחה, Host Management ועוד. כל זה טוב ויפה, אך זה גוזל לא מעט משאבים מהשרת, וזה גם לא נותן מענה מלא לצרכים של הלקוחות כיום, שרוצים מהירות תקשורת יותר גבוהה, שימוש בכרטיסי FPGA וכרטיסים אחרים, חלוקה יותר טובה של נתיבי PCIe (העבודה שרוב יצרני השרתים, למעט חברת Supermicro ו-TYAN עושים בשרתים שלהם בכל הקשור ל-IOMMU, שלא לדבר על SR-IOV ומיפוי הנתיבים – היא פשוט בושה!), ועוד.

ישנה קטגוריה שלמה של כרטיסים חכמים שיכולים לבצע את כל התהליכים הללו, ובצורה הרבה יותר מאובטחת, יותר מהירה ויותר אמינה. הקטגוריה הזו נקראת SmartNIC. בדרך כלל מדובר בכרטיס רשת שכולל בתוכו מעבד ARM, אחסון Flash קטן, זכרון, ויכולות רציניות לטפל בתעבורה במהירות של 100-200 ג'יגהביט, כולל אבטחה בכל רמות התקשורת, הצפנה, שרותי אחסון NVME "על סיב" ועוד. ב-VMware עסקו בשנתיים האחרונות במיגרציה של קוד ה-ESXi ל-ARM על מנת לאפשר ל-ESXi בעצם לרוץ מהכרטיס ואותו מעבד ARM יתן את כל השרותים שה-ESXi כיום נותן – רק מבלי להשתמש במעבדי ה-X86 בשרת. מעבדי ה-X86 הנ"ל יוכלו להריץ מכונות וירטואליות, קונטיינרים, ומעתה – גם Bare Metal. תוכלו להריץ בעצם כל מערכת הפעלה על "הברזל", כאשר ה-OS יקבל את שרותי התקשורת, אחסון, ניהול וכו'  דרך ה-SmartNIC באופן שקוף. בנוסף, בעזרת ה-SmartNIC ופרויקט אחר (פרויקט Bitfusion) – נוכל גם לקבל שרותים מציוד שאינו נמצא על השרת עצמו, כמו שרותי GPU, שרותי אחסון NVME Over Fiber ועוד.

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

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

פרויקט Monterey נמצא כרגע במצב Preview, אך מי שחושב כבר לקפוץ ולהתחיל להשתמש בפירות של הפרויקט, כדאי שיעצור לרגע. כרטיסי ה-SmartNIC מתחברים בחיבור של 100-200 ג'יגהביט ומעלה, כך שסביר להניח שתצטרכו מתגים אחרים יותר מהירים ויותר יקרים. מבחינת סוגי כרטיסי SmartNIC, אין כרגע הרבה הצעות (יש את Bluefield-2 של חברת מלאנוקס, אינטל, ברודקום ועוד מספר חברות יצאו עם כרטיסים כאלו בשנה הבאה) וסביר להניח שתצטרכו גם בדרך להחליף שרתים, הואיל ויש צורך בשינויים על לוח האם, כולל שינויים מהותיים לקוד ה-UEFI שבשרתים.

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

האם ניתן להגן על מחשב נגד גניבות תוכנה?

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

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

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

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

כאן בדרך כלל כותב שורות אלו מקבל פניות (היו לא מעט כאלו) מהחברה ובה בקשה להצעת מחיר להקשחת מחשב שישלח ללקוח, החל מרמת ה-BIOS, המשך ב-OS ובכל מה שצריך, הכל על מנת שהלקוח הפוטנציאלי לא יפרוץ למכונה ויגנוב את התוכנה..

מערכות הפעלה שונות ניתנות להגנה ברמות שונות. לינוקס ניתן להקשיח בצורה הרבה יותר רצינית מאשר כל גירסת Windows. ניתן להצפין את הדיסק, ניתן לנעול BIOS/UEFI, ניתן גם לבטל אפשרות הפעלת כניסות USB, רשת וכו', אולם מהרגע שהמכונה מגיעה ללקוח הפוטנציאלי, הסיכוי שההגנות הללו ימנעו ממנו להיכנס/להעתיק – שואפים לאפס. אפשר להשתמש בטריקים רבים, אבל המקסימום שהם יגרמו, זה עיכוב בפריצה. (אגב, אני מכיר לא מעט אנשים שבטוחים שתוכנות כמו BitLocker מצפינות דיסקים בצורה יוצאת מן הכלל ולא ניתן בשום מצב לחלץ את המידע. אני ממליץ להם לקרוא את הפוסט הזה).

אז מה ניתן לעשות? לשכנע את הלקוח לנסות משהו אחר. אחת ההצעות: מכונה שתהיה זמינה Online.

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

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

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

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

האם מומלץ להעביר מערכת שלמה לענן מ-On Prem?

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

למי שלא מכיר, אחד המושגים הכי שגורים בפני כל מי שמתעסק בתחום עננים ציבורים הוא המושג "Lift & Shift", כלומר המושג מתאר מצב בו הלקוח מעביר את כל או רוב התשתית שלו מה-DC שלו אל ספק הענן בתצורה כמה שיותר זהה. לדוגמא: אם יש ללקוח 100 מכונות וירטואליות שמריצות את כל האפליקציות, הפלטפורמות ושאר דברים ב-On Prem, ב-Lift&shift מעבירים הכל "כמו שזה" (או כמעט) אל ספק הענן הציבורי שהחברה חתמה מולה, כך שבסופה של ההעברה, יש 100 (או קצת פחות) מכונות וירטואליות רצות בענן.

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

להלן הסיבה מדוע אני לא ממליץ על המהלך:

ללקוח יש 100 מכונות וירטואליות והוא מעביר אותם בתהליך lift & shift. הלקוח בעצם ישלם את מחיר המקסימום לספק הענן מבחינת ההמרה. הועברו 100 מכונות, כאשר רוב המכונות כלל אינן מנצלות את המשאבים ב-VM. מה הרווח של הלקוח ממעבר כזה? מבחינת ביצועים, אינני בטוח שפתאום יהיו ביצועים גבוהים יותר (אלא אם מעבירים מכונות VM משרתים בני יותר מ-7 שנים). מה שכן, התשלום לספק הענן יהיה הרבה יותר מסיבי: אם הגדרת 100 ג'יגהבייט דיסק וירטואלי מבוסס SSD, אתה תשלם על 100 ג'יגהבייט (במיוחד אם הגדרת את ה-Block Storage מ-SSD מהיר), גם אם השתמשת ב-10 ג'יגהבייט. בענן אין "Thin Provisioning", וכנ"ל לגבי זכרון וכח עיבוד, וכל זה עוד לפני שינויים ואופטימיזציות שהלקוח רוצה לעשות כדי לעבוד בענן..

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

  • שימוש בשרותים מנוהלים במקום מכונות VM שאתה מקים/מריץ. יצא לי לבחון לא מעט שרותים של ספקי ענן שונים ואני חייב לציין שבמרבית המקרים, השרותים של ספקי הענן נתנו ביצועים טובים. בלא מעט מקרים, אצל לקוחות שונים מריצים מכונות VM שמריצים אפליקציות שונות – אין הגדרות ואופטימיזציה טובה. דוגמא פשוטה: אצל ספקי ענן שונים אפשר לאחסן את ה-DB המנוהל באחסון זול ומכני או SSD או ב-SSD מסוג מהיר, כאשר ה-OS יושב על אחסון מסוג אחר. (בסביבות On prem, רוב מכונות ה-VM גם רצות וגם מאחסנות את ה-DB על אותו סטורג)'. נכון, זה עולה יותר, אך הביצועים גם גבוהים בצורה משמעותית, שלא לדבר על כך שכשזה מגיע להגדרות של אפליקציות שונות (שרתי Web, שרתי SQL ועוד) – אצל רבים אין ממש אופטימיזציה – שכן קיימת בשרותים המנוהלים אצל ספקי הענן.
    לכן, לפני שחושבים להעביר את אותו שרת SQL (לדוגמא) – כדאי לחשב מה העלויות של שרות זהה מנוהל עם Instance דרוש ואחסון, וזאת בהשוואה ל-VM שאתם תקימו. כדאי לקחת בחשבון גם תחזוקה והשבתה שתתרחש במקרה של VM שלכם.
  • אפליקציות עצמאיות: שרותים כמו Beanstalk, או App Service של אז'ור, או App Engine של גוגל – ושלל פתרונות זהים אחרים – שרותים אלו נותנים לך בעצם להריץ את הקוד שלך בשפה שאתה כותב – על תשתיות ספק הענן, כאשר אינך צריך להקים תשתית של VM, תשתית Load Balancing ועוד. אתה כותב קוד ומאחסן אותו בשרות כלשהו, מצמיד Webhook לשרות הנ"ל בענן, והשרות כבר ירים ויריץ את כל מה שצריך מבחינת pipelines, הוא יקמפל ויארוז מה שצריך, ויכין Instances חדשים שבחרת את גודלם. אתה לא צריך לדאוג לגבי עומסים, המערכת תדע לבצע אוטומטית Scale Out לאפליקציה שלך ותוסיף/תוריד Instances כנדרש, ותצמיד אותם ברקע לשרות Load Balancing כך שלא תפסיד בקשות מדפדפנים או ממכשירים שונים (בהתאם לאפליקציה). כאן בדיוק נמצא עקב האכילס אצל חברות רבות שמריצות אפליקציות בתשתית On-Prem (או תשתית Hosting) שמשרתות גולשים וה-Scaling שלהם הוא ידני. עם שרותים כנ"ל, אפשר להגדיר Instances קטנים ולשלם מחיר זול רק על מה שהיה בשימוש, הקץ לניחושים והערכות לגבי הקמה של יותר מדי או פחות מדי משאבים.
  • קונטיינרים: זו ה-טכנולוגיה של השנים האחרונות שחברות רבות כבר עברו להשתמש בה (ומי שלא – הסעיף לעיל רלוונטי לגביו) וכאן ספקי ענן שונים מציעים שרותי קונטיינריזציה שונים, בין אם מדובר על שרותי קונטיינר מנוהלים שאתה מחליט כמה Instances להקים/להוסיף/להוריד, ובין אם מדובר בשרותים שאתה כלל לא דואג לתשתית ובמקום זאת אתה פשוט משלם על שימוש בזכרון ובמשאבי עיבוד. השילוב של קונטיינריזציה ושימוש בתשתית של ספקי ענן ציבוריים יכול לתת פתרון עם ביצועים מעולים ולאו דווקא מאוד יקרים.

מעבר לענן ציבורי יכול לחסוך כסף, כל עוד מוכנים "לשנות את הדיסקט" בראש ולוותר על חלק משיטות העבודה מה-20+ שנה האחרונות. שיטות כמו Lift & Shift לא יעזרו הרבה ללקוח אבל הם בהחלט יעזרו לשורה התחתונה מבחינת כספים לספק הענן הציבורי שבו הלקוח משתמש. אם רוצים לעבור לענן ציבורי, אני ממליץ לחשוב על המעבר כעל פתיחת דף חדש, תוך אימוץ טכנולוגיות מודרניות ונטישה הדרגתית של טכנולוגיות Legacy.

עריכת תכני מולטימדיה – תחנות עבודה מול עבודה מרחוק

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

לשיטה כזו יש כמובן יתרונות כמו "שקט" ללקוח הרוכש, אולם יש לה גם בעיות:

  • חוק מרפי אומר שאם ידפק הדיסק הקשיח של תחנת העבודה, שחזור דרך ה-Image לעולם לא יספיק ותמיד יאבדו קבצים חשובים ספציפית לאותו עורך או קבצים חשובים אחרים שנשמרו בתחנה אך מעולם לא גובו בגיבוי המרכזי.
  • Overpowered או Underpowered – בלא מעט מקרים שיצא לי לראות, הלקוח רכש מכונה שהיא או חזקה מדי לאותו סוג עבודות, או שהיא חלשה מדי. מה לעשות, לא כולם לוקחים בחשבון חישובי Single threaded Performance לתוכנות "סוררות" כמו פוטושופ, אפטר אפקט ועוד.
  • למכונה אין גיבוי בפתרון הגיבוי המרכזי, כך שאם מישהו החליט שעכשיו זה רעיון טוב לשדרג לדוגמא את פרמייר ופתאום פרמייר כלל לא מוכן לעבוד, גם לאחד הסרת הגירסה החדשה – יהיה לנו עובד ותחנה מושבתים, וכמה שעות של עבודה כדי להחזיר את התחנה לעבודה רגילה. כנ"ל גם במקרים שיש תקלות פתאומיות (כי מישהו לחץ על OK להתקין עדכוני Windows ש..אופס, דפקו את התחנה)

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

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

  • התאמה מדויקת של מכונה וירטואלית לאותו עובד. בתחנות עבודה יש צורך לקבוע מראש כמות ליבות/זכרון/סוג GPU. במכונה וירטואלית אפשר לעומת זאת "לחתוך" כמות מדוייקת ובכך למנוע בזבוז משאבים. מעבד עם 20 ליבות לדוגמא, הוא דבר מיותר לחלוטין לפוטושופ או לאפטר אפקט.
  • אפשרות שדרוג מיידית כשצריך יותר משאבים: רבים אולי לא מודעים לכך, אבל כשעורכים סרט/וידאו, עריכה "רגילה" (חיתוך, Transitions, דברים די בסיסיים) אינה מצריכה כמו זכרון VRAM גדולה. לעומת זאת, קולוריסטים שמשתמשים ב-דה-וינצ'י ויוצרי אפקטים (באותה תוכנה) יצטרכו כמות VRAM הרבה יותר גדולה, ואת זה אפשר לקבוע פר VM.
  • מכונות ה-VM הנ"ל יגובו כל יום במסגרת גיבוי מרכזי באולפן וכך, גם במקרה של תקלת "הצילו" יהיה אפשר לחזור יום אחורה בלי בעיה תוך דקות ספורות.
  • התכנים ישבו בתוך פתרון אחסון (אין צורך במשהו סופר יקר) שגם הוא יגובה, כך שגם כאן – שום תוכן לא הולך לאיבוד ולא מסתמכים יותר על פתרונות NAS שעולים 800 שקל ב-IVORY.
  • אפשר לעבוד מכל מקום – מהלאפטופ, בגינה בחוץ, אפשר להדגים בחדרי ישיבות את העבודה ועוד ועוד.
  • קל להוסיף משאבים לשרתים: GPU? זכרונות? מעבירים את מכונות ה-VM למכונה אחרת, מוסיפים, מפעילים, יוצאים ממצב Maintenance, ואפשר לפזר את המשאבים החדשים למי שצריך.

הפתרון שאני מדבר עליו קשור ל-VMware (למען האמת, גם פתרונות מתחרים כמו Nutanix, Xen יתנו את אותו פתרון) ללא שימוש ב-VDI. החיבור עצמו יכול להתבצע דרך RDP שקיים בתוך ה-VM או דרך פתרון צד ג' כמו Parsec או Teradici. מבחינת Latency, מנסיונות שביצעתי לאחרונה, הוא נמוך מאוד.

מה לגבי עבודה מרחוק, מהבית? ובכן, בישראל, לצערי ספקי אינטרנט אוהבים "לשחק" עם רוחבי הפס (הן מצד החוות שרתים והן מצד ה-DSL/כבלים). פרמייר/דה-וינצ'י/AVID ותוכנות אחרות בעבודה מרחוק דורשים רוחבי פס די משמעותיים (20-50 מגהביט), במיוחד עם פתרונות תקשורת כמו Teradici אם מעוניינים לקבל צבעים מדוייקים לקולוריסטים – ולפחות ממה שידוע לי, לפעמים אפשר לקבל תקשורת מהירה כזו ולפעמים .. לא (מהצד של ה-DSL). את זה בכל מקרה אני חושב לבדוק בקרוב.

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

מעבדי Cooper Lake של אינטל (Xeon SP דור 3)

אינטל הציגה לאחרונה את מעבדי ה-Xeon SP דור 3. סביר להניח שאם אתם לא ממש בודקים חדשות לגבי מעבדים, לא ממש שמעתם הרבה דברים על כך, והסיבה לכך היא שהפעם אינטל החליטה לחלק את ההכרזה ל-2: מעבדים לשרתים בעלי 4 ו-8 מעבדים (שם קוד: Cooper Lake) עכשיו, ומעבדים לשרתים 1-2 מעבדים – שנה הבאה כנראה (שם קוד: Ice Lake). זו, אגב, הסיבה שרוב הגולשים כאן לא ממש שמעו מנציגי שיווק של יצרני השרתים, מכיוון שהיצרנים כמעט ולא הוציאו שרתים חדשים עם המעבדים החדשים, דגש על כמעט – כל היצרנים הגדולים הוציאו 1-2 דגמים עם תמיכה ברוב המקרים ל-4 מעבדים ותו לא (שרתים כאלו עם 8 מעבדים – הם מאוד פופולריים בסין, לא בשאר העולם).

מבחינת שינויים ושיפורים במעבדים החדשים – אין הרבה, ומה שיש, די מאכזב:

  • "פי 2 ביצועים" – כן, כשמשווים את המעבדים החדשים למעבדים מלפני 5 שנים, וגם אז – רק ב-workloads מסוימים בלבד.
  • bfloat, VNNI – אינטל מנסה שוב ושוב להיכנס לתום ה-Machine/Deep Learning/AI ומכניסה תמיכה במתודות נוספות לתמיכה בתחומים הנ"ל. הבעיה המרכזית: לקוחות רצו/רוצים/ירצו לעשות זאת דרך ה-GPU כי זה זמין (לא צריך לרכוש שרת שלם, אפשר פשוט לרכוש כרטיס), קל לשדרג (שוב, אפשר להחליף כרטיס, לא צריך להחליף שרת שלם) ויותר זול.
  • תמיכה בזכרון – אינטל סוף סוף החליטו להעלות את מהירות הזכרון הנתמך ל-3200 מגהרץ, שנה אחרי ש-AMD עשו זאת. מצד שני, כל מעבד תומך מקסימום 256 ג'יגהבייט זכרון, או איך אומרים בקומדיה "היהודים באים" – "איזה עולב".
  • תמיכה ב-Optane Persistent Memory 200. עוד משהו שלא ממש הולך איתו חזק לאינטל, אבל היי, סיבוב שלישי, אולי יצליח הפעם?

חלק מההכרזה יועד ל-SSD החדשים של אינטל, ה-D7-P5500, P5600. אלו באמת דיסקים SSD מעולים, עם בעיה קטנטנה שלא קשורה טכנית ל-SSD עצמו: בשביל לקבל ביצועים טובים, תצטרך שרתים עם … מעבדי EPYC של AMD, מכיוון שאינטל עדיין לא שחררה שום chipset שתומך ב-PCIe דור רביעי, ואותם SSD דווקא צריכים זאת כדי לתת את הביצועים המיטביים.

אחת ההפתעות לעיתונאים ולאלו שצפו בהכרזה (וקיבלו מידע מוקדם) – היתה שאינטל לא הכריזה על מעבדים חדשים עם 56 ליבות (אלו בעצם מארזים שמודבקים בהם 2 מעבדים עם 28 ליבות. מה שאינטל גיכחה על AMD – בסוף הם בעצמם עשו). ההערכה היא שאינטל בכל זאת תכריז על כך בשנה הבאה, כשהיא תכריז על Xeon SP דור 3-חלק-ב' (שם קוד: Ice Lake).

לסיכום: אני לא ממש מצליח להבין את אינטל. עם כל המשאבים שיש לחברה, עם כל מאגר המוחות העצום שעובד בחברה – זה הדור השלישי של Xeon SP שהחברה מצליחה להוציא? זה הכל? אם מעבדי ה-Ice Lake יהיו ללא תכונות חדשות, יותר ממה שאינטל מציעים ב-Cooper Lake, אני אתקשה להבין מדוע חברות ירצו לרכוש שרתים עם מעבדים כאלו, ובמקרה כזה עדיף יהיה כבר לרכוש את השרתים עם המעבדים הנוכחיים – Xeon SP דור שני או מעבדי AMD EPYC.

גישות SaaS/PaaS והגישה ההיברידית

כמעט בכל חברה יתקיים מצב בו החברה תחפש תוכנה שתבצע שרות X או שתתן שרותי פלטפורמה Y במקום "להמציא את הגלגל" מחדש בכל פעם. אם לדוגמא העסק מעוניין לשלוח איחולי חג שמח לכל הלקוחות, ניתן יכול לשכור שרותי Saas של חברה כמו Mailchimp לדוגמא ובתמורה תקבלו ממשק קל לשימוש וסיכוי מאוד גדול שכל לקוחות העסק יקבלו את המייל. מצד שני אפשר בעזרת מעט סקריפטולוגיה ושימוש באמזון SES לבצע את אותו דבר אך במחיר זול בהרבה (יכול לחסוך לא מעט אם לחברה יש מאות אלפי או מיליוני לקוחות לדוגמא). אפשר כמובן לקחת גם את האופציה החינמית ולהקים שרת מייל או להשתמש בשרת מייל מקומי כדי לשלוח את הררי האימיילים, אבל במקרים כאלו הסיכוי שהמייל יתקבל אצל כל הלקוחות הוא די קלוש – אם לא משקיעים בכל עניין של Whitelist, RBL, דבר שלוקח לא מעט זמן ומשאבים.

יותר ויותר חברות תוכנה מקצצות בהשקעה של כתיבת תוכנות והפצת כ-Stand alone המיועדות לרוץ על שרתים בתשתית מקומית של הלקוח, וזאת ממספר סיבות, הנה 2 העיקריות:

  1. עלויות תמיכה – ככל שתוכנה נמכרת כ-Stand Alone, עלות התמיכה ליצרן התוכנה תהיה גבוהה, מכיוון שיש לא מעט סיכוי שהתוכנה לא תעבוד בסביבות או מכונות שונות, הרשאות שגויות, חוסר ידע טכני של הלקוח ועוד. ככל שהתומכים הטכניים יהיו עסוקים יותר ויותר שעות בפתרון בעיות של לקוח ספציפי זה או אחר, הרווח של יצרן התוכנה ירד. אחרי הכל, אף אחד לא משלם ליצרן התוכנה אם מחלקת התמיכה השקיעה 10 שעות בפתרון בעיה אצל לקוח יחיד לדוגמא.
  2. פיראטיות – בהרבה מאוד חברות הצוות מוריד אפליקציה או פלטפורמות מסויימות למטרת Trial ומיד לאחר מכן הם מחפשים כל מיני כלים ודרכים כדי לפרוץ את ה-Trial. הרווח של יצרן התוכנה ממקרים כאלו – אפס.

מהרגע שיצרן התוכנה מציע את מוצריו כ-PaaS או SaaS, הדברים נהיים יותר קלים עבורו:

  1. אין פיראטיות
  2. עלויות התמיכה מצטמצמות משמעותית הואיל והכל רץ בתשתית וירטואלית של יצרן התוכנה בעננים שונים ומקרי התמיכה נהיים יותר ויותר פשוטים כי ניתן לשחזר את התקלות במחלקת התמיכה של יצרן התוכנה.
  3. תזרים הכנסות חודשי/שנתי רציף מהלקוחות.
  4. קצב הפיתוח מואץ יותר, באגים ופונקציונאליות חדשה נכנסת ל-Life Cycle של השרות במהירות גבוהה יותר ובכך דרישות לדברים חדשים שלקוחות מבקשים – נענים במהירות גבוהה יותר.
  5. אין צורך בתמיכת Legacy הואיל וכולם עובדים על גירסה אחת או שתי גרסאות.

אך יש גם חסרונות:

  1. עלויות תשתית הרבה יותר גבוהות בענן ציבורי. בניגוד למכירת תוכנת Stand Alone שלא מתחברת החוצה, כאן פתרון ה-Saas/PaaS יצטרך חיבור קבוע למשאבים שונים של יצרן התוכנה.
  2. אבטחת המידע צריכה להיות הרבה יותר רצינית בהשוואה למקרים של תשתית סגורה החוצה. מהרגע שמתגלה אצל יצרן כזה דליפת מידע, יש סיכוי לא רע שחלק מהלקוחות יעדיפו לנטוש ולחפש פתרון מתחרה.

אלו, פחות או יותר הסיבות שבגללן חברות תוכנה יעדיפו להציע שרותי PaaS/SaaS.

אחת הנקודות שבמקרים רבים אינני רואה התייחסות מצד אותן חברות – היא למקרים שהלקוח אינו מוכן "לעבור All In", כלומר הלקוח לא מוכן שכל ה-DATA שלו ישב בתשתית של יצרנית תוכנה ולו (ללקוח) לא תהיה שליטה על הנתונים מבחינת אבטחת מידע או בכלל מהבחינה העקרונית שזה ישב בתשתית של חברה אחרת שאין לו מושג ירוק לגביה. זו לדוגמא אחת הסיבות שחברות יעדיפו לוותר על פתרון SaaS/PaaS שמוצע רק על ענן ובמקומו הם יעדיפו פתרון שרץ מההתחלה ועד הסוף על תשתית מקומית (On Prem).

מה שלעניות דעתי אותן יצרניות תוכנה PaaS/SaaS צריכות להציע – הן את האפשרויות הבאות (אחת או יותר), משהו שהוא יותר מעין "Hybrid":

  1. ה-DATA של הלקוח יכול להיות מאוחסן On Prem עם Agent שמתחבר לענן. לשרות תהיה גישה עם הרשאות מאוד מוגבלות
  2. אם ללקוח יש חשבון בענן ציבורי כלשהו, הלקוח יוכל להגדיר אחסון אובייקטים כלשהו (S3 לדוגמא) עם הרשאות מוגבלות שינתנו בעת הפעלה ראשונית של שרות ה-SaaS/PaaS והרשאות אלו יהיו תחומים למשאבים מסויימים בלבד (נניח Bucket כלשהו)
  3. הלקוח יצטרך לבחור כבר בהתחלת שימוש ה-PaaS/SaaS את ה-Passphrase שלו (ובלבד שיהיה מורכב) ועם אותו Passphrase (ואולי יחד עם עוד מספר נתונים) יוצפן ה-DATA של הלקוח כך שגם ליצרן התוכנה לא תהיה גישה לנתונים. (אפשר כמובן במקום Passphrase יהיה אפשר להשתמש במפתחות פרטי/ציבורי יחד עם Passphrase)

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

הוירוס, עבודה מרחוק – והלאפטופ

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

מהרגע שעניין הוירוס קיבל דחיפות יותר ויותר גדולה בארץ, חברות עטו על יבואני מחשבים לרכוש לאפטופים לעובדים, בין אם מדובר ברכישה קטנה של בודדים או מאות. כל לאפטופ קיבל טיפול פירמוט והתקנת Image עם כל האפליקציות של החברה, חיבור VPN, חיבור לשיחות וידאו ועוד מספר דברים – וכך כיום רוב החברות עובדות: מרחוק, עם VPN, עם Zoom/teams/WebEx/Skype לצורך פגישות ושיחות וכו'.

וכאן גם מתחילה הבעיה הגדולה, בכל מה שקשור לאבטחת מידע: ככל שיש יותר לאפטופים מבוססי Windows/Mac שמתחברים לרשת הארגונית דרך ה-VPN, הסיכוי לפריצה – גדול עד גדול מאוד. אף קבוצה שפורצת לא מחפשת לפרוץ ישירות את התשתית הארגונית בכך שינסו לתקוף את ה-Firewall/IPS/IDS, הכל עושים "מסביב", דרך קבלני משנה, דרך לאפטופים של עובדים שלא מבינים כלום באבטחת מידע. כל מה שצריך בסופו של יום זה פשוט לפרוץ ללאפטופ שנמצא בבית במגוון שיטות, וברגע שאותו לאפטופ יהיה מחובר דרך ה-VPN, הפורץ יוכל להריץ ברקע מגוון סקריפטים כדי לסרוק/לגנוב מידע ועוד. לא מאמינים? תכירו את חברת Visser, קבלן משנה של NASA, SpaceX, Tesla ועוד מספר חברות – דרכה פרצו לאותן חברות וגנבו מידע ומאוחר יותר פרסמו אותו.

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

האם ניתן לעשות משהו בנידון? כן.

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

  1. ממבוזר – למרוכז. אחד הדברים הראשונים שצריך לעשות, הוא, מה לעשות, לעבור לפתרון VDI. עם תשתית VDI (ואני מדבר על תשתית VDI שרצה על מכונות VM, פחות על פתרונות של VDI לאפליקציות ספציפיות) אפשר להנות ממספר יתרונות:
    1. אין צורך בדרייברים שמגיעים מיצרני לאפטופים ומחשבים. בפתרון VDI מבוסס VMware לדוגמא, יש צורך בהתקנה של ה-VMware Tools וזה כבר יתקין את הדרייברים הנחוצים ותו לא. כך נחסוך בעיות של חורי אבטחה בדרייברים.
    2. הרבה יותר קל לנהל צי של מכונות וירטואליות מבחינת הקמה/כיבוי/הגדרות וכל ה-Life Cycle בהשווה לטיפול במכונה פיזית.
    3. אין צורך להתקין ערימת אפליקציות על Image. יש כלים כמו ThinApp או Enigma Virtual Box (לא להתבלבל בין זה לבין וירטואליזציית VirtualBox – אלו 2 דברים שונים) שנותנים אפשרות להריץ אפליקציות שהמשתמש צריך ללא צורך בהתקנה מראש, כך שהמשתמש יכול לקבל Image עם המינימום שבמינימום ולינקים לדברים נוספים בהתאם להרשאות ולצורך. כך אפשר להוריד את וקטור התקיפה – אין צורך בקורא PDF ישן או אפליקציות אחרות שהמשתמש לא צריך אותם.
  2. מעבר לשימוש ב-Thin Client. כן, כל לאפטופ יכול להתחבר ל-VPN בקלות, אבל אותו לאפטופ הוא מטרה מעולה וקלה מאוד לפריצה. לעומת זאת, מכשירי Thin Client טובים (Dell, HPE, Lenovo – כולם מוכרים כאלו) הם קשים יותר לפריצה הואיל והמערכת הפעלה הלינוקסאית שבתוכם מגיעה מראש כ-Read Only, וקשה יותר לפרוץ אליה מאשר ללאפטופ או לדסקטופ. אפשר לקחת את זה צעד קדימה ופשוט להשתמש במערכות כמו Stratodesk עם דיסק און קי שנחסום אותו לכתיבה – שממנו נבצע Boot, את זה הרבה יותר קשה לפרוץ.
  3. מניעת שימוש במשאבי אחסון מקומיים. מניעת אפשרות גישה לכונן C בלאפטופ המקומי יכולה לעזור בכך שגם לפורץ לא תהיה אפשרות העלאת סקריפטים וקבצים אחרים למכונת VM שהמשתמש יתחבר אליה. אפשר תמיד להקים File Server בתשתית המקומית ולמפות לכל משתמש כמה עשרות ג'יגהבייט כדיסק רשת לאחסון דברים.

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

  • אין צורך ברכישת אחסון סופר-יקר AFA עבור VDI. אפשר להשתמש עם דיסקים מקומיים ו-vSAN. הכי חשוב שהדיסק SSD המשמש לצרכי Caching יהיה SSD טוב, כמו Optane, הואיל ורוב העבודה של VDI עולה מה-Cache וכמעט שלא מהדיסקים האחרים.
  • אין צורך לרכוש כרטיסי GPU יקרים כולל מנוי חודשי ל-nVidia, כל עוד המשתמשים מבצעים עבודות בסיסיות ולא עבודות וידאו/תלת-מימד או עבודות הכרחיות.
  • מומלץ לרכוש מעבדים עם Cache גדול (מכיוון שהמעבד, בהיעדר GPU, מרנדר את התצוגה, ה-L3 Cache שלו חשוב, כמה שיותר גדול, יותר טוב). כיום מעבדי AMD EPYC כמו 7F72, 7F52, 7F32 הם מעבדים מעולים לכך (שימו לב, אלו מעבדים שהוכרזו רק שלשום, נכון לכתיבת שורות אלו, והם יוצעו למכירה ללקוחות בתחילת החודש הקרוב).
  • מומלץ לשנות/לשדרג/להחליף לרשיון "כרוך" (Bundle) ולא לרכוש עצמאית תוספת רשיון. דברו עם נציג שיווק פתרון הוירוטואליזציה שלכם.
  • אין צורך לרכוש במאות דולרים Thin Client. אפשר את הפתרון של Stratodesk (לינק למעלה) יחד עם Raspberry Pi 3/4 ובכך לחסוך יותר מ-50% מהמחיר פר חתיכה.

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

האם שווה לרכוש VxRail או Nutanix Appliance?

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

מהצד של VMWare חברת Dell מציעה מספר מערכות תחת שם המטריה VxRail. מהצד של Nutanix, כל היצרנים הגדולים מציעים קופסאות שעברו את כל מה שתיארתי לעיל והן מוכנות לקבלת הגדרות ראשוניות ולהתחלת עבודה. בשתי סוגי הפתרונות, מחכים לאיש ה-IT חיים קלים, מבטיחים היצרנים.

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

לפני שנוכל לענות על כך, ננסה להסתכל במבט על – על התשתית ב-DC המקומי של החברה. בכל ארגון גדול בדרך כלל תהיה תשתית Life cycle management כלשהי שנועדה בראש ובראשונה להציג לנו את מצב החומרה שיש ב-DC, בין אם מדובר במתגים, אחסון, שרתים, UPS וכו'. יצרניות השרתים לדוגמא כוללות גירסה פשוטה של ניהול השרת וגירסת Enterprise בתוספת תשלום. אותו ניהול יתריע בפנינו אם יש תקלת חומרה, אם יש צורך להחליף חומרה וכו'. בפתרונות אחסון יש משהו קרוב שמתריע שעלינו להחליף דיסק או להתייחס לבעיה אחרת, וכנ"ל במתגים, UPS וכו'. בדרך כלל אנחנו נחבר את כל המערכות הללו למערכת ניטור מרכזית אחת שתוציא לנו התראות לכל הדברים הנדרשים.

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

היתרון השני שעליו מדברים יצרני הקופסאות הוא ניהול הרבה יותר קל של אותן קופסאות. בקופסאות עם VxRail לדוגמא, יש את תוכנת VxRail Manager (הנה הדגמה) שנותנת לך לא רק לחבר שרת חדש ל-Cluster קיים, אלא גם להתקין תוכנות מה-Market, לתחזק את השרתים, לכבות, להדליק וכו'. אבל כפי שציינתי לעיל – חברות מעדיפות לנהל את הדברים במרוכז, כך שאם לחברה יש נניח מערכת iDrac Enterprise, עדיף לחבר את כל קופסאות ה-VxRail ל-iDrac Enterprise ולנהל משם, ולא דרך ה-VxRail Manager, ואותו דבר לגבי קופסאות שמריצות פתרון HCI של Nutanix.

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

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

לעומת זאת, למי לא כדאי לרכוש את הקופסאות הללו:

  • אם יש בחברה ידע רציני לגבי אותו פתרון HCI, אז קופסאות כאלו הן לא יותר מבזבוז כספים. לחבר שרת ל-Cluster קיים של vSAN לא לוקח יותר מחצי שעה עבודה (למישהו מקצועי). עדיף לרכוש שרתים רגילים שאותם אפשר בהמשך הדרך להרחיב ולייעד לצרכים אחרים אם יהיה צורך בכך.
  • אם הפרש המחירים גבוה מדי בין שרת רגיל לבין קופסא – אז עדיף ללקוחות לרכוש או להשמיש שרתים קיימים ולרכוש את התוכנה לפי ליבות או מעבדים (תלוי בפתרון ה-HCI)

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

הכנות לסיטואציית בידוד

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

בקיצור – צריך להכין את התשתית לעבודה מרחוק, עם כמות מאוד גדולה של משתמשים, דבר שברוב החברות לא היה בעבר ולכן אולי כדאי לעבור על הנקודות הבאות:

  • רוחב פס: יש לכם 100 מגה או 1 ג'יגה או יותר – רוחב פס לחיבור לאינטרנט, ועליו אתם מחברים משתמשים דרך VPN. גם אם יש לכם 1 ג'יגה, זה לא אומר שיש לכם 1 ג'יגה נטו ל-VPN, רחוק מכך: כל VPN מממש הצפנה בדרך משלו (עם Ciphers שונים, תלוי במעבד שיש בקופסא או מה שהוגדר ב-Appliance הוירטואלי וכו') כך שעם חיבור 1 ג'יגה לדוגמא, יכול להיות שיש לכם אולי 500-600 מגהביט ברוטו. אם יש לכם כמה עשרות משתמשים שמתחברים לחיבור כזה (ונוסיף לכך את הגלישה באינטרנט שתעבור דרך החיבור הזה) אתם תמצאו את עצמכם מהר מאוד בבעיה של איטיות גלישה/התחברות/גישה לקבצים.
    אפשר לשם הניסוי לחבר מספר משתמשים סימולטנית ל-VPN שיש ברשותכם ולנסות לבצע חישוב מהירות כמה כל משתמש מקבל ולחלק את זה תיאורתית בהמשך, אבל תצטרכו בהמשך לקחת כאופציה את העניין שתצטרכו מהר מאוד לשכור רוחב פס הרבה יותר גדול ולבדוק שהתשתית VPN שלכם יכולה לעמוד בכמות גדולה של חיבורים.
  • ענן ציבורי ו-VPN משני: אפשרות נוספת לגבי חיבורי VPN של המשתמשים, אם הקמתם כבר תשתית בענן ציבורי כלשהו (אני מדבר על השלישיה, לא על "עננים" מקומיים ישראליים) – אפשר להקים VPN בתשתית הוירטואלית, לחבר את אותה תשתית וירטואלית ב-Site to site אל ה-VPN המקומי בארץ בארץ ולאפשר למשתמשים להתחבר דרך הענן אל התשתית המקומית שלכם. אתם תשלמו על התעבורה ועל שרות ה-VPN בענן, אבל אתם תשלמו רק על השימוש, לא תשלום חודשי/שנתי.
  • העברת חלק מהתשתית לענן ציבורי: תלוי בחברה ובתשתית, בחלק מהמקרים ניתן לשכפל מספר מערכות או פשוט להעביר מספר מערכות לתשתיות וירטואליות בענן הציבורי ואותן תשתיות יתנו שרות למשתמשים מבחוץ. חשוב לדאוג לסינכרוניזציה בשני הכיוונים (בין הענן לתשתית On Prem). לעניות דעתי, כדאי לחשוב על כך.
  • בדיקת תשתיות ניטור: במשרד רואים על מסכים גדולים את התקלות, מה רץ, מה לא. בבית – לא רואים כלום, ולכן חשוב לבדוק שאפליקציות הניטור שולחות התראות דרך תשתיות חיצוניות (מייל, SMS, וואצאפ וכו') ושיש מי שיטפל בתקלות (עבודה מהבית במקרים רבים אצל לא מעט אנשים היא סיבה מצויינת "להבריז" לטובת דברים אחרים).
  • צפו לתקלות תקשורת: אם בעתיד יוכרז במדינה "עוצר" (כפי שהוכרז אתמול באיטליה), תקלות תקשורת לא יהיו "אם" אלא "מתי" (פה בישראל, אל תאמינו לשום ספק תקשורת לגבי שרידות, ראינו את זה רק לפני שבועיים כמדומני, בתשתית של בזק/מטרו) ולכן כדאי לתת את הדעת על פעילות המערכת On Prem כשאין תקשורת ומה כדאי להוציא החוצה לענן הציבורי בחשבונכם וב-VPC שלכם שימשיך לעבוד.

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

בהצלחה.

על אחסון, וירטואליזציה, ובעיות ביצועים

כמעט כל ארגון שמריץ פתרון וירטואליזציה (vSphere, Hyper-V, Xen, ואחרים) בדרך כלל משתמש בפתרון אחסון משותף לשרתים, בין אם מדובר בפתרון "הרכבה עצמית" (FreeNAS), פתרון קופסתי זול (Synology, Asustor, QNAP וכו') ובין אם מדובר במשהו קצת יותר גדול מצד חברות כמו HPE, IBM, Lenovo, Dell, NetApp, EMC וכו'. יש פתרון לכל תקציב.

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

אפשר לקטלג את סוגי התקלות ל-2 סוגים עיקריים. לסוג הראשון אני קורא "תקלות אבסולוטיות" ולסוג השני – "תקלות מעורפלות".

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

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

אני רוצה לתת דוגמא מה-LAB שלי. לפניכם צילום מסך מתוך מכונת VM ב-vSphere 6.7 שמריצה Windows 10 עם Crystal Diskmark 7. השרתים מחוברים לשרת ZFS עם 8 דיסקים מכניים ואין בו שום SSD, בחיבור 10 ג'יגהביט +SFP. על הנייר, כל מי שמבין באחסון, יאמר שהמספרים מעולים – 1.2 ג'יגהבייט קריאה/כתיבה על חיבור של 10 ג'יגהביט – זה המקסימום שאפשר לקבל.

הסיבה שהרצתי את אותה בדיקה בצילום מסך היתה קשורה לבעיה אחרת: כל מכונת VM שכיביתי או הפעלתי מחדש – עלתה בצורה מאוד איטית. זה לא היה קשור לשרתים כי לא היה עומס עליהם וגם כשביצעתי Migrate ל-VM לשרת אחרת והפעלתי מחדש, היתה אותה איטיות. בשרת ZFS לא היה שום עומס, וגם הסוויצ' לא דיווח של איטיות או הצפה כלשהי, ובכל זאת – אתם רואים את המספרים לעיל, לא רואים בעיה.

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

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

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

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

  • הדבר הראשון שאני ממליץ, זה להשתמש בכלי בשם FIO. את הקוד של הכלי הזה אני ממליץ לקמפל באופן סטטי (בשימוש הפרמטר build-static– ), לפתוח תיקיה ב-Datastore כלשהו ולהעלות את הקובץ FIO הבינארי שקומפל לשם, ולוודא שיש לו הרשאות Executable. את הקובץ נריץ דרך SSH.
    הכלי (FIO) נותן לנו למדוד את מהירות הקריאה והכתיבה שיש לנו עם מדדים ופרמטרים שונים ובכך נוכל לדעת מהי מהירות הקריאה והכתיבה בין האחסון לשרת עצמו ישירות. כך נוכל לדעת אם הבעיה קשורה בתקשורת בין האחסון לשרת ולא בין האחסון למכונת VM כלשהי. חשוב: לבצע את הבדיקה עם כמה שפחות מכונות VM רצות על אותו שרת.
  • אנחנו יכולים להשתמש באותו כלי (ולחובבי Windows – יש את IOMeter שמבוסס על הקוד של FIO. את הכלי הזה, אגב, אפשר להריץ ישירות על Windows Server פיזי אם מדובר במכונה שנותנת שרותים דרך Hyper-V) כדי למדוד את אותם דברים שמדדנו קודם – אך הפעם אנחנו נמדוד בין מכונת ה-VM לאחסון, תוך שימוש ב-Datastore ובדיסק הקשיח הוירטואלי של אותו VM. שימו לב: התוצאות יכולות להיות שונות מהתוצאות שנקבל כתוצאה מבדיקה דרך הסעיף הקודם, הואיל והתרגום לדיסק הוירטואלי גובה מספר אחוזים בביצועים.
  • אם אתם מאלו שאוהבים כמה שיותר DATA כדי לאסוף כמה שיותר תובנות, בנו לעצמכם סקריפט שמשתמש ב-FIO כדי לבצע דגימות שונות ולאסוף את הנתונים לקובץ מסוים כדי לנתח אחר כך ולבדוק דגרגציה של פתרון האחסון ועוד.
  • אם הבעיה קיימת רק עם מכונות VM מסויימות, אז הבעיה אינה ממש קשורה לתקלות באחסון אלא יותר בכח של פתרון האחסון. הגיע הזמן להחליף למשהו יותר לכיוון ה-All Flash או לפחות עם פתרון Flash לכתיבה ו-Caching.
  • זה ישמע טריוואלי – אבל תפרידו תקשורת ברמה של פורטים ואם אפשר גם ברמה של סוויצ' – בין התקשורת מהאחסון לשרתים, לבין כל שאר הדברים. אני משער שחלק מהקוראים יאמרו "מה הבעיה עם VLAN?", אין בעיה – רק שבמקרים רבים אותם אלו שמגדירים נוטים לחתוך פינות ולפעמים ההגדרות לא יהיו נכונות ולא יסייעו. מצד שני – סוויצ' 10 ג'יגה כיום הוא דבר די זול.
  • דבר אחרון – כלים רגילים שמודדים ביצועים של דיסקים מכניים או SSD לא רלוונטיים במקרים של התקלות המדוברות בפוסט זה. זה נחמד להציג תמונות (או כדי למכור ללקוחות מצגת על פתרון) אבל התוצאות לא יהיו באמת נכונות (אתם באמת חושבים שמכונת ה-ZFS  הנ"ל בפועל יכולה לכתוב 1.2 ג'יגה בשניה בשעה שאין שום SSD? לא ממש, אבל ZFS יכול "לעבוד" על VMWare ובכך אפשר להציג את התוצאות הנ"ל, אם יש מספיק RAM בשרת, ובמקרה הזה – יש, 256 ג'יגה).

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