אנשי שיווק מול אנשי מקצוע

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

ואז שאלתי: איזה פתרון וירטואליזציה אתם הולכים להריץ? הם נקבו בשם מוצר. תשובתי: זה לא ירוץ.

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

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

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

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

עוד דוגמא: חברה מסויימת פנתה אליי בקשר למוצר שהם משתמשים וכבדרך אגב אותו אדם שפנה אליי סיפר לי שגם להם יש שרתים כמו שרכשתי (X3550 M3 של IBM) והם בדיוק הולכים  לרכוש הרחבת זכרון ל-256 ג'יגהבייט. הסברתי לבחור משהו פשוט: אתה תרחיב זכרון, ותראה נחיתה של 40% בביצועים. הוא לא האמין, הנציג שמוכר לו את הזכרון לא סיפר לו כלום על כך, אז שלחתי לו מסמך של לנובו שמראה שבשרתים עם מעבדים המבוססים על פלטפורמה של Westmere או Sandy Bridge, ברגע שממלאים את הזכרון, מהירות הזכרון יורדת מ-1333 מגהרץ ל-800 מגהרץ. אז יהיה יותר RAM, אבל הגישה תהיה יותר איטית. עדיף להוסיף שרתים – וזה ההבדל בין מישהו מקצועי לאיש שיווק.

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

  1. הפתרון שלהם מתאים אולי לשנת 2000, לא לשנת 2018.
  2. אין שום גדילה אופקית בפתרונות שהציעו
  3. אין שום שרידות רצינית בפתרונות שהציעו
  4. אין שום עדכוני אבטחה בפתרונות שהציעו.
  5. ההשקעה הכספית הראשונית גבוהה.
  6. הפתרון שהצעתי לאותה חברה הוא פתרון מבוסס קונטיינרים בענן. לאותה חברה יש ספק ענן מועדף ובכל הקשור לתמחור – יש לפנות לאיש השיווק של אותו ספק ענן.

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

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

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

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

על בעיה X ופתרון Y

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

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

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

  • מה הפונקציונאליות שהוא מחפש
  • מה הפונקציונאליות שמאוד חשובה לו, ומה הפונקציונאליות שבשבילו זה יהיה "נחמד" אם קיים אך אותה פונקציונאליות אינה קריטית.
  • האם הוא מחפש פתרון Scale Up או Scale Out
  • האם הוא מחפש פתרון שישולב כ-Hyper Converge או שהוא מחפש פתרון של ברזלים נפרדים
  • ויש עוד לא מעט שאלות…

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

  • אינטגריטי – אם מישהו יבוא אליי ויבקש לדוגמא פתרון סטורג' Scale Out והדבר הכי חשוב לו זה iSCSI לדוגמא, אז אני אומר לו בפשטות שכרגע אין פתרון Scale Out בקוד פתוח (גם כמוצר מסחרי) שיש לו פתרון iSCSI ל-Scale Out בצורה טובה והוא יצטרך פתרון קנייני.
  • על מה הפתרון אמור לענות? לקוח רוצה X על מנת לפתור את בעיית Y. נעזוב לרגע את X, ונשמע מהלקוח מהו אותו Y. אין ספק, דרישותיו של הלקוח הן חשובות, אולם ברגע שמספרים לי מהו אותו Y, אז ניתן להעלות מספר פתרונות שיכולים לענות על Y וגם להתחשב בצרכי הלקוח.
    לדוגמא: ללקוח יש 20 מכונות VM שמשמשות לפיתוח והלקוח רוצה פתרון סטורג' עבורם Scale Up. במקרה כזה אני יכול להציע לדוגמא פתרונות מבוססים ZFS, בין אם כקוד פתוח נטו או מוצרים מסחריים ובהצעה שאגיש לו יוסבר מדוע הפתרון הזה טוב ויוצעו ללקוח מספר פתרונות מבוססים ZFS, כך שבסופו של דבר ה-Y הם אותם 20 מכונות VM וה-X יהיה פתרון מבוסס ZFS.

וכאן בעצם מגיעה השאלה המרכזית שלי…

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

על עלויות תמיכה של מוצרי קוד פתוח

עולם הקוד פתוח כיום נותן מגוון מוצרים הקשורים לתשתיות שונות, Software Defined, וירטואליזציה ועוד, ובמקרים רבים חברות רבות מעוניינות באותם מוצרי פרויקטים בקוד פתוח, ומדוע לא? לבצע Download, להתקין ולעבוד עם זה, בלי עלויות של רשיונות פר שנה, פר שרת, פר חיבור ופר השד-יודע-מה…

להלן מס' דוגמאות של מוצרים:

  • GlusterFS
  • Ceph
  • oVirt
  • OpenStack
  • ManageIQ
  • Kubernetes
  • OpenShift Origin

2 המוצרים הראשונים הם Software Defined Storage, השלישי והרביעי הם מוצרי וירטואליזציה, והמוצר החמישי הוא מוצר לניהול מקיף של תשתיות וירטואליזציה ועוד – מקומית ובענן ו-2 האחרונים הם לניהול קונטיינרים לכל המוצרים הללו נלווית עלות של 0 שקלים כלומר אתה יכול להיכנס לאתרים, להוריד ולהשתמש.

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

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

