השוואה: PKS מול OpenShift

יצא לי לשוחח עם לא מעט חברות שרוצות להשתמש בקונטיינרים. רבים כבר התחילו ממזמן להשתמש ב-Docker (הערה: לא הגיע הזמן להכיר ולהשתמש ב-cri-o?) והם החלו להשתמש ב-Docker-compose להרמת מספר קונטיינרים במכה אחת. חלקם מתחילים להשתמש בשרותים המנוהלים לקונטיינרים בעננים הציבוריים וחלקם רוצים פתרון On Prem ומטבע הדברים הם מתחילים לקרוא על Kubernetes וכשהם מתחילים להבין כמה הוא מורכב לתפעול (ומגירסה לגירסה זה נהיה יותר ויותר מורכב) – הם מבקשים המלצות על פתרון קל יותר להקים ולנהל אשכול Kubernetes (ובקיצור בשמו החביב: K8S).

רוב מוחלט של החברות הבינוניות והגדולות משתמשות ב-VMWare (מי שמשתמש ב-Hyper-V וירצה פתרון קל להתקנה וניהול ל-K8S – בהצלחה עם זה) ומטבע הדברים הם מעדיפים משהו מחברה גדולה וידועה כמו VMWare, ששמחה מאוד למכור להם את PKS. המוצר עצמו נמכר בשתי תמחורים שונים – פר POD (כאשר POD הוא מעין "קבוצה" כאשר כל POD מכיל קונטיינר אחד או יותר, ברוב המקרים יריצו קונטיינר עם אפליקציה ועוד קונטיינרים שמכילים אפליקציות נסמכות תחת POD אחד ואז יש גם תקשורת בין הקונטיינרים בקבוצה) או פר ליבות. זה מתחיל ב-50 PODS או ליבות. (המלצה: לא לרכוש פר POD. בכל ליבה אפשר להריץ עשרות PODs).

המתחרה העיקרי והיותר גדול ומיועד ל-Enterprise להרצת Kubernetes היא מערכת Openshift. גם היא תומכת באופן טבעי ומלא ב-VMWare (כן, כולל תמיכה ב-NSX-T), רק שבניגוד ל-PKS, היא לא מיועדת רק להקמה וניהול של Kubernetes במובן הסיסטמטי, אלא היא יותר מיועד לכל השרשרת – מרמת ההנהלה, אנשי אבטחת מידע, ומפתחים. ב-PKS אם אני רוצה להקים אפליקציה, אני צריך להשתמש ב-Cloud Foundry (או דרך ה-cli ב-kubectl), צריך במקרים רבים לכתוב קבצי YAML (ימח שמו וזכרו עם כל הקטע של רווחים!) שמצריכים ידע מספק ב-K8S. עם Openshift – יש לך Template (שתמיד אפשר לכתוב נוספים) והמתכנת עושה הכל דרך ה-Web UI. יש קטלוג מובנה שמאפשר להתחבר לאינטרנט ולהוריד אוטומטית templates נוספים והקמה של אפליקציות נוספות בכמה קליקים, יש אבטחת מידע הרבה יותר רצינית מ-PKS (בגלל זה רוב הקונטיינרים הזמינים לציבור לא ירוצו על Openshift אלא אם משנים הגדרת אבטחה שבחברה עלולים לפטר אותך אם תשנה אותה), יש גרפים וניטור מובנה, קל מאוד לשייך בין אפליקציה לשרות (נניח אפליקציית JAVA לקונטיינר אחר שמריץ MySQL – משתמשים ב-BIND בתפריט ותוך שניות ספורות המערכת תבנה את הכל) ויש עוד תוספות רבות שכלל לא קיימות ב-PKS. בקיצור, מי שיקים מערכת Openshift (קראו בהמשך על כך למי שמעוניין להתנסות אישית במחיר יקר של 0 שקלים) ויקים מערכת PKS, יראה את ההבדלים מהר מאוד. אגב, אחת האפשרויות שכיום אין ב-PKS ומאוד חשובה כשרוצים להוסיף ולהוריד מכונות וירטואליות המריצות קונטיינרים – כלל לא קיימת ב-PKS, אך קיימת בגירסת Openshift האחרונה.

וכאן אני מגיע להמלצה לא פופולרית שאני ממליץ: אל תרכשו PKS.

