כמה מילים על SDK, libvirt, KVM, VMWare – פספוסים ותחרות

לפני מספר ימים כתבתי כאן פוסט שאני מחפש אחר איש שמבין טוב ב-PERL כדי לעבוד עם ה-SDK של VMWare על פרוייקט פאנל לעסק שלי.

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

מכיוון שעכשיו חול-המועד ובימים כאלו אין הרבה עסקים, החלטתי להתעמק קצת ב-libvirt.

אם יש משהו שאפשר לאמר על libvirt זה שזו ספריה מעולה ומהפכנית. מה ש-FFMPEG עשה בתחום האודיו/וידאו, libvirt עושה בתחום הוירטואליזציה. ספריה אחת שניתנת לשימוש עם מספר שפות (JAVA, PHP, C, Python, Perl, Ruby) ודרכה אתה יכול לשלוט על המערכות וירטואליזציה בחברה שלך, ולא חשוב על מה הן מבוססות, הספריה תומכת בהכל:  Hyper-V, Xen, KVM, VMWare ועוד. כל מה שצריך זה לקמפל את הספריה עם התמיכה המתאימה (קבצי ה-RPM בנויים עם תמיכה להכל). יש גם גירסה ל-Windows (אם כי קצת יותר ישנה).

השימוש ב-virsh יכול להתבצע ב-2 דרכים: הראשונה היא דרך פקודת virsh שנותנת לך להתחבר לשרתים, להריץ פקודות ועוד. האפשרות השניה היא להשתמש ב-libvirt כספריה, להשתמש בשפה האהובה עליך ולשלוף/להכניס מידע לוירטואליזציה דרך הספריה.

הכל טוב ויפה, לא?

זהו, שלא כל כך…

הבעיה הגדולה ביותר של libvirt זה התיעוד והפיתוח שלו. הפיתוח עצמו נעשה ע"י מפתח בשם Daniel P. Berrangé, שחוץ מ-libvirt הוא עובד על עוד כמה דברים. התיעוד עצמו גרוע. כמה גרוע? רשומים פונקציות ופקודות, אבל תוכן לפקודות עצמן במסמך – אין. אם נלך לפי מספרים, וניתן ציון 80 לתיעוד של RHEL, אז הציון לתיעוד של libvirt הוא אולי 20. המסמך שקיים מדבר על 2 גרסאות אחורה, ואין שום מסמך שמציין מה ההגבלות של כל דרייבר, כך שהאפשרויות העומדות בפניך הן לחפש בגוגל ולראות אם מישהו כתב קצת הסברים על כל מיני פקודות, או להתחיל לחפור בקוד ולהבין משהו מזה. יש ספר שמדבר על KVM עם libvirt, רק שהספר בגרמנית. בא לך לסמוך על התרגום של גוגל Translate?

למען האיזון אני יכול לציין שגם התיעוד ב-SDK של VMWare לוקה בחסר. לדוגמא: אם מסתכלים על הפקודה vmcreate.pl אפשר לראות שחסרים המון פרמטרים. היכן לדוגמא הפרמטר ל-thin provisioning? מה עם כל האפשרויות של ניהול משאבים בלי resource manager? לך חפש בגוגל, אולי מישהו מצא לזה פתרון עוקף..

אבל הבעיה היותר גדולה לדעתי היא של Red Hat, חברה שכבר הרוויחה מעל מיליארד דולר ועדיין תקועה בעבודה כאילו העסק מורכב מ-3 וחצי מתכנתים. פרויקט כמו libvirt או פרוייקטים סמוכים כמו oVirt, Virt-Manager יכולים למשוך קהל לקוחות רחב, אם הפרוייקט יכתב ויתועד בצורה מקצועית. מקצועית זה אומר לא לכתוב אפליקציות דסקטופ אלא אפליקציית ווב, לשכור מהנדס עיצוב  שיפתר מהזוועה העיצובית של אותם אפליקציות, לכתוב תיעוד מלא לכל פיפס.

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

רבים טוענים "KVM חופשי ובחינם, אתה יכול להשתמש בזה". טכנית הטיעון מוצדק, אבל חברות מחפשות נוחות, קלות שימוש וכמה שפחות תחזוקה, ו-KVM שמגיע עם Fedora או Ubuntu הוא הדבר האחרון שאפשר לקרוא לו "קל". תסתכלו לדוגמא על Citrix: לקחו גירסת לינוקס, הצמידו לה את Xen, בנו GUI (שרץ על Windows בלבד כ-Client) קראו לזה XenServer והחלו לחלק אותו בחינם לכל אחד שרוצה. יש לו כמובן פונקציות רבות שנעולות לשימוש (אלא אם תרכוש רשיון), והרבה מאוד חברות משתמשות בזה . תארו לכם ש-Red Hat היו מוציאים דבר כזה בחינם (עם אפשרויות הרחבה בתשלום כמובן)? לרד-האט יש שם מוכר בשוק ובמיוחד ב-Enterprise והרבה היו מתעניינים ומנסים את המוצר..

אבל Red Hat מעדיפים למכור את ה-RHEV המוצר שקומרנט פיתחה לפני ש-Red Hat רכש אותם. לדבר הזה אין אפילו Trial כך שקשה אפילו לשפוט את המוצר מדף הסופי. פלא שהמוצר שלהם נמצא אי שם למטה מבחינת נתח שוק?

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

Comments

comments

5 תגובות בנושא “כמה מילים על SDK, libvirt, KVM, VMWare – פספוסים ותחרות

  1. חוסר תיעוד זה דבר מאכזב. אני מציע שתפתח באגים בנושא.
    Daniel P. Berrangé הוא לא המפתח היחיד של libvirt, אני מכיר עוד רבים נוספים.
    ות'אמת, השימוש בKVM עם libvirt, virt-manager וspice על פדורה 15 ומעלה הופך מכונות וירטואליות חופשיות למאוד קלות לשימוש, ואני מדבר בתור משתמש קצה.

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

    כמובן שמה שנשאר עכשיו הוא לבדוק שזה מסתדר חשבונית, ולא רק בתיאוריה…

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

      • האם לחפש משקיע חיצוני זו הדרך היחידה להרים את פרויקט התיעוד של libvirt?
        מה הסיכוי ש-RedHat יסכימו לממן את שאר ה-50% של עבודתו של מתעד (אדם פרטי, צוות, או חברת חץ-ביז) שתיעד 50% מהספריה תוך ניצול מקורות מימון אחרים (כולל sweat capital)?

  3. חשבתי לשאול אם יש מודל עסקי שיאפשר להרוויח מהפעילות של תיעוד ה-libvirt כשברור שהתיעוד עצמו ישוחרר לפי רשיון חופשי.
    והנה a, גנב-המילים, גנב לי את המילים מהמקלדת, יא מניאק אחד! 🙂 🙂

סגור לתגובות.