לכן, בדרך כלל כשמעוניינים באחד המוצרים הנ"ל לדוגמא, יש לקחת בחשבון שאם אין בחברה ידע מעמיק על המוצר או על מערכת ההפעלה (כמו במקרים שיש רק Windows ב-90% מהתשתית ואין שם אף אחד שמבין לעומק בלינוקס) – יהיה צורך ברכישת בנק שעות תמיכה שנתי על המוצר או על הפתרון ובד"כ מדובר על כמה עשרות אלפי שקלים (בין 15K ל-40K, תלוי במוצר, תלוי אם מדובר רק בתחזוקה או בהקמה, תלוי בכמות שעות ותלוי ממי רוכשים והאם יש באמת ידע לעסק שמציע פתרון או שמדובר בעסק שחותך מחירים ולוקח מישהו מהודו כך שרוב הרווח עובר אליו ולא להודי) כך שאם אין בחברה ידע – המוצר כבר לא ממש "חינם".

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

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

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

תמיכת מוצר מול הסכם בנק שעות

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

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

רמות 1-3 (ושאר רמות) הן דרך מצוינת "לחלוב" מעסקים כספים. ככל שהרמה עולה, אתה משלם יותר. בעולם הלינוקס לדוגמא, רמות לא קיימות. כשאתה קונה לדוגמא SLES או RHEL, אז אתה מקבל תמיכה על גירסת הלינוקס שרכשת (בהמשך אכנס ליתרונות ולחסרונות). אם התמיכה בחבילה שרכשת אינה מספקת לסיטואציה שלך, אז אתה יכול לרכוש שרותי Incident או Consulting (כל חברה והמושגים שלה) שבה אתה תשלם כמה מאות דולרים לשעה, ויצרן ההפצה יקדיש לך מישהו שישב על המערכת שלה למצוא מה התקלה ואיך לפתור אותה. היכן יש רמות בעולם הלינוקס? ברמת הדחיפות. אם ניקח לדוגמא את רמות התמיכה של Red Hat, נוכל לראות שיש רמות ב-SLA. רוצה שרות טלפוני? שלם 800$ פר עותק הפצה. רוצה שרות מהיר? המחיר קופץ ל-1500$ פר עותק (שוב, המחירים אינם כוללים מצבים שבהם מהנדס מוצמד לעסק שלך לפתור את הבעיה, שם התשלום ליצרן ההפצה הוא בנפרד ממה ששילמת על ההפצה).

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

כשזה מגיע לעסקים וחברות שמריצים עשרות/מאות/אלפי מכונות לינוקס לעומת זאת, אין יתרון ברכישת מנוי שנתי לתמיכה של יצרן ההפצה. בעסקים וחברות, ברוב המקרים התוכנות שמריצים על הלינוקס – הן יותר חדשות ממה שמגיעים עם ההפצה. לדוגמא, גירסת PHP שמגיעה בהפצת RHEL 7.4 היא גירסה 5.4.16 כאשר הגירסה היציבה היום לפי אתר PHP היא 7.1.10. אם תתקין את 7.1.10 על ה-RHEL ויהיו לך בעיות שה-PHP לא מצליח לרוץ, רד-האט לא תתן לך שרות הואיל והם נותנים אך ורק שרות לחבילות שהגיעו עם ההפצה עצמה, לא מ-REPO נוספים. דוגמא נוספת: רוצה להשתמש ב-NodeJS? הגירסה שקיימת היום ב-EPEL REPO היא אכן גירסת ה-LTS האחרונה, אבל שוב – מכיוון שזה REPO חיצוני, אין תמיכה רשמית מצד רד-האט.

לכן אני ממליץ לחברות לחשוב על כמה נקודות:

  • אם יש בחברתכם IT שנותן תמיכת לינוקס, ואתם חושבים במהלך השנה להכניס טכנולוגיה/פלטפורמה חדשה – קחו יעוץ חיצוני (גם אם זה לשעות בודדות) שמכיר את הטכנולוגיה החדשה. חבל שתשרפו עשרות שעות על תקלות שהיועץ החיצוני כבר מכיר.
  • אם בחברתכם יש חובה להשתמש בהפצה מקורית (RHEL או SLES) ואתם רוצים עדכונים, אז מומלץ לחשוב על רשיונות SuSE Linux Enterprise עם Expanded Support – זה יתן לכם עדכונים גם ל-RHEL וגם ל-SUSE וזה גם יותר זול מ-RHEL מבחינת רישוי שנתי.
  • כיום כמעט בכל פרויקט לינוקס, החבילות מגיעות מבחוץ (Github או REPO חיצוניים) אינן נתמכות ע"י יצרן ההפצה ולכן אם אין לכם צוות לינוקס בחברה שיכול לבצע אינטגרציה במסגרת הזמן שאתם רוצים – קחו יעוץ חיצוני (כדאי לסכם שיכתבו עבורכם תיעוד).
  • אם אתם משתמשים (או חושבים לעבור) לאובונטו, עדיף לרכוש בנק שעות חודשי ליעוץ מומחה.