לא, זה לא קשור למחיר. מי שישווה בין Openshift ל-PKS יראה כי המחיר של Openshift ל-On Premise יותר יקר מ-PKS (בחלק מהמקרים, תלוי בחישובי ליבות, כמויות וכו')

הבעיה קשורה יותר ל-VMWare ולזמן הנוכחי. VMWare מציעה את PKS (גרסאות Essential, Enterprise) אבל אותה חברה גם מציעה את Tanzu Kubernetes Grid. היא מדברת על ניהול אשכולות של Kubernetes עם Tanzu Mission Control – אל תחפשו לרכוש או להוריד, זה מוצר של חברת Heptio (ש-VMWare רכשה) שעושים בו שינויים והוא כרגע בבטא ללקוחות VMware ולא זמין להורדה. יש גם את עניין ה-Health אשכול ה-K8S שלך והחלק הזה ממוצר וקוד מחברות ש-VMWare רכשה: Wavefront ו-CloudHealth.

בקיצור, VMWare מכינה איזה משהו גדול שמשולב מקוד ממקורות שונים שאמור לתת לך מענה מבחינת הקמת וניהול אשכולות K8S שונים הן מקומית והן בענן, אבל עד שזה יהיה מוכן ויציב – יקח זמן. כ-Enterprise, היציבות מאוד חשובה והדבר האחרון שאתם רוצים לעשות זה לעבור למשהו אחר השנה או שנה הבאה ולך תדע כמה זה תואם אחורה והאם המיגרציה תעבוד חלק…

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

לאלו שכן רוצים לנסות את Openshift על הדסקטופ שלהם (לא על ESXI או פתרון וירטואליזציה מרכזי, כל עוד יש לך 32 ג'יגהבייט זכרון, הגירסה המצומצמת שניתנת להורדה תופסת 16 ג'יגהבייט זכרון, לגמרי), מוזמנים לגלוש לקישור הבא. תצטרכו להירשם ל-רד-האט כדי להוריד "קוד סודי" ולהדביק אותו בזמן ההתקנה. האפליקציה נקראת Code Ready Containers והיא יכולה לרוץ על לינוקס, מק ו-Windows. המערכת משתמשת בוירטואליזציה במחשב המקומי כך שב-Windows היא תפעיל את אופציית Hyper-V. טיפ קטן: אם אתם מחוברים ל-Active Directory, תתחברו למכונה שלכם עם שם משתמש מקומי. באג ידוע.

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

אחסון: Scale Up מול Scale out (מאמר עדכון)

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

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

נתחיל בפתרון הפופולרי שיותר ויותר רוצים: פתרון Scale Out ובמקרה של VMWare מדובר כמובן ב-vSAN (עם Nutanix, Simplivity, Hyperflex הדברים מעט שונים). הדבר הראשון שצריך לקחת בחשבון זה עלות שדרוג רשיון ל-vSAN. בכל שרת שיש בו שני מעבדים, צריך לשלם כמדומני $5000 וזה רק על הרשיון, כלומר אם יש נניח 10 שרתים, אנחנו מדברים על $50K לפני שבכלל דיברנו על חומרה. אחרי שדיברנו על רשיונות, נדבר על דיסקים וסוג האחסון: Hybrid או All Flash, רובם כשהם מקבלים הצעות ל-All Flash ב-vSAN נרתעים מהמחיר אז נעבור ל-Hybrid. הדיסקים מקובצים כ-Disk Group. מבחינה טכנית, כל Disk Group יכול להכיל עד 7 דיסקים מכניים ודיסק SSD, המכניים הם ה-Capacity וה-SSD נקרא Cache. חישוב הדיסקים צריך להיות לפי רמת ה-RAID שאתם בוחרים, לפי כמות ה-Fault Domains, ה-Erasure Coding ועוד. לא מומלץ לנסות לחשב לפי Dedup מכיוון שיחס ה-Dedup הוא משתנה נעלם שמשתנה בהתאם לתוכן המאוחסן, כמות פעמים שאותם בלוקים מאוחסנים ועוד, למעוניינים – ניתן לקרוא יותר פרטים על כך כאן וכאן. נקודה חשובה לציון: VMWare גם נוטים להמליץ על דברים שייקרו את המערכת, כמו בקר RAID לכל קבוצת דיסקים (כי זה עוזר ב-Rebuild), תלוי במצב הקונפיגורציה שלכם, לא חייבים להקשיב ולרכוש. מה שכן, ותלוי בתקציב, מומלץ לרכוש SSD Mixed Intense ל-Cache (היחס קריאה כתיבה לדיסקים SSD שהם Read Intense הוא 80/20 או 75/25, ו-VMWare מבקשת 70/30 – לשיקולכם).

מכאן נעזוב את פתרונות ה-HCI ונעבור לאחסון כללי.

אין שום בעיה לאחסן 2-3 פטהבייט באחסון Scale Up. הנה לדוגמא JBOD של Western Digital שיכול לקבל עד 102 דיסקים מכניים של 12 טרהבייט ולתת כמות אחסון ברוטו של 1.2 פטהבייט. אפשר לשרשר קופסא כזו לעוד שלושה קופסאות נוספות כך שתיאורתית ניתן לאחסן ברוטו 3.6 פטהבייט. את הקופסאות האלו ניתן לחבר לשרת שמריץ את תוכנת האחסון (למען האמת, ניתן לחבר את זה כמעט לכל סטורג' חדש כיום, רק שיצרן הסטורג' לא יתמוך בכך מבחינת תמיכה ואחריות, אם כי יכול להיות שגם הוא מוכר משהו דומה) ואם רוצים – אפשר לחבר שתי קופסאות סטורג' ("ראשים") בתצורת High Availability ולקבל פתרון אחסון מעולה…

.. עד שמגיעים לבעיה המרכזית באחסוני Scale Up כאלו: אם בקר ה-SAS באחת מקופסאות ה-JBOD יתקלקל, פתרון האחסון יושבת (וכמובן השרתים המקושרים לו) ואנחנו מדברים על השבתה של מינימום 4 שעות במקרה הטוב, יום עסקים במקרה הפחות טוב, וכמה ימים במקרה הרע (מה לעשות, לא לכל יבואן יש כמה כאלו שהוא שומר בסטוק למקרה חרום, וכבר ראיתי מקרה כזה).

לכן חשוב להבין, מבחינת Scale Up, תיאורתית אפשר לאחסן בו המון, אך ככל שמכניסים יותר ויותר חלקים לפתרון (עוד בקרי RAID, עוד קופסאות JBOD וכו') הסיכוי להשבתה הוא יותר גדול, הזמן לבצע Rebuild לדיסק עם מספר דו ספרתי של טרהבייט – גודל בצורה משמעותית, ולכן מעשית – זה לא מומלץ

ב-Scale Out לעומת זאת, אפשר לשלב מספר קופסאות כמו הנ"ל בכך שנצוות קופסא מול שרת, מינימום שלושה שרתים (הכמות עולה במספר אי זוגי – 3,5,7 וכו' וכו') ואז גם אם יתקלקל JBOD, יתקלקל שרת אחסון Scale Out או שניהם ביחד – המערכת תמשיך לתת שרות. החסרון כמובן קשור לעלויות – צריך יותר שרתים יעודיים, צריך Backbone של 40 ג'יגהביט לפחות, סביר להניח שנצטרך שרת עם דיסקים SSD לצרכי Cache וכו', ולכן פתרונות כאלו מתאימים לפרויקטים גדולים כמו HPC, או Big Data ועוד, וכאן שימוש בפתרונות Scale Up לא יתן פתרון אחסון מהיר ויעיל. אותו דבר לגבי כמות אחסון – אם כל מה שאתה צריך לאחסן זה כמה עשרות או מאות בודדים (100-200) של טרהבייט, לך על Scale Up.

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

על דיסקים SSD – אחריות, ביצועים, יד שניה ועוד

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

אתחיל בנושא אחריות ו"טחינת דיסקים", מושג שמתאים לדיסקים מכניים ולא ל-SSD ואסביר מדוע.

אחריות על דיסקים נמדדת ב-2 מושגים שונים, תלוי בשוק. בשוק הביתי/סמי-פרו, היא נמדדת ב-TBW – שזה Terabyte Written, כאשר מדובר על הכמות הכוללת של מידע הנכתב על הדיסק מרגע יציאתו מפס היצור. פירמוט, חלוקה לפרטישנים, כתיבה מחדש, פירמוט מחדש, חלוקה מחדש – אינה "מאפסת" את כמות הנתונים הנכתבים על הדיסק וניתן לראות את כמות הקריאה וכתיבה על דיסק באמצעות כלים שיודעים לקרוא את ה-S.M.A.R.T בדיסק (לא חשוב אם מדובר ב-SATA, SAS, NVME). היצרן מציין כמות מסויימת ולאחריה נדלק "דגל" של WEAR out ב-S.M.A.R.T ומאותו רגע – פגה האחריות. היצרן גם מציין כמות שנות אחריות למקרה ולא מגיעים לכמות הכתיבה/שכתוב המותרת, בדרך כלל זה 3 או 5 שנים (רק בחלק קטן של הדיסקים יש אחריות ל-10 שנים, כמו לסמסונג 850 PRO)

בדיסקים ל-Enterprise המדידה היא שונה והולכת לפי DWPD, כלומר Drive Write Per Day, ובמילים פשוטות: כמה פעמים אתה יכול לכתוב על הדיסק מאפס כל יום ולמלא אותו (אף פעם לא מומלץ למלא SSD עד הסוף, תמיד מומלץ להשאיר 5-10% מחוץ לפרטישן שכותבים עליו, וזאת כדי לאפשר לבקר להזיז נתונים שנכתבים על תאים בעייתיים ובכך לתת לדיסק להמשיך לפעול כמצופה) וגם כאן יש כמות שנים לאחריות (3-5). על הנייר, במידה ותעבור את כמות ה-DWPD, דגל ה-Wear Out ב-S.M.A.R.T ידלק והאחריות תפוג.

כל מה שהזכרתי כאן – הוא "על הנייר", אבל המציאות שונה לחלוטין.

בניגוד לדיסקים מכניים, דיסקים SSD (שוב, אין זה משנה איזה חיבור, ולמעט דיסקים Optane מהקצה הגבוה – שהם אינם מבוססי NAND Flash) צריכים טמפרטורה מסויימת כדי לכתוב. בדרך כלל SSD במצב אידיאלי שלא מבצע עבודה יהיה בטמפרטורות הנעות בין 30-40 מעלות וכשמתחילים לכתוב נתונים, החום עולה, וככל שכותבים עוד ועוד נתונים (עשרות עד מאות ג'יגהבייט) החום עולה ברציפות וכשהוא מגיע בערך ל-78 מעלות ומעלה, מהירות הכתיבה יורדת משמעותית (אגב, זה קורה גם ב-Mixed Intense SSD אם כי בצורה פחות דרסטית) לעשרות מגהבייט עד קצת מעל 100 מגהבייט לשניה כשכותבים מעל 30-50 ג'יגהבייט באופן רצוף. בכתיבה אקראית/מזדמנת קצרה (עד 5-10 ג'יגהבייט, תלוי ב-SSD), ה-SSD יפעיל אלגוריתמים שונים שכל מטרתם היא לחסוך בכתיבה, כך שגם בעבודות כבדות מאוד, ב-99.99% מהמקרים לא תגיעו לכמות הכתיבה המותרת ביום (כמות הקריאה ביום אינה מוגבלת מבחינת אחריות בשום SSD), ולכן – אין זה משנה אם המערכת שלכם כותבת ביום 2 ג'יגהבייט או 300 ג'יגהבייט ביום על SSD – זה לא "טוחן" אותו (ולא תשמעו ממנו קולות כמו בדיסקים מכניים ישנים).

הדברים שכן יאיטו SSD הם:

  1. ניצול 100% מהדיסק כך שלא נשאר למערכת מקום להעברת מידע שמאוחסן בתאים דפוקים (ראו המלצה לעיל בנוגע ל-Provision).
  2. דיסקים SSD ביתיים זולים (Corsair MX300, MX500, סאנדיסק ביתיים ישנים)
  3. דיסקים SSD לא DRAM או SLC Cache שמשמש כחוצץ ל-NAND.

נקודה חשובה לגבי אחריות דיסקים (SSD או מכניים): היצרן מעניק אחריות לדיסק למשך מספר שנים המצוין (או לפי כמות כתיבות או לפני DWPD). בחברות שקונות את הדיסק מיצרן השרתים – התהליך קל ופשוט – נותנים אחד, מקבלים אחד. במקרים של קניה מאמזון – אפשר לפנות ישירות ליצרן, תצטרכו להציג חשבונית על מנת להתחיל תהליך החלפה. אצל חלק מהמוכרים בארץ של דיסקים דגמים ישנים לציוד ישן – האחריות היא מול המשווק בלבד (אולטרייד לדוגמא). בכל המקרים של החלפה מול היצרן, האחריות שתהיה על הדיסק המוחלף אינה אחריות מלאה ל-3-5 שנים אלא רק ליתרה של האחריות. לדוגמא: אם יש לנו מערכת בת 4 שנים (שקנינו אותה יחד עם הדיסקים שיש להם אחריות ל-5 שנים) ואנחנו מחליפים דיסק תקול, היצרן יתן אחריות למשך שנה בלבד (או 90 יום אם האחריות נגמרת עוד חודש נניח), ולכן במקרים כאלו אולי כדאי לשקול לקנות דיסקים חדשים.

נעבור מכאן לדיסקים SSD יד שניה: ישנם מדי פעם באתרי מכירה שונים (איביי, אמזון וכו') דיסקים משומשים של Enterprise במחיר זול ומפתה. אלו דיסקים שלא ממש יתאימו לחברות מכיוון שהיצרן לא יתן לכם כרוכשים אחריות כלשהי. מה שכן, הם יכולים להתאים למקומות ואנשים שלא אכפת להם לרכוש בזול תוך נטילת סיכון שלא תהיה אחריות. מבחינת ביצועים – לא אמורה להיות בעיה איתם. חשוב, אם אפשר, לבקש מהמוכר לראות תמונת סטטוס של ה-S.M.A.R.T לפני רכישה (בלינוקס אפשר לבדוק זאת עם smartctl, ב-Windows יש S.M.A.R.T. Monitoring Tools) ולבדוק מה הגבולות כתיבה שהיצרן ציין לגבי אותו SSD.

נקודה נוספת שחשובה הן בדיסקים NVME חדשים או יד שניה: אם אתם מחברים מספר דיסקים כ-RAID כלשהו (לא RAID-5!) ואתם מצפים לראות ב-OS מהירות כתיבה/קריאה כפול מה שכתוב על המדבקה/במפרט – תתכוננו להפתעות. Windows Server 2019 במערכת עם 12 דיסקים ב-RAID-6 לדוגמא נתנה ביצועים של … 10 ג'יגהבייט לשניה בקריאה, גם אחרי כיוונון כל הגדרה אפשרית, ובלינוקס עם ZFS יש תוצאות הרבה יותר טובות אך שאינן מגיעות למהירות המדבקה (אז אל תסמכו על JMeter).

דיסקים שכדאי לצפות לקראתם בשנה הבאה (לפי השמועות וההדלפות) – לכל אלו שצריכים דיסקים SSD NVME לעבודות כבדות (Cache, SQL) ואחרים:

  • סמסונג ZET דור שני וביצועים מאוד מרשימים בקריאה, ו-Latency שמאוד קרוב ל-DRAM
  • Optane דור שני – דיסקים יותר גדולים, פתרון יותר טוב לקירור, ביצועים בערך כמו הדור הנוכחי.
  • דיסקים SSD ל-Enterprise מבוססי QLC (כל היצרנים) זולים. עדיף לוותר, ביצועי כתיבה מחרידים!
  • שרתים עם דיסקים SSD בחיבור U.3 או מסוג Ruler. תהיו קונסרבטיביים ואל תרכשו – החברות (סמסונג, אינטל ועוד כמה) עדיין במריבות לגבי הסטנדרט. רוצים NVME? רק עם חיבור U.2 או כרטיסי PCIe.

על תחנות עבודה ומחשבי דסקטופ לעריכת תכנים

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

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

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

הבעיה שאני רואה בדרך כלל, קשורה יותר לאי התאמה של תוכנה עיקרית שתרוץ – והמחשב שיבחרו להריץ אותה.

אתן דוגמא: נניח ויש בחברה גרפיקאית שצריכה לעבוד על תוכן סטטי (תמונות, תרשימים, אילוסטרציות וכו') והחברה מעוניינת לרכוש לה תחנת עבודה טובה. אם החברה מבקשת הצעה מהמפיץ ובמפרט המוצע מופיעה שורה לגבי המעבד שמתחילה ב-Xeon – כדאי לפסול את ההצעה. מדוע? מכיוון שתוכנות כמו פוטושופ צריכות מהירות שעון כמה שיותר גבוהה, ולכן במקרה של הגרפיקאית שעורכת תכנים סטטיים, כדאי לרכוש מכונת דסקטופ (מותג או לא, לשיקולה של החברה) עם מעבד i9-9900KS של אינטל, עם 32 ג'יגהבייט זכרון ועם SSD מהיר עבור מערכת הפעלה, אפליקציות ואולי SSD נוסף לאחסון מדיה (אם אין בחברה פתרון אחסון לדוגמא).

כשזה מגיע לתכנים יותר דינמיים (אפקטים, עריכת וידאו/אודיו) בתוכנות שונות, עצמאים עם איתנות פיננסית טובה וחברות – בחרו לרכוש תחנות עבודה ממותגות עם כרטיסים יוקרתיים של nVidia ומעבדי Xeon וזכרון ECC. הבחירה הזו היתה עד לפני חודשים ספורים בחירה טובה והגיונית, אולם משהכריזה AMD על מעבדי הדור השלישי שלה לדסקטופ ול-HEDT/תחנות עבודה, הדברים השתנו. אם לדוגמא ניקח את המבחנים של חברת Puget (מבחנים שמוכרים לכל אנשי מקצוע כמבחנים אמינים בתוצאות) ונשווה את מעבדי הדסקטופ הנוכחיים של אינטל למעבדי ה-12 וה-16 ליבות של AMD, אז AMD מנצחת ב-After Effects, וב-Premiere Pro. בפרמייר, אגב, מעבד ה-3950X מייצא במהירות יותר גבוהה של 15-30% בהשוואה למעבד הדסקטופ בקצה העליון של אינטל (i9-9900K). המעבדים הנ"ל מ-AMD מיועדים לשוק ה-Desktop.

אבל מה קורה אם אנחנו רוצים להשוות מול מעבדי Xeon לתחנות עבודה ולא מול מעבדי דסקטופ? כאן AMD מציעה לשוק מעבדי Threadripper עם 24 ליבות (3960X) ו-32 ליבות (3970X). המעבדים עצמם עולים בערך כמחצית מהמחיר של אינטל מבקשת. אם נסתכל שוב במבחנים של Puget בתחום הוידאו (פרמייר, Davinci Resolve) נוכל לראות בגרפים כי ה-3970X ו-3960X נמצאים במקום הראשון והשני – בהתאמה. משהו אחד שחשוב לשים לב לגביו: אין השוואה בקישור בין מעבדי Threadripper למעבדי Xeon. אם אתם רוצים לראות השוואה מול מעבדי Xeon בקצה העליון ולא רק בעריכת וידאו, אתם מוזמנים לצפות בקליפ הזה. השוואות רשמיות יותר למעבדי Xeon יצאו בסביבות ינואר-פברואר, כש-AMD תכריז על Chipset חדש (TRX80) שמיועד לתחנות עבודה ושורה של יצרני תחנות עבודה יציגו תחנות עם מעבדי Threadripper.

ויש עוד שוק אחד למעבדים – ה-HEDT (כלומר High End Desktop). המעבדים של אינטל לסגמנט הזה הם בעצם מעבדי Xeon רק ללא תמיכת זכרון ECC, ללא תמיכה של שליטה מרחוק, ואפשר לבצע להם Overclocking. אינטל הוציאה לאחרונה את סידרת i9-109XX עם Chipset מסוג X299 (שמייצג את משפחת המעבדים Skylake-X). המקרה היחיד שבו אני ממליץ להסתכל על מערכת כזו – זה כשיש לחברה/עצמאים מערכת כזו והם רוצים לשדרג את המעבד לגירסה החדשה שאינטל הוציאה. בשאר המקרים זה לא ממש שווה את הכסף כשמשווים ביצועים מול Ryzen דסקטופ או Threadripper.

מה עם תחנות עבודות חזקות המכילות מעבדים כפולים? כאן, לצערי, התשובה תהיה: אם מדובר לעבודה של עריכת וידאו, אפקטים, אודיו וכו' – מדובר בבזבוז כספים. אף תוכנה שקיימת כיום (כולל AVID, אגב) פשוט לא יודעת לנצל כמות גדולה של ליבות (מעל 32), וגם Windows עצמו די גרוע בניהול יותר מ-32 ליבות, אז חבל לרכוש מכונה כזו. אלו מכונות שיכולות להתאים לצרכי Deep Learning, AI וכו' כשמערכת ההפעלה היא הפצת לינוקס, לא Windows.

אני רוצה לסכם את הפוסט בנקודות שחשובות לבדוק לפני רכישה:

  • מה האפליקציה (או האפליקציות) העיקרי(ות) שתרוץ/ירוצו על המחשב? כל עוד מדובר בדברים סטטיים (שאינם וידאו,אפקטים, אודיו) כדאי אולי לחשוב לרכוש מכונת דסקטופ עם המפרט שציינתי.
  • טיוב מפרט: מעבדי Xeon לא תמיד נותנים מענה במקרים בהן המכונות צריכות לייצור ברציפות הכנסות (תחנות עריכה באולפן שידור לדוגמא) וקניית מעבדים כפולים מרובי ליבות (מעל 16 פר מעבד) פשוט לא שווה את ההשקעה הכספית, ולכן כדאי לבקש מהמפיצים מפרט עם מעבד אחר. אותו דבר לגבי GPU – לא חייבים Quadro לעיבוד גרפי ואם צריכים הרבה זכרון, Titan RTX יהיה הרבה יותר זול ויעשה בדיוק את אותה עבודה במחיר יותר נמוך.
  • מחיר ומפרט: ההצעה שתוגש לכם בד"כ היא "נקודת פתיחה", תתייעצו עם מישהו מקצועי לגבי המפרט, אם ניתן לשנות ואם ניתן להוזיל, האם המחיר כולל תמיכה אצלכם במשרדים, תמיכה ביום העסקים הבא או תוך 4 שעות (SLA) וכו'.
  • אנימציה ורינדור על מחשבים (חוות רינדור): עדיף לבחור בפלטפורמות פתוחות כך שבבוא הזמן אפשר לשדרג ולקבל ביצועים יותר גבוהים בהחלפה למעבדים מהדור הבא. בחלק גדול מתחנות העבודה הממותגות ניתן לשדרג רק למעבדים מהדור הנוכחי.
  • מחשבי מותג או לא – זה לשיקולו של הלקוח, אולם לדעתי אצל עצמאים שאין להם תקציב גדול, לפעמים עדיף לקנות מחשב בהרכבה ולבחור מפרט יותר גבוה על חשבון תמיכה יקרה.

אחסון: שכבה חמה, שכבה קרה, דברים שחשוב לדעת

כל מי שקונה או קנה אכסון בוודאי שמע על המושגים "שכבה קרה" ו-"שכבה חמה". למי שאינו מכיר את המושגים: "שכבה קרה" מציינת אחסון על דיסקים מכניים איטיים או רגילים (SATA לדוגמא) ואילו ה"שכבה חמה" מציינת אחסון על דיסקים SSD.

בעבר, פתרונות אחסון של חברות כמו NetApp ו-EMC כללו בתוכן מספר שכבות:

  • שכבה מאוד מהירה – שהיתה מורכבת ממקלות זכרון בלתי נדיף (NVRAM)
  • בחלק קטן מהמקרים, שכבה מהירה נוספת – RAM מגובה סוללה
  • שכבת דיסקים SSD ("שכבה חמה")
  • שכבת דיסקים מכניים (SAS או SATA) ("שכבה קרה"

עם התפתחויות הטכנולוגיות השונות, כמעט כל היצרנים ירדו משימוש ב-NVRAM (זה יקר מאוד ליצרן הפתרון אחסון, מה שכמובן מייקר את הפתרון ללקוח הסופי ומה שמקשה בתחרות מול יצרנים אחרים), וכיום בד"כ פתרונות אחסון משולבים (דיסקים מכניים ו-SSD) כוללים שכבה חמה קטנה שמורכבת מדיסקים SSD ושאר הדיסקים הם מכניים (כיום רוב היצרנים פשוט מכניסים דיסקים SATA, חלקם עדיין מוכר דיסקים SAS), כך שבסופו של דבר, כלקוח, כל היצרנים יציעו בפניך שתי אפשרויות (עם כל מיני תוספים כמובן): מערכת אחסון "היברידית" (מכנית, SSD) או AFA (כלומר All Flash Array) שמורכבת מדיסקים SSD. משהו חדש שנכנס לשוק (ולא ראיתי עדיין אותו בארץ) הוא "היבריד SSD" (שם שאני נותן עבור פוסט זה) כאשר רוב הדיסקים הם SSD Read Intence ומספר קטן של SSD הוא NVME Mixed Intense. לחברת לנובו יש מערכת שה-SSD Mixed Intense מוחלף בדיסקים Optane של אינטל, כדי לקבל מהירויות כתיבה גבוהות (אבל אותו סטורג' ספציפי יקר מאוד – הוא מתחיל ב-7 ספרות בדולרים).

כעת נתמקד במה שנקרא בחלק מהמקרים "שכבת ה-Cache". בעבר (ועדיין בחלק מהמקרים כיום) פתרון האחסון היה כולל מספר מצומצם של דיסקים SSD די קטנים (200-400 ג'יגהבייט), מטרתם היתה אחת: לקבל את כל המידע שאמור להיכתב לתוך פתרון האחסון, לאשר ל-client שהמידע נכתב (מה שנקרא sync) וברקע להעביר את המידע לדיסקים המכניים שמטבע הדברים הם איטיים בהרבה מאותם SSD. ה-SSD שהיו אז היו דיסקים קטנים ויקרים להחריד, הואיל ותאי ה-Flash שלהם הכילו מקסימום מספר אחד בכל תא (מה שנקרא Single Level Cell, או SLC), כיום רוב מוחלט של הדיסקים מכיל Flash עם תאים שיכולים להכיל שני מספרים בכל תא (MLC) או שלושה מספרים בכל תא (TLC). הכלל הפשוט הוא שככל שמאחסנים יותר מספרים בתא, הכתיבה את התא (ובעצם אל שבבי ה-Flash ב-SSD) יותר איטיים, ולכן – כאשר חושבים לרכוש פתרון אחסון ומקבלים מפרט, חשוב מאוד לשאול מה סוג התאים ב-SSD: האם הם MLC (ונגזרותיו, בכולן מופיעות האותיות MLC) או TLC או QLC (שזה הכי איטי ולמעט ארכיבאות אני לא ממליץ אותו לשום פתרון אחסון). לא תמיד אפשר לדעת זאת הואיל וכל יצרן פתרון אחסון נותן שמות אחרים ל-SSD מהשמות שהיצרן SSD נותן למוצריו, ולכן צריך "לדוג" קצת. אפשרות אחרת לדעת – היא לבדוק האם ה-SSD הוא Read Intense או Mixed Intense (ה-Mixed Intense מתאים לעבודות שכמות הקריאה והכתיבה די שווה, ולכן הוא אידיאלי לשמש כ-Cache בפתרון אחסון). הטובים ביותר הם MLC או Mixed Intense.

זוכרים את הדיסקים הקטנים מהפיסקה הקודמת? איתם קשה לבנות Cache אלא אם רוצים לשרוף כספים כאילו אין מחר. כיום לעומת זאת, דיסקים שהם Mixed Intense שהם מעולים לצרכי Cache – יכולים לתת ביצועים מעולים לא רק בכתיבת ה-DATA מבחוץ אל תוך פתרון האחסון, אלא גם לשמש כ-"שכבה חמה". חישבו על כך: 4 דיסקים SSD בתצורת Mixed Intense בגודל 4 טרהבייט פר דיסק יתנו לנו 16 טרהבייט נטו של "שכבה חמה" (הדיסקים הללו מוגדרים בחיבור כ-RAID-0 הואיל וכל הנתונים שנמצאים שם – זמניים, ה-DATA כולו מאוחסן בשאר הדיסקים שאינם מוגדרים כ-Cache), ועם כמות כזו של Cache (שבעצם משמש כ"שכבה חמה") רוב הקריאות נתונים לדוגמא יקראו מאותם רביעיית SSD, ומכיוון שאלו דיסקים בחיבור NVME, אנחנו יכולים לקבל מהירות קריאה של 12-14 ג'יגהבייט לשניה (תיאורתית, צוואר הבקבוק שלכם במקרים כאלו יהיו הסיבים או כל סוג חיבור אחר, לא הדיסקים).

לכן, כיום, אם מישהו רוצה לפתרון האחסון שלו "שכבה חמה", והוא רוכש אחסון היברידי (מכניים ו-SSD), הוא צריך לוודא כי ישנם מספר SSD שהם Mixed Intense ואם אפשר – בחיבור NVME. אל תרכשו דיסקים SSD גדולים לצרכים כאלו (8-10 טרהבייט ומעלה) מכיוון שהם מאוד יקרים. עדיף לרכוש 4 של 4 מאשר 2 של 8 טרהבייט ושכל אותם SSD בפתרון ההיברדי מוגדרים כ-Cache (זה מה שיוגדר כברירת מחדל במערכת פתרון האחסון). במערכות AFA אין צורך בכך הואיל וגם SSD בחיבור SATA יתן מהירויות קריאה מהירות מאוד ובכך פתרון זה מייתר את הצורך ב"שכבה חמה". אגב, AFA שכולו מלא ב-SSD עם NVME יהיה תמיד "חנוק" מבחינת רוחב פס החוצה אלא אם יש Backbone של 100 ג'יגהביט ומעלה.

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

על רכישת שרתים – והחזרתם

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

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

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

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

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

שרתים זה דבר מורכב. יש משווקים רבים שבטוחים שהם מכירים מפרטים בצורה מעולה, אבל יש הרבה דברים שהם לא מכירים. אני יכול לציין דוגמא על חברת תקשורת שרכשה לפני שבועיים שרתים עם דרישה למעבדים "הטופ שבטופ" של אינטל. מה הם קיבלו? מעבדי Xeon SP דור קודם, כי בשיווק לא ידעו על הדור החדש. דוגמא אחרת: חברה מסויימת הזמינה שרת עם Optane DC (זה ה-SSD שנראה דומה למקל זכרון). מה הם קיבלו? מקל זכרון ECC.

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

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

אחסון: על דחיסה, Dedup וטריקים שיווקיים

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

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

אתאר סיטואציה: חברה רוצה לרכוש פתרון אחסון אחר ממה שיש לה כיום. בדרך כלל אנשי המכירות של חברות/מפיצים שונים ישאלו כמה נטו אחסון אתה מחפש, האם אתה מחפש All Flash או שילוב של דיסקים מכניים ודיסקים SSD שישמשו כ-Cache ועוד מספר שאלות. עד פה הכל טוב ויפה.

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

נושא ה-Dedup הוא נושא מורכב. ברמת המאקרו, Dedup זו פונקציה בסטורג' שסורקת את הבלוקים באחסון, מוצאת אלו בלוקים נמצאים יותר מפעם אחת, ומשנה את הרישום כך שאם יש לנו 10 בלוקים זהים, בלוק אחד ישאר באחסון ו-9 אחרים יקבלו הפניה (reference) לאותו בלוק, ובכך מקבלים במקרה הזה Dedup ביחס של 10:1. מכיוון שסטורג' מכיל תכנים רבים ושונים, יחס ה-Dedup משתנה בהתאם לתוכן ובד"כ יופיע יחס dedup משוקלל. תהליך ה-dedup בדרך כלל רץ מחוץ לשעות העבודה, בחלק מהפתרונות הוא "יחנוק" את משאבי העיבוד ובחלק מהפתרונות התהליך יתפוס רק כמות קטנה של זכרון ועיבוד (כמו ב-vSAN – שם התהליך תופס עד 5% ממשאבי העיבוד). אחד הדברים הראשונים שצריך לדעת כבעל הסטורג', הוא שאתה לא יכול לקבוע את יחס ה-Dedup. זה נקבע בהתאם למה שמאוחסן בסטורג' – ברמת בלוק, ווליום וכו'. (שוב, זהו תאור ברמת מאקרו).

לדוגמא: נניח ויש מערכת של VMWare ואנחנו יוצרים 3 templates של מערכות הפעלה שונות: Windows 10, Windows Server 2016, Centos 7.7. אחרי שיש לנו את ה-Templates אנחנו מקימים 10 מכונות VM מכל מערכת הפעלה, כלומר יש לנו עכשיו 30 מכונות VM – ונעצור. אם נריץ Dedup עכשיו, עוד לפני שניכנס לכל VM ונתקין אפליקציות שונות, נריץ תהליך Dedup ונקבל מספר משוקלל ל-Dedup של 10:1 ואם כל תהליך ה-Dedup ירוץ בשלמותו, אנחנו נחסוך מקום רב, אולם ברגע שנתקין אפליקציות שונות על כל VM עם הגדרות ותהליכים שונים, יחס ה-Dedup (לכשנריץ את התהליך שוב) ירד מכיוון שה-DATA שונה בין VM אחד לשני, גם כשמדובר באותן מערכות הפעלה. בגלל זה, Dedup זה דבר מעולה כשמקימים פתרון VDI – לא צריך פתרון אחסון מפלצתי.

דחיסה (Compression) לעומת זאת היא תהליך שמבוצע בצורה שונה בכל מיני פתרונות אחסון. בחלקם זה נעשה ברמת Block ובחלקם ברמת קבצים. שוב, ברמת המאקרו – המערכת לוקחת בלוק ומנסה לדחוס אותו דחיסת Lossless (כלומר שאין איבוד נתונים). אם המערכת מצליחה לבצע יחס דחיסה טוב (אם נניח גודל הבלוק הוא 128 קילובייט והיא מצליחה לדחוס אותו ל-40K) הוא ישמר כך ויפרס מחדש בכל פעם שנקרא נתונים ממנו. אם לעומת זאת, יחס הדחיסה נמוך, המערכת תעדיף כדי להשאיר ביצועים גבוהים – לא לדחוס את אותו בלוק.

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

כשזה מגיע לפתרון HCI כמו vSAN – הדברים שונים. כשמפעילים דחיסה ו-Dedup ב-vSAN, המערכת תבצע זאת בזמן שהיא מעבירה נתונים מהדיסק Cache לדיסקים המסומנים כ-Capacity ואפשר לקרוא על כך כאן. על מנת לחשב נכונה כמה דיסקים תצטרכו, אתם יכולים להשתמש במחשבון הזה (הוא מצריך רישום באתר VMWare). חשוב לקחת בחשבון דברים כמו Slack Space (זהו שטח האחסון שאינו מיועד לשמירת מכונות VM אלא ל-Snapshots ודברים אחרים ש-vSAN צריך – בדרך כלל מומלץ בערך על 25% מהשטח ברוטו). יש את המחשבון הזה שהוא הרבה יותר פשוט ומתאים יותר כדי לחשב אחסון בלבד (אל תתייחסו למחיר, הוא מיועד למי שרוצה לרכוש את ה-Appliance).

אחד הדברים החשובים כשזה מגיע לרכישה – זה שאתה מקבל את הדיסקים במחיר מופחת כחלק מחבילת האחסון שאתה רוכש. כלומר אם נניח דיסק SSD עולה $1000, סביר להניח שאיש המכירות יוריד את המחיר ל-900 או 800 דולר. לעומת זאת, אם תחזור לאותו נציג יצרן ותבקש לרכוש ממנו נניח עוד דיסקים, אתה תשלם פר דיסק יותר. נניח 1200-1400$, ולכן ההמלצה שלי היא לרכוש את כמות הדיסקים שאתה צריך כדי להגיע לכמות האחסון נטו מבלי להתייחס ל-Dedup Ratio ולדחיסה. אותו Dedup ו-Compression יעזרו לך בדחיית הרכישת דיסקים הבאה (כפי שציינתי – אני מאמין שהם יעלו לך יותר). אם תלך הפוך ותכניס מראש יחס Dedup בחישוב כמות הדיסקים שאתה מזמין ושבמציאות אולי לא תגיע אליה, תקבל בעצם כמות מופחתת של אחסון.

לסיכום: רכישת אחסון קופסא, או שדרוג ל-vSAN או Nutanix או כל פתרון HCI מסחרי הוא עסק יקר, ברוב המקרים זה יעלה כמה מאות אלפי דולרים. אל תאמינו להבטחות של אנשי מכירות, אל תתביישו לשאול שאלות, והכי חשוב: אל תיפלו להבטחות שווא (ראיתי כבר חברת השקעות שנפלה ברכישה בדיוק על הדברים הללו!). מדובר בטכנולוגיה, לא בקסמים ולכן עדיף להתייעץ לפני שמחליטים מה לרכוש.

בהצלחה.

עננים ציבוריים מקומיים מול עננים ציבוריים אמיתיים

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

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

נדמיין עתה מצב תיאורתי שבו החלטתי להתחרות בכולם. אני משיג VC נחמדים ומשכנע אותם להשקיע בעסק שלי סכום נחמד של 8 ספרות (בדולרים). אני רוכש כמה עשרות ארונות, מפזר אותם בין ספקי האינטרנט השונים בארץ, "מפוצץ" את כולם בשרתים חדשים ואני מקים בדרך SDN ו-Software defined storage מפלצתי. על כל התשתית הזו אני מקים מערכת שתתן ללקוחות דרך ממשק WEB ודרך API את השרותים הבאים:

וירטואליזציה, קונטיינרים (עצמאית, ללא צורך בהקמת מכונות וירטואליות), Serverless, הקמת "ברזלים" יעודיים ללקוח, שרותי Object Storage ו-Block Storage, שרותי NFS/CIFS יעודיים לרשת שלך בלבד, שרות רשת פרטית משלך (כמו VPC), שרותי Load Balancer, שרותי DNS, שרותי identity, שרותי Imaging למכונות VM שלך, שרותי אורקסטרציה, שרותי Messaging, שרותי התראות, שמירת משאבים וחלוקתם על ידי הלקוח, אורקסטרציית קונטיינרים, ביג דאטה, שירותי גיבוי, שחזור ו-DR, תאימות ל-EC2 (כפרוקסי), מטריקות, ניטור מלא של הכל, שרותי Event (כמו Cloud trail), שרותי Governance ושרות יחודי של Benchmarks, וכמובן – שרותי Billing ו-Chargeback – וכל זה זמין ביום הראשון. תירשם, תכניס פרטי כרטיס אשראי וצא לדרך.

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

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

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

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

לסיכום, אני ממליץ לחשוב על 2 דברים חשובים:

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

כמה מילים על חברות תוכנה ומשחקים באש

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

ה"משחק באש" שאני מדבר עליו, אם מסתכלים על הפתרונות המוצעים כ-Image או כברזל, היא לאו דווקא התוכנה שאותה חברה כתבה, אלא הפלטפורמה או הספריות שהתוכנה משתמשת (ושאותם החברה לא כתבה). מה תעשה אותה חברת יצרנית התוכנה אם מתגלה באג קריטי בפלטפורמה או באחת מהספריות ואין עדיין תיקון לאותו באג? אפשר לפנות לאתר המארח את ה-REPO של אותה תוכנה/פלטפורמה (נניח Github) ולפתוח issue, וכאן נמצאת הבעיה הכי גדולה: אין אפשרות לדעת אם יתייחסו, אם יתקנו ומתי מישהו יתקן את הבאג. יכול להיות שבאג מאוד קריטי יתוקן במהירה, אבל באגים אחרים – יקח זמן עד שיתקנו זאת, והלקוחות של המוצר הסופי לא ממש אוהבים זאת.

אני רוצה לתת דוגמא מעולם ה-appliance שאני בונה ללקוחות לפעמים. לקוח פוטנציאלי פונה אליי, מציין שהם מפתחים תוכנה XYZ והם מעוניינים שאפתח להם פתרון "סגור" – כלומר קופסא (או Image, או שניהם) שיריצו את התוכנה, שהפתרון שלי יכלול הפצת לינוקס מינימלית כולל כל מה שהם צריכים, סקריפטים לעדכון (אוטומטי או ידני), ותמיכה מלאה בכל הפונקציונאליות של הקופסא (מספר חיבורי רשת, SNMP וכו').

בדרך כלל ההסכם שלי מול חברות כאלו הוא פשוט:

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

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

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

הבעיות של היום ומחר – עם פתרונות של אתמול ושלשום

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

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

לאחר קריאת החוברת או ההמלצות – אני מחזיר תשובה לפונה, בדרך כלל התשובה תהיה אחת משלושת האופציות הבאות:

  • ההמלצות טובות ונכונות (אם יהיו לי הערות או נקודות מסויימות – אציין אותן)
  • הרעיון העקרוני בהמלצות נכון, אבל מומלץ לשלב פלטפורמות X,Y וטכנולוגיות A,B.
  • אתם שילמתם על היעוץ הזה? ברצינות? אתם נמצאים בשנות ה-90 או ה-2000 או מה?

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

להלן שתי דוגמאות, מהחודשים האחרונים:

  • חברה מסויימת רצתה להריץ פלטפורמה מסויימת על לינוקס מספר רב של פעמים. המערכת אמורה להיות פתוחה לרשת וההפניות יועברו דרך Load Balancer (אני לא יכול לפרט עקב הסכמי סודיות). היעוץ שהם קיבלו: לרכוש 18 שרתים עם מפרט די "כבד", רכישה של Load Balancer חומרתי, סטורג' מפלצתי, לכל הברזלים רשיון VMWare Enterprise.
    ההצעה שלי (שהתקבלה): במקום 18 שרתים עם מפרט כבד, 2 שרתים עם מפרט נמוך, 4 שרתים עם מפרט כבד (יחסית, הרבה זכרון), מערכת OpenShift, ושרת נוסף קטן שיריץ ESXI כדי להריץ 2 מכונות VM שמריצות Windows. סטורג' – או בניה או לרכוש משהו קטן מכיוון שאין צורך ב-IOPS רציני או כמות אחסון גדולה. הפלטפורמה תרוץ כולה על קונטיינרים, ובהתבסס על הסטטיסטיקה שנמסרה לי, אני מתקשה להאמין שתהיה צריכת משאבים של יותר מ-40% בכל השרתים.
  • חברת מדיה מסויימת רצתה לאחסן תכנים רבים ולהערכתם הם יגדלו בכל שנה בסביבות ה-100-150 טרהבייט. הדרישה – אפשרות גדילה ללא SPOF (כלומר: Single Point of Failure) ומבלי לרדת בכמות רוחב הפס הפנימי, אדרבא – אם אפשר שתהיה גדולה יותר ויותר – הם ישמחו. כאן לא היתה חברה מסויימת שנתנה יעוץ, אלא החברה ביקשה מכל מפיצי הסטורג'ים הגדולים והמוכרים בארץ, ואני התבקשתי להמליץ על אחת מההצעות.
    הבעיה: אף הצעה לא כללה פתרון אחסון Scale Out. כל ההצעות היו פחות או יותר "תוסיף מדף" ובקשר לשרידות – קנה שתי ראשים. לפיכך המלצתי הפשוטה (שהתקבלה) היתה: זרקו את ההצעות ובקשו או פתרון Scale Out או לבנות פתרון Scale Out מבוסס קוד פתוח או תוכנה סגורה שמציעות יצרני שרתים וחברות אחרות, ורשת עם Backbone של 40 ג'יגהביט שיגדלו בהמשך לכיוון ה-100 ג'יגהביט.

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